12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- 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";
- /// <summary>
- /// 玩家进入场景时,绑定反作弊
- /// </summary>
- /// <param name="player"></param>
- public static void OnPlayerEnter(InstancePlayer player)
- {
- if (CheatingDeathConfig.ENABLE_MOVE_SPEED_CHECKER)
- {
- var mc = player.GetAttributeAs<MoveSpeedChecker>(MOVE_SPEED_CHECKER_KEY);
- if (mc == null)
- {
- mc = new MoveSpeedChecker(player);
- player.SetAttribute(MOVE_SPEED_CHECKER_KEY, mc);
- }
- }
- }
-
- /// <summary>
- /// 发送单位异常到服务器
- /// </summary>
- /// <param name="actor"></param>
- /// <param name="reason"></param>
- 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);
- }
- }
- }
|