From 9359f080520fa1ab14b47fdce26e4b09560d51c7 Mon Sep 17 00:00:00 2001 From: Carl-Frellett <2033200993@qq.com> Date: Sun, 18 Aug 2024 16:04:18 +0800 Subject: [PATCH] =?UTF-8?q?0.1=20=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...47\232\204\345\256\236\347\224\250API.sln" | 31 ++++ .../Hint/PosHint.cs" | 55 +++++++ .../Hint/RuelHint.cs" | 53 +++++++ .../Tag/Onlycolor/API.cs" | 15 ++ .../Tag/somecolor/API.cs" | 49 ++++++ .../Tag/somecolor/TagController.cs" | 76 +++++++++ .../packages.config" | 6 + ...232\204\345\256\236\347\224\250API.csproj" | 146 ++++++++++++++++++ 8 files changed, 431 insertions(+) create mode 100644 "\345\256\207\345\256\231\346\227\240\346\225\214\350\266\205\347\272\247\347\245\236\345\250\201\351\234\270\347\216\213\351\276\231SL\347\232\204\345\256\236\347\224\250API.sln" create mode 100644 "\345\256\207\345\256\231\346\227\240\346\225\214\350\266\205\347\272\247\347\245\236\345\250\201\351\234\270\347\216\213\351\276\231SL\347\232\204\345\256\236\347\224\250API/Hint/PosHint.cs" create mode 100644 "\345\256\207\345\256\231\346\227\240\346\225\214\350\266\205\347\272\247\347\245\236\345\250\201\351\234\270\347\216\213\351\276\231SL\347\232\204\345\256\236\347\224\250API/Hint/RuelHint.cs" create mode 100644 "\345\256\207\345\256\231\346\227\240\346\225\214\350\266\205\347\272\247\347\245\236\345\250\201\351\234\270\347\216\213\351\276\231SL\347\232\204\345\256\236\347\224\250API/Tag/Onlycolor/API.cs" create mode 100644 "\345\256\207\345\256\231\346\227\240\346\225\214\350\266\205\347\272\247\347\245\236\345\250\201\351\234\270\347\216\213\351\276\231SL\347\232\204\345\256\236\347\224\250API/Tag/somecolor/API.cs" create mode 100644 "\345\256\207\345\256\231\346\227\240\346\225\214\350\266\205\347\272\247\347\245\236\345\250\201\351\234\270\347\216\213\351\276\231SL\347\232\204\345\256\236\347\224\250API/Tag/somecolor/TagController.cs" create mode 100644 "\345\256\207\345\256\231\346\227\240\346\225\214\350\266\205\347\272\247\347\245\236\345\250\201\351\234\270\347\216\213\351\276\231SL\347\232\204\345\256\236\347\224\250API/packages.config" create mode 100644 "\345\256\207\345\256\231\346\227\240\346\225\214\350\266\205\347\272\247\347\245\236\345\250\201\351\234\270\347\216\213\351\276\231SL\347\232\204\345\256\236\347\224\250API/\345\256\207\345\256\231\346\227\240\346\225\214\350\266\205\347\272\247\347\245\236\345\250\201\351\234\270\347\216\213\351\276\231SL\347\232\204\345\256\236\347\224\250API.csproj" diff --git "a/\345\256\207\345\256\231\346\227\240\346\225\214\350\266\205\347\272\247\347\245\236\345\250\201\351\234\270\347\216\213\351\276\231SL\347\232\204\345\256\236\347\224\250API.sln" "b/\345\256\207\345\256\231\346\227\240\346\225\214\350\266\205\347\272\247\347\245\236\345\250\201\351\234\270\347\216\213\351\276\231SL\347\232\204\345\256\236\347\224\250API.sln" new file mode 100644 index 0000000..942128b --- /dev/null +++ "b/\345\256\207\345\256\231\346\227\240\346\225\214\350\266\205\347\272\247\347\245\236\345\250\201\351\234\270\347\216\213\351\276\231SL\347\232\204\345\256\236\347\224\250API.sln" @@ -0,0 +1,31 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.11.35103.136 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "宇宙无敌超级神威霸王龙SL的实用API", "宇宙无敌超级神威霸王龙SL的实用API\宇宙无敌超级神威霸王龙SL的实用API.csproj", "{00EA1890-5A51-4576-B38B-7284344185C2}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Debug|x64 = Debug|x64 + Release|Any CPU = Release|Any CPU + Release|x64 = Release|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {00EA1890-5A51-4576-B38B-7284344185C2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {00EA1890-5A51-4576-B38B-7284344185C2}.Debug|Any CPU.Build.0 = Debug|Any CPU + {00EA1890-5A51-4576-B38B-7284344185C2}.Debug|x64.ActiveCfg = Debug|x64 + {00EA1890-5A51-4576-B38B-7284344185C2}.Debug|x64.Build.0 = Debug|x64 + {00EA1890-5A51-4576-B38B-7284344185C2}.Release|Any CPU.ActiveCfg = Release|Any CPU + {00EA1890-5A51-4576-B38B-7284344185C2}.Release|Any CPU.Build.0 = Release|Any CPU + {00EA1890-5A51-4576-B38B-7284344185C2}.Release|x64.ActiveCfg = Release|x64 + {00EA1890-5A51-4576-B38B-7284344185C2}.Release|x64.Build.0 = Release|x64 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {8658499F-443D-4D7A-8E62-81D511E13E39} + EndGlobalSection +EndGlobal diff --git "a/\345\256\207\345\256\231\346\227\240\346\225\214\350\266\205\347\272\247\347\245\236\345\250\201\351\234\270\347\216\213\351\276\231SL\347\232\204\345\256\236\347\224\250API/Hint/PosHint.cs" "b/\345\256\207\345\256\231\346\227\240\346\225\214\350\266\205\347\272\247\347\245\236\345\250\201\351\234\270\347\216\213\351\276\231SL\347\232\204\345\256\236\347\224\250API/Hint/PosHint.cs" new file mode 100644 index 0000000..7c9a98d --- /dev/null +++ "b/\345\256\207\345\256\231\346\227\240\346\225\214\350\266\205\347\272\247\347\245\236\345\250\201\351\234\270\347\216\213\351\276\231SL\347\232\204\345\256\236\347\224\250API/Hint/PosHint.cs" @@ -0,0 +1,55 @@ +using Exiled.API.Features; +using MEC; +using RueI.Displays; +using RueI.Elements; +using System.Collections.Generic; + +namespace 宇宙无敌超级神威霸王龙SL的实用API.hint +{ + public static class PosRuelHint + { + public static class 显示中心 + { + private static Dictionary 显示 = new Dictionary(); + + public static Display GetOrCreateDisplay(ReferenceHub hub) + { + if (!显示.ContainsKey(hub)) + { + 显示[hub] = new Display(hub); + } + return 显示[hub]; + } + } + + public static void PosHint(this Player 玩家, float 位置, string 文本, bool 是否启用日志 = true, int 时间 = 5) + { + if (玩家 != null && 玩家.ReferenceHub != null) + { + Display 显示 = 显示中心.GetOrCreateDisplay(玩家.ReferenceHub); + + float 向下的位置 = -显示.Elements.Count * 30f; + + SetElement 元素 = new SetElement(位置 + 向下的位置, 文本) + { + Position = 位置 + 向下的位置, + Enabled = 是否启用日志, + }; + + 显示.Elements.Add(元素); + + 显示.Update(); + + Timing.CallDelayed(时间, () => + { + 显示.Elements.Remove(元素); + 显示.Update(); + }); + if (是否启用日志 == true) + { + GameCore.Console.AddLog($"JBAPI.Hint调用", UnityEngine.Color.gray); + } + } + } + } +} diff --git "a/\345\256\207\345\256\231\346\227\240\346\225\214\350\266\205\347\272\247\347\245\236\345\250\201\351\234\270\347\216\213\351\276\231SL\347\232\204\345\256\236\347\224\250API/Hint/RuelHint.cs" "b/\345\256\207\345\256\231\346\227\240\346\225\214\350\266\205\347\272\247\347\245\236\345\250\201\351\234\270\347\216\213\351\276\231SL\347\232\204\345\256\236\347\224\250API/Hint/RuelHint.cs" new file mode 100644 index 0000000..204d5d7 --- /dev/null +++ "b/\345\256\207\345\256\231\346\227\240\346\225\214\350\266\205\347\272\247\347\245\236\345\250\201\351\234\270\347\216\213\351\276\231SL\347\232\204\345\256\236\347\224\250API/Hint/RuelHint.cs" @@ -0,0 +1,53 @@ +using Exiled.API.Features; +using MEC; +using RueI.Displays; +using RueI.Elements; +using System.Collections.Generic; + +namespace 宇宙无敌超级神威霸王龙SL的实用API.hint +{ + public static class _RuelHint + { + public static class 显示中心 + { + private static Dictionary 显示 = new Dictionary(); + + public static Display GetOrCreateDisplay(ReferenceHub hub) + { + if (!显示.ContainsKey(hub)) + { + 显示[hub] = new Display(hub); + } + return 显示[hub]; + } + } + + public static void RuelHint(this Player 玩家, float 位置, string 文本, bool 是否启用日志 = true, int 时间 = 5) + { + if (玩家 != null && 玩家.ReferenceHub != null) + { + Display 显示 = 显示中心.GetOrCreateDisplay(玩家.ReferenceHub); + + SetElement 元素 = new SetElement(位置, 文本) + { + Position = 位置, + Enabled = 是否启用日志, + }; + + 显示.Elements.Add(元素); + + 显示.Update(); + + Timing.CallDelayed(时间, () => + { + 显示.Elements.Remove(元素); + 显示.Update(); + }); + if (是否启用日志 == true) + { + GameCore.Console.AddLog($"JBAPI.Hint调用", UnityEngine.Color.gray); + } + } + } + } +} diff --git "a/\345\256\207\345\256\231\346\227\240\346\225\214\350\266\205\347\272\247\347\245\236\345\250\201\351\234\270\347\216\213\351\276\231SL\347\232\204\345\256\236\347\224\250API/Tag/Onlycolor/API.cs" "b/\345\256\207\345\256\231\346\227\240\346\225\214\350\266\205\347\272\247\347\245\236\345\250\201\351\234\270\347\216\213\351\276\231SL\347\232\204\345\256\236\347\224\250API/Tag/Onlycolor/API.cs" new file mode 100644 index 0000000..d9da64f --- /dev/null +++ "b/\345\256\207\345\256\231\346\227\240\346\225\214\350\266\205\347\272\247\347\245\236\345\250\201\351\234\270\347\216\213\351\276\231SL\347\232\204\345\256\236\347\224\250API/Tag/Onlycolor/API.cs" @@ -0,0 +1,15 @@ +using Exiled.API.Features; + +namespace 宇宙无敌超级神威霸王龙SL的实用API.Tag +{ + public static class Onlycolor + { + public static void ORTag(this Player 玩家, string 文本, string 颜色) + { + 玩家.RankName = 文本; + 玩家.RankColor = 颜色; + + GameCore.Console.AddLog($"JBAPI.Onlycolor调用 玩家 {玩家.Nickname} ({玩家.UserId})", UnityEngine.Color.gray); + } + } +} diff --git "a/\345\256\207\345\256\231\346\227\240\346\225\214\350\266\205\347\272\247\347\245\236\345\250\201\351\234\270\347\216\213\351\276\231SL\347\232\204\345\256\236\347\224\250API/Tag/somecolor/API.cs" "b/\345\256\207\345\256\231\346\227\240\346\225\214\350\266\205\347\272\247\347\245\236\345\250\201\351\234\270\347\216\213\351\276\231SL\347\232\204\345\256\236\347\224\250API/Tag/somecolor/API.cs" new file mode 100644 index 0000000..eac32c4 --- /dev/null +++ "b/\345\256\207\345\256\231\346\227\240\346\225\214\350\266\205\347\272\247\347\245\236\345\250\201\351\234\270\347\216\213\351\276\231SL\347\232\204\345\256\236\347\224\250API/Tag/somecolor/API.cs" @@ -0,0 +1,49 @@ +using Exiled.API.Features; +using UnityEngine; +using 宇宙无敌超级神威霸王龙SL的实用API.UnityScript; + +namespace 宇宙无敌超级神威霸王龙SL的实用API +{ + public static class somecolor + { + private static readonly string[] 颜色 = new[] + { + "pink", "red", "brown", "silver", + "light_green", "crimson", "cyan", + "aqua","deep_pink","tomato", + "yellow","magenta","blue_green", + "orange","lime","green", + "emerald","carmine","nickel", + "mint","army_green","pumpkin" + }; + + public static void RTag(this Player 玩家, string 文本, bool 是否启用) + { + 玩家.RankName = 文本; + + if (!是否启用) + { + var 神威 = 玩家.GameObject.GetComponent(); + if (神威 != null) + { + Object.Destroy(神威); + } + + 玩家.RankColor = "red"; + + return; + } + + var 霸王龙 = 玩家.GameObject.GetComponent(); + + GameCore.Console.AddLog($"JBAPI.somecolor调用 玩家 {玩家.Nickname} ({玩家.UserId})",UnityEngine.Color.gray); + + if (霸王龙 == null) + { + 霸王龙 = 玩家.GameObject.AddComponent(); + 霸王龙.Colors = 颜色; + 霸王龙.Interval = 0.5f;//孩子,时间越快服务器越容易崩,如果你改了,服务器爆炸概不负责 + } + } + } +} diff --git "a/\345\256\207\345\256\231\346\227\240\346\225\214\350\266\205\347\272\247\347\245\236\345\250\201\351\234\270\347\216\213\351\276\231SL\347\232\204\345\256\236\347\224\250API/Tag/somecolor/TagController.cs" "b/\345\256\207\345\256\231\346\227\240\346\225\214\350\266\205\347\272\247\347\245\236\345\250\201\351\234\270\347\216\213\351\276\231SL\347\232\204\345\256\236\347\224\250API/Tag/somecolor/TagController.cs" new file mode 100644 index 0000000..8ac4e2a --- /dev/null +++ "b/\345\256\207\345\256\231\346\227\240\346\225\214\350\266\205\347\272\247\347\245\236\345\250\201\351\234\270\347\216\213\351\276\231SL\347\232\204\345\256\236\347\224\250API/Tag/somecolor/TagController.cs" @@ -0,0 +1,76 @@ +using System.Collections; +using UnityEngine; +using Exiled.API.Features; +using System; + +namespace 宇宙无敌超级神威霸王龙SL的实用API.UnityScript +{ + public class TagController : MonoBehaviour + { + private Player player; + private int positionIndex = 0; + private string[] colors = Array.Empty(); + private float timer = 0f; + + public string[] Colors + { + get => colors; + set + { + colors = value ?? Array.Empty(); + positionIndex = 0; + } + } + + public float Interval { get; set; } + + void Awake() + { + player = Player.Get(gameObject); + + if (player == null) + { + Destroy(this); + return; + } + + StartCoroutine(InitializeColorChange()); + } + + IEnumerator InitializeColorChange() + { + yield return new WaitForSeconds(0.5f); + + SetNextColor(); + } + + void Update() + { + timer += Time.deltaTime; + + if (timer >= Interval) + { + SetNextColor(); + timer %= Interval; + } + } + + void SetNextColor() + { + var nextColor = RollNext(); + if (!string.IsNullOrEmpty(nextColor)) + player.RankColor = nextColor; + } + + public string RollNext() + { + if (colors.Length == 0) + return string.Empty; + + positionIndex++; + if (positionIndex >= colors.Length) positionIndex = 0; + + return colors[positionIndex]; + } + } +} diff --git "a/\345\256\207\345\256\231\346\227\240\346\225\214\350\266\205\347\272\247\347\245\236\345\250\201\351\234\270\347\216\213\351\276\231SL\347\232\204\345\256\236\347\224\250API/packages.config" "b/\345\256\207\345\256\231\346\227\240\346\225\214\350\266\205\347\272\247\347\245\236\345\250\201\351\234\270\347\216\213\351\276\231SL\347\232\204\345\256\236\347\224\250API/packages.config" new file mode 100644 index 0000000..fbabc14 --- /dev/null +++ "b/\345\256\207\345\256\231\346\227\240\346\225\214\350\266\205\347\272\247\347\245\236\345\250\201\351\234\270\347\216\213\351\276\231SL\347\232\204\345\256\236\347\224\250API/packages.config" @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git "a/\345\256\207\345\256\231\346\227\240\346\225\214\350\266\205\347\272\247\347\245\236\345\250\201\351\234\270\347\216\213\351\276\231SL\347\232\204\345\256\236\347\224\250API/\345\256\207\345\256\231\346\227\240\346\225\214\350\266\205\347\272\247\347\245\236\345\250\201\351\234\270\347\216\213\351\276\231SL\347\232\204\345\256\236\347\224\250API.csproj" "b/\345\256\207\345\256\231\346\227\240\346\225\214\350\266\205\347\272\247\347\245\236\345\250\201\351\234\270\347\216\213\351\276\231SL\347\232\204\345\256\236\347\224\250API/\345\256\207\345\256\231\346\227\240\346\225\214\350\266\205\347\272\247\347\245\236\345\250\201\351\234\270\347\216\213\351\276\231SL\347\232\204\345\256\236\347\224\250API.csproj" new file mode 100644 index 0000000..835b1a6 --- /dev/null +++ "b/\345\256\207\345\256\231\346\227\240\346\225\214\350\266\205\347\272\247\347\245\236\345\250\201\351\234\270\347\216\213\351\276\231SL\347\232\204\345\256\236\347\224\250API/\345\256\207\345\256\231\346\227\240\346\225\214\350\266\205\347\272\247\347\245\236\345\250\201\351\234\270\347\216\213\351\276\231SL\347\232\204\345\256\236\347\224\250API.csproj" @@ -0,0 +1,146 @@ + + + + + Debug + AnyCPU + {00EA1890-5A51-4576-B38B-7284344185C2} + Library + Properties + 宇宙无敌超级神威霸王龙SL的实用API + 宇宙无敌超级神威霸王龙SL的实用API + v4.8.1 + 512 + true + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + true + bin\x64\Debug\ + DEBUG;TRACE + full + x64 + 7.3 + prompt + + + bin\x64\Release\ + TRACE + true + pdbonly + x64 + 7.3 + prompt + + + + ..\..\DSPlugin\Managed\Assembly-CSharp.dll + False + + + ..\..\DSPlugin\Managed\Assembly-CSharp-firstpass.dll + False + + + ..\packages\EXILEDOFFICIAL.8.11.0\lib\net48\CommandSystem.Core.dll + False + + + ..\packages\EXILEDOFFICIAL.8.11.0\lib\net48\Exiled.API.dll + False + + + ..\packages\EXILEDOFFICIAL.8.11.0\lib\net48\Exiled.CreditTags.dll + False + + + ..\packages\EXILEDOFFICIAL.8.11.0\lib\net48\Exiled.CustomItems.dll + False + + + ..\packages\EXILEDOFFICIAL.8.11.0\lib\net48\Exiled.CustomRoles.dll + False + + + ..\packages\EXILEDOFFICIAL.8.11.0\lib\net48\Exiled.Events.dll + False + + + ..\packages\EXILEDOFFICIAL.8.11.0\lib\net48\Exiled.Loader.dll + False + + + ..\packages\EXILEDOFFICIAL.8.11.0\lib\net48\Exiled.Permissions.dll + False + + + ..\..\DSPlugin\Managed\Mirror.dll + False + + + ..\packages\EXILEDOFFICIAL.8.11.0\lib\net48\NorthwoodLib.dll + False + + + ..\packages\EXILEDOFFICIAL.8.11.0\lib\net48\PluginAPI.dll + False + + + ..\packages\RueI.2.1.0\lib\net48\RueI.dll + False + + + + + + + + + + + ..\..\DSPlugin\Managed\UnityEngine.dll + False + + + ..\..\DSPlugin\Managed\UnityEngine.CoreModule.dll + False + + + ..\..\DSPlugin\Managed\UnityEngine.PhysicsModule.dll + False + + + ..\packages\EXILEDOFFICIAL.8.11.0\lib\net48\YamlDotNet.dll + False + + + + + + + + + + + + + + + + \ No newline at end of file