using CommonAI.Zone.Instance; using CommonLang; using CommonLang.Protocol; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using XmdsCommonServer.Message; using XmdsCommonServer.Plugin.Units; using XmdsServerNode.Node; namespace XmdsServerNode.CheatingDeath { public static class CheatingDeathManager { public static void Init(Properties cfg_prop) { CheatingDeathConfig.Load(cfg_prop); } private const string MOVE_SPEED_CHECKER_KEY = "__MoveSpeedChecker"; /// /// 玩家进入场景时,绑定反作弊 /// /// public static void OnPlayerEnter(InstancePlayer player) { if (CheatingDeathConfig.ENABLE_MOVE_SPEED_CHECKER) { var mc = player.GetAttributeAs(MOVE_SPEED_CHECKER_KEY); if (mc == null) { mc = new MoveSpeedChecker(player); player.SetAttribute(MOVE_SPEED_CHECKER_KEY, mc); } } } /// /// 发送单位异常到服务器 /// /// /// public static void SendPlayerException(InstancePlayer actor, string reason) { var exp = new PlayerExceptionEventB2R(); exp.playerId = actor.PlayerUUID; exp.instanceId = actor.Parent.UUID; exp.reason = reason; actor.queueEvent(exp); } } }