From ff5af464f3043c88b8034c5c326eb6399f100263 Mon Sep 17 00:00:00 2001
From: Carl-Frellett <2033200993@qq.com>
Date: Sat, 7 Sep 2024 19:29:29 +0800
Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BA=86=E4=B8=80=E4=B8=AA?=
=?UTF-8?q?=E6=96=B0=E7=9A=84=E5=8A=9F=E8=83=BD=EF=BC=8C=E7=BB=99=E4=BA=88?=
=?UTF-8?q?=E7=8E=A9=E5=AE=B6=E7=8A=B6=E6=80=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Game/Effect/EffectAPI.cs" | 155 ++++++++++++++++++
.../Game/Hint/Player/PosHint.cs" | 59 +++++++
.../Game/Hint/Player/RuelHint.cs" | 56 +++++++
.../Game/Tag/Onlycolor/API.cs" | 26 +++
.../Game/Tag/Somecolor/API.cs" | 65 ++++++++
.../Game/Tag/Somecolor/TagController.cs" | 76 +++++++++
.../Properties/AssemblyInfo.cs" | 6 +-
.../Server/Log/Game/GameConsoleMessage.cs" | 54 ++++++
.../Server/Log/Game/Level.cs" | 13 ++
.../Server/Log/ServerConsoleMessage.cs" | 29 ++++
...nTimeResolveAssemblyReferencesInput.cache" | Bin 0 -> 4177 bytes
...47\224\250API.csproj.FileListAbsolute.txt" | 0
...232\204\345\256\236\347\224\250API.csproj" | 17 +-
13 files changed, 545 insertions(+), 11 deletions(-)
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/Game/Effect/EffectAPI.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/Game/Hint/Player/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/Game/Hint/Player/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/Game/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/Game/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/Game/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/Server/Log/Game/GameConsoleMessage.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/Server/Log/Game/Level.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/Server/Log/ServerConsoleMessage.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/obj/x64/Release/DesignTimeResolveAssemblyReferencesInput.cache"
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/obj/x64/Release/\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.FileListAbsolute.txt"
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/Game/Effect/EffectAPI.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/Game/Effect/EffectAPI.cs"
new file mode 100644
index 0000000..d47048d
--- /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/Game/Effect/EffectAPI.cs"
@@ -0,0 +1,155 @@
+using Exiled.API.Features;
+using Exiled.API.Enums;
+using CustomPlayerEffects;
+using System;
+using InventorySystem.Items.Usables.Scp244.Hypothermia;
+
+namespace JBAPI.Effect
+{
+ public static class Effect
+ {
+ ///
+ /// 这是为指定添加效果,目前它处于测试效果,所有效果均源自于“EffectType”枚举
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static void AddEffects(this Player 玩家, EffectType 效果类型, float 持续时间)
+ {
+ switch (效果类型)
+ {
+ case EffectType.AmnesiaItems:
+ 玩家.EnableEffect(持续时间);
+ break;
+ case EffectType.AmnesiaVision:
+ 玩家.EnableEffect(持续时间);
+ break;
+ case EffectType.AntiScp207:
+ 玩家.EnableEffect(持续时间);
+ break;
+ case EffectType.Asphyxiated:
+ 玩家.EnableEffect(持续时间);
+ break;
+ case EffectType.CardiacArrest:
+ 玩家.EnableEffect(持续时间);
+ break;
+ case EffectType.Bleeding:
+ 玩家.EnableEffect(持续时间);
+ break;
+ case EffectType.Blinded:
+ 玩家.EnableEffect(持续时间);
+ break;
+ case EffectType.BodyshotReduction:
+ 玩家.EnableEffect(持续时间);
+ break;
+ case EffectType.Burned:
+ 玩家.EnableEffect(持续时间);
+ break;
+ case EffectType.Concussed:
+ 玩家.EnableEffect(持续时间);
+ break;
+ case EffectType.Corroding:
+ 玩家.EnableEffect(持续时间);
+ break;
+ case EffectType.DamageReduction:
+ 玩家.EnableEffect(持续时间);
+ break;
+ case EffectType.Deafened:
+ 玩家.EnableEffect(持续时间);
+ break;
+ case EffectType.Decontaminating:
+ 玩家.EnableEffect(持续时间);
+ break;
+ case EffectType.Disabled:
+ 玩家.EnableEffect(持续时间);
+ break;
+ case EffectType.Ensnared:
+ 玩家.EnableEffect(持续时间);
+ break;
+ case EffectType.Exhausted:
+ 玩家.EnableEffect(持续时间);
+ break;
+ case EffectType.Flashed:
+ 玩家.EnableEffect(持续时间);
+ break;
+ case EffectType.FogControl:
+ 玩家.EnableEffect(持续时间);
+ break;
+ case EffectType.Ghostly:
+ 玩家.EnableEffect(持续时间);
+ break;
+ case EffectType.Hemorrhage:
+ 玩家.EnableEffect(持续时间);
+ break;
+ case EffectType.Hypothermia:
+ 玩家.EnableEffect(持续时间);
+ break;
+ case EffectType.InsufficientLighting:
+ 玩家.EnableEffect(持续时间);
+ break;
+ case EffectType.Invigorated:
+ 玩家.EnableEffect(持续时间);
+ break;
+ case EffectType.Invisible:
+ 玩家.EnableEffect(持续时间);
+ break;
+ case EffectType.MovementBoost:
+ 玩家.EnableEffect(持续时间);
+ break;
+ case EffectType.None:
+ break;
+ case EffectType.PocketCorroding:
+ 玩家.EnableEffect(持续时间);
+ break;
+ case EffectType.Poisoned:
+ 玩家.EnableEffect(持续时间);
+ break;
+ case EffectType.RainbowTaste:
+ 玩家.EnableEffect(持续时间);
+ break;
+ case EffectType.Scanned:
+ 玩家.EnableEffect(持续时间);
+ break;
+ case EffectType.Scp1853:
+ 玩家.EnableEffect(持续时间);
+ break;
+ case EffectType.Scp207:
+ 玩家.EnableEffect(持续时间);
+ break;
+ case EffectType.SeveredHands:
+ 玩家.EnableEffect(持续时间);
+ break;
+ case EffectType.SilentWalk:
+ 玩家.EnableEffect(持续时间);
+ break;
+ case EffectType.SinkHole:
+ 玩家.EnableEffect(持续时间);
+ break;
+ case EffectType.Slowness:
+ 玩家.EnableEffect(持续时间);
+ break;
+ case EffectType.SoundtrackMute:
+ 玩家.EnableEffect(持续时间);
+ break;
+ case EffectType.SpawnProtected:
+ 玩家.EnableEffect(持续时间);
+ break;
+ case EffectType.Stained:
+ 玩家.EnableEffect(持续时间);
+ break;
+ case EffectType.Strangled:
+ 玩家.EnableEffect(持续时间);
+ break;
+ case EffectType.Traumatized:
+ 玩家.EnableEffect(持续时间);
+ break;
+ case EffectType.Vitality:
+ 玩家.EnableEffect(持续时间);
+ break;
+ default:
+ throw new ArgumentException("从未见过的效果类型:" + 效果类型.ToString());
+ }
+ }
+ }
+}
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/Game/Hint/Player/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/Game/Hint/Player/PosHint.cs"
new file mode 100644
index 0000000..cb0ed23
--- /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/Game/Hint/Player/PosHint.cs"
@@ -0,0 +1,59 @@
+using Exiled.API.Features;
+using JBAPI.Log;
+using JBPI.Log;
+using MEC;
+using RueI.Displays;
+using RueI.Elements;
+using System.Collections.Generic;
+
+namespace JBAPI.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];
+ }
+ }
+
+ ///
+ /// 一个RuelHint的变种,常用于如"bc","经验提示"之类的不允许重叠的Hint
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static void PosHint(this Player 玩家, float 位置, string 文本, int 时间 = 5)
+ {
+ if (玩家 != null && 玩家.ReferenceHub != null)
+ {
+ Display 显示 = 显示中心.GetOrCreateDisplay(玩家.ReferenceHub);
+
+ float 向下的位置 = -显示.Elements.Count * 30f;
+
+ SetElement 元素 = new SetElement(位置 + 向下的位置, 文本)
+ {
+ Position = 位置 + 向下的位置,
+ };
+
+ 显示.Elements.Add(元素);
+
+ 显示.Update();
+
+ Timing.CallDelayed(时间, () =>
+ {
+ 显示.Elements.Remove(元素);
+ 显示.Update();
+ });
+ }
+ }
+ }
+}
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/Game/Hint/Player/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/Game/Hint/Player/RuelHint.cs"
new file mode 100644
index 0000000..d02a4d0
--- /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/Game/Hint/Player/RuelHint.cs"
@@ -0,0 +1,56 @@
+using Exiled.API.Features;
+using JBPI.Log;
+using MEC;
+using RueI.Displays;
+using RueI.Elements;
+using System.Collections.Generic;
+
+namespace JBAPI.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];
+ }
+ }
+
+ ///
+ /// RuelHint,多显示框架
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static void RuelHint(this Player 玩家, float 位置, string 文本, int 时间 = 5)
+ {
+ if (玩家 != null && 玩家.ReferenceHub != null)
+ {
+ Display 显示 = 显示中心.GetOrCreateDisplay(玩家.ReferenceHub);
+
+ SetElement 元素 = new SetElement(位置, 文本)
+ {
+ Position = 位置,
+ };
+
+ 显示.Elements.Add(元素);
+
+ 显示.Update();
+
+ Timing.CallDelayed(时间, () =>
+ {
+ 显示.Elements.Remove(元素);
+ 显示.Update();
+ });
+ }
+ }
+ }
+}
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/Game/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/Game/Tag/Onlycolor/API.cs"
new file mode 100644
index 0000000..64df160
--- /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/Game/Tag/Onlycolor/API.cs"
@@ -0,0 +1,26 @@
+using Exiled.API.Features;
+using JBAPI.Effect;
+using JBPI.Log;
+using MEC;
+
+namespace JBAPI.Tag
+{
+ public static class Onlycolor
+ {
+ ///
+ /// 这是单色称号的API 您可以对指定的玩家进行添加称号
+ ///
+ ///
+ ///
+ ///
+ public static void ORTag(this Player 玩家, string 文本, string 颜色)
+ {
+ Timing.CallContinuously(2f, () =>
+ {
+ 玩家.RankName = 文本;
+ 玩家.RankColor = 颜色;
+ ServerCC.日志($"JBAPI.OnlyColor调用 玩家 {玩家.Nickname} ({玩家.UserId})");
+ });
+ }
+ }
+}
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/Game/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/Game/Tag/Somecolor/API.cs"
new file mode 100644
index 0000000..b3df913
--- /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/Game/Tag/Somecolor/API.cs"
@@ -0,0 +1,65 @@
+using Exiled.API.Features;
+using UnityEngine;
+using JBAPI.UnityScript;
+using JBPI.Log;
+using MEC;
+
+namespace JBAPI.Tag
+{
+ 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 文本, long 频率, bool 是否启用)
+ {
+ Timing.CallContinuously(2f, () =>
+ {
+ 玩家.RankName = 文本;
+
+ if (!是否启用)
+ {
+ var 神威 = 玩家.GameObject.GetComponent();
+ if (神威 != null)
+ {
+ Object.Destroy(神威);
+ }
+
+ 玩家.RankColor = "red";
+
+ return;
+ }
+
+ var 霸王龙 = 玩家.GameObject.GetComponent();
+
+ ServerCC.日志($"JBAPI.somecolor调用 玩家 {玩家.Nickname} ({玩家.UserId})");
+
+
+ if (霸王龙 == null)
+ {
+ 霸王龙 = 玩家.GameObject.AddComponent();
+ 霸王龙.Colors = 颜色;
+ 霸王龙.Interval = 频率;//孩子,时间越快服务器越容易崩,如果你改了,服务器爆炸概不负责
+ }
+
+ });
+ }
+ }
+}
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/Game/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/Game/Tag/Somecolor/TagController.cs"
new file mode 100644
index 0000000..82beaf7
--- /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/Game/Tag/Somecolor/TagController.cs"
@@ -0,0 +1,76 @@
+using System.Collections;
+using UnityEngine;
+using Exiled.API.Features;
+using System;
+
+namespace JBAPI.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/Properties/AssemblyInfo.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/Properties/AssemblyInfo.cs"
index 36ae349..3c109c7 100644
--- "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/Properties/AssemblyInfo.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/Properties/AssemblyInfo.cs"
@@ -10,7 +10,7 @@
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("宇宙无敌超级神威霸王龙SL的实用API")]
-[assembly: AssemblyCopyright("Copyright © 2024")]
+[assembly: AssemblyCopyright("Copyright ©JBAPI-Team 2024")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
@@ -29,5 +29,5 @@
// 生成号
// 修订号
//
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
+[assembly: AssemblyVersion("0.0.0.0")]
+[assembly: AssemblyFileVersion("0.0.0.0")]
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/Server/Log/Game/GameConsoleMessage.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/Server/Log/Game/GameConsoleMessage.cs"
new file mode 100644
index 0000000..844706e
--- /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/Server/Log/Game/GameConsoleMessage.cs"
@@ -0,0 +1,54 @@
+using Exiled.API.Features;
+using static JBAPI.Log.Level;
+
+namespace JBAPI.Log
+{
+ public static class GameCC
+ {
+ ///
+ /// 一个可以向游戏控制台发送消息的API
+ ///
+ ///
+ ///
+ ///
+ public static void 控制台消息(this Player 玩家, string 消息, ConsoleLevel 级别)
+ {
+ string 前缀 = _级别(级别);
+ string 颜色 = _颜色(级别);
+
+ 玩家.SendConsoleMessage($"{前缀}{消息}", 颜色);
+ }
+
+ private static string _级别(ConsoleLevel 级别)
+ {
+ switch (级别)
+ {
+ case ConsoleLevel.消息:
+ return "[消息] ";
+ case ConsoleLevel.警告:
+ return "[警告] ";
+ case ConsoleLevel.错误:
+ return "[错误] ";
+ case ConsoleLevel.自定义:
+ return "";
+ default:
+ return "";
+ }
+ }
+
+ private static string _颜色(ConsoleLevel 级别)
+ {
+ switch (级别)
+ {
+ case ConsoleLevel.消息:
+ return "#a2a2a2";
+ case ConsoleLevel.警告:
+ return "yellow";
+ case ConsoleLevel.错误:
+ return "red";
+ default:
+ return "";
+ }
+ }
+ }
+}
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/Server/Log/Game/Level.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/Server/Log/Game/Level.cs"
new file mode 100644
index 0000000..f697c17
--- /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/Server/Log/Game/Level.cs"
@@ -0,0 +1,13 @@
+namespace JBAPI.Log
+{
+ public class Level
+ {
+ public enum ConsoleLevel
+ {
+ 消息,
+ 警告,
+ 错误,
+ 自定义
+ }
+ }
+}
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/Server/Log/ServerConsoleMessage.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/Server/Log/ServerConsoleMessage.cs"
new file mode 100644
index 0000000..8c02d0e
--- /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/Server/Log/ServerConsoleMessage.cs"
@@ -0,0 +1,29 @@
+namespace JBPI.Log
+{
+ public static class ServerCC
+ {
+ // 默认情况下的日志
+ public static void 日志(string 消息)
+ => ServerConsole.AddLog(消息, System.ConsoleColor.Cyan);
+
+ // 警告日志
+ public static void 警告(string 消息)
+ => ServerConsole.AddLog(消息, System.ConsoleColor.DarkYellow);
+
+ // 调式日志 Debug
+ public static void 调试(string 消息)
+ => Exiled.API.Features.Log.Debug(消息);
+
+ // 发生错误时的日志
+ public static void 错误(string 消息)
+ => ServerConsole.AddLog($"[错误] {消息}", System.ConsoleColor.Red);
+
+ // 其他日志
+ public static void 其他(string 消息)
+ => ServerConsole.AddLog(消息, System.ConsoleColor.Green);
+
+ // 自定义消息
+ public static void 自定义(string 消息, System.ConsoleColor 颜色)
+ => ServerConsole.AddLog(消息, 颜色);
+ }
+}
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/obj/x64/Release/DesignTimeResolveAssemblyReferencesInput.cache" "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/obj/x64/Release/DesignTimeResolveAssemblyReferencesInput.cache"
new file mode 100644
index 0000000000000000000000000000000000000000..b96100b8ec352927be98c30ff75440a44e3795d0
GIT binary patch
literal 4177
zcmd5$=KbUI5TMyLJodZ
z!4^-7RHS$jd+JRQ5B{4r_FwqUZkiayVzf&d$cEjW%=^5b&ogI_2LgdHtwtT&9Mw$A
z8r7f{X8YCFTsArI`U)|YNeP5zFlULDZXJXrmd{$%5_R-6
zaqvH;J|_g&MXNCp&6f$UOe|3@WQ7Q!JiPHgTd55WH!%B->hZ;7DjvI?NF<}lxs*1e
zO-^bd-J(U^0U4Rmqs+F6W9Az|f~`dv2L#Jcz>#9a1U|$*?o>(^xJ`wi%yEN4
zaVljwD{*266WCiKc&R=!eOb@J5^!(~2zG`V1)-;@!I@x7QcvJ|s4>2*YngbVcefHz
z1EjZ5^CqEk`^rG`FHJdTZn%gq2yJ07jzdl%TOCe;W*C>{8e?Y4gYkGcFgyt%L(qOz1I0=f$$Q@
zE(OOZ2SYO6XvLa2C{ZDKV>XYRT_YTN#N5x@;~sC1cg-;i#fpg6Tc?^iQd8D5NcgSw
zL#3!e`J{+Pt@?BXwTT5pfbK@@P`vy!RKHm9L7!hS5VYhJs0}#~%v$MIL06RF@st>4
zIEE4Mr#kQXQuF(bcA-x+j^DvjLp^%kE5bACWw2Y%L03_ZdGAgT+nkP^#G8;74uvPL
IdQF4ZA06w%4*&oF
literal 0
HcmV?d00001
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/obj/x64/Release/\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.FileListAbsolute.txt" "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/obj/x64/Release/\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.FileListAbsolute.txt"
new file mode 100644
index 0000000..e69de29
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"
index 97ac6b9..7c87a9a 100644
--- "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"
@@ -131,15 +131,16 @@
-
-
-
-
-
+
+
+
+
+
+
-
-
-
+
+
+