Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions DataBase/DataAPI.cs → API/DataAPI.cs
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
using EasyTools.DataBase.Serialization;
using EasyTools.DataStructures;
using EasyTools.Events;
using LiteDB;
using System.Collections.Generic;

namespace EasyTools.DataBase
namespace EasyTools.API
{
public static class DataAPI
{
Expand All @@ -16,7 +16,7 @@ public static bool TryGetData(string id, out PlayerData data)
{
return true;
}
using LiteDatabase database = new(CustomEventHandler.DataBaseConfig.database_path);
using LiteDatabase database = new(CustomEventHandler.Config.DataBasePath);

if ((data = database.GetCollection<PlayerData>("Players")?.FindById(id)) != null)
{
Expand Down
131 changes: 0 additions & 131 deletions BadgeSystem/Badge.cs

This file was deleted.

6 changes: 3 additions & 3 deletions Commands/Chat/AcCommand.cs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
using CommandSystem;
using EasyTools.Configs;
using EasyTools.Events;
using EasyTools.Utils;
using EasyTools.Extensions;
using LabApi.Features.Wrappers;
using System;
using Log = LabApi.Features.Console.Logger;
Expand All @@ -24,7 +24,7 @@ public bool Execute(ArraySegment<string> arguments, ICommandSender sender, out s

if (sender is null || (player = Player.Get(sender)) is null)
{
response = TranslateConfig.ChatCommandError;
response = TranslateConfig.CommandNotAllowed;
return false;
}

Expand All @@ -34,7 +34,7 @@ public bool Execute(ArraySegment<string> arguments, ICommandSender sender, out s
return false;
}

ChatUtils.SendMessage(player, ChatMessage.MessageType.AdminPrivateChat, $"<noparse>{string.Join(" ", arguments)}</noparse>");
player.SendHintMessage(ChatMessage.MessageType.AdminPrivateChat, $"<noparse>{string.Join(" ", arguments)}</noparse>");

Log.Info(player.Nickname + " 发送了 " + arguments.At(0));
response = TranslateConfig.ChatCommandOk;
Expand Down
8 changes: 4 additions & 4 deletions Commands/Chat/BcCommand.cs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
using CommandSystem;
using EasyTools.Configs;
using EasyTools.Events;
using EasyTools.Utils;
using EasyTools.Extensions;
using LabApi.Features.Wrappers;
using System;
using Log = LabApi.Features.Console.Logger;
Expand All @@ -24,7 +24,7 @@ public bool Execute(ArraySegment<string> arguments, ICommandSender sender, out s

if (sender is null || (player = Player.Get(sender)) is null)
{
response = TranslateConfig.ChatCommandError;
response = TranslateConfig.CommandNotAllowed;
return false;
}

Expand All @@ -34,10 +34,10 @@ public bool Execute(ArraySegment<string> arguments, ICommandSender sender, out s
return false;
}

ChatUtils.SendMessage(player, ChatMessage.MessageType.BroadcastChat, $"<noparse>{string.Join(" ", arguments)}</noparse>");
player.SendHintMessage(ChatMessage.MessageType.BroadcastChat, $"<noparse>{string.Join(" ", arguments)}</noparse>");

Log.Info(player.Nickname + " 发送了 " + arguments.At(0));
response = TranslateConfig.RescueCommandOk;
response = TranslateConfig.ChatCommandOk;
return true;
}
}
Expand Down
6 changes: 3 additions & 3 deletions Commands/Chat/CCommand.cs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
using CommandSystem;
using EasyTools.Configs;
using EasyTools.Events;
using EasyTools.Utils;
using EasyTools.Extensions;
using LabApi.Features.Wrappers;
using System;
using Log = LabApi.Features.Console.Logger;
Expand All @@ -24,7 +24,7 @@ public bool Execute(ArraySegment<string> arguments, ICommandSender sender, out s

if (sender is null || (player = Player.Get(sender)) is null)
{
response = TranslateConfig.ChatCommandError;
response = TranslateConfig.CommandNotAllowed;
return false;
}

Expand All @@ -34,7 +34,7 @@ public bool Execute(ArraySegment<string> arguments, ICommandSender sender, out s
return false;
}

ChatUtils.SendMessage(player, ChatMessage.MessageType.TeamChat, $"<noparse>{string.Join(" ", arguments)}</noparse>");
player.SendHintMessage(ChatMessage.MessageType.TeamChat, $"<noparse>{string.Join(" ", arguments)}</noparse>");

Log.Info(player.Nickname + " 发送了 " + arguments.At(0));

Expand Down
46 changes: 46 additions & 0 deletions Commands/Level/XpCommand.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
using CommandSystem;
using EasyTools.Configs;
using EasyTools.DataStructures;
using EasyTools.Events;
using EasyTools.Extensions;
using LabApi.Features.Wrappers;
using System;

namespace EasyTools.Commands.Level
{
[CommandHandler(typeof(ClientCommandHandler))]
public class XpCommand : ICommand
{
public string Command => "xp";

public string[] Aliases => [];

public string Description => "查询经验";

public bool Execute(ArraySegment<string> arguments, ICommandSender sender, out string response)
{
TranslateConfig TranslateConfig = CustomEventHandler.TranslateConfig;
Player player;

if (sender is null || (player = Player.Get(sender)) is null)
{
response = TranslateConfig.CommandFailed;
return false;
}

if (!CustomEventHandler.LevelSystemConfig.EnableLevelSystem)
{
response = CustomEventHandler.TranslateConfig.CommandNotEnabled;
return false;
}

PlayerData data = player.GetData();
double xp = data.PlayerXp;
int level = LevelExtensions.GetLevelFromXp(xp, CustomEventHandler.LevelSystemConfig.XpScaleFactor);
double needXp = LevelExtensions.GetXpUntilNextLevel(xp, CustomEventHandler.LevelSystemConfig.XpScaleFactor);

response = $"你的等级: {level} | 当前经验: {xp} | 升级还需: {needXp} XP";
return true;
}
}
}
72 changes: 72 additions & 0 deletions Commands/Scp/ReplaceScpCommand.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
using CommandSystem;
using EasyTools.Events;
using LabApi.Features.Wrappers;
using PlayerRoles;
using System;
using UnityEngine;

namespace EasyTools.Commands.Scp
{
[CommandHandler(typeof(ClientCommandHandler))]
public class ReplaceScpCommand : ICommand
{
public string Command => "replace";

public string[] Aliases => ["rscp"];

public string Description => "申请补位一个断线SCP";

public bool Execute(ArraySegment<string> arguments, ICommandSender sender, out string response)
{
Player player;

if (sender is null || (player = Player.Get(sender)) is null || !(player = Player.Get(sender)).IsSCP)
{
response = CustomEventHandler.TranslateConfig.CommandNotAllowed;
return false;
}

if (CustomEventHandler.Config.EnableSCPReplace)
{
response = CustomEventHandler.TranslateConfig.CommandNotEnabled;
return false;
}

if (arguments.Count == 0)
{
response = "请指定要补位的 SCP 编号(Scp079|Scp096|Scp106|Scp173|Scp049|Scp3114)";
return false;
}

if (arguments.Count == 0)
{
response = "失败,未指定你要交换的目标(Scp079|Scp096|Scp106|Scp173|Scp049|Scp3114)";
return false;
}

string input = arguments.At(0);
if (!Enum.TryParse(input, out RoleTypeId targetRole))
{
response = $"无效的 SCP 编号:{input}。可用的有 Scp079|Scp096|Scp106|Scp173|Scp049|Scp3114 (必须带Scp)";
return false;
}

if (!CustomEventHandler.Replacements.TryGetValue(targetRole, out var entry) || Time.time > entry.ExpireTime)
{
response = $"当前没有 {targetRole} 的补位名额或已过期。";
return false;
}

if (entry.Applicants.Contains(player))
{
response = "你已经申请过该角色了,请等待系统分配。";
return false;
}

entry.Applicants.Add(player);
float remaining = entry.ExpireTime - Time.time;
response = $"你已申请补位 {targetRole},等待 {remaining:0.0} 秒后系统随机选择。";
return true;
}
}
}
Loading
Loading