示例#1
0
        // ============================================ PLUGIN =======================================
        protected override void HookEventHandlers()
        {
            OnPlayerSpawningEvent.Register(HandlePlayerSpawning, Priority.High);
            OnJoinedLevelEvent.Register(HandleOnJoinedLevel, Priority.High);
            OnPlayerChatEvent.Register(HandlePlayerChat, Priority.High);

            base.HookEventHandlers();
        }
示例#2
0
 public override void Load(bool startup)
 {
     OnPlayerConnectEvent.Register(HandleConnect, Priority.Low);
     OnPlayerDisconnectEvent.Register(HandleDisconnect, Priority.Low);
     OnPlayerChatEvent.Register(HandleChat, Priority.Low);
     OnPlayerActionEvent.Register(HandlePlayerAction, Priority.Low);
     OnModActionEvent.Register(HandleModerationAction, Priority.Low);
 }
示例#3
0
 public override void Unload(bool shutdown)
 {
     OnPlayerConnectEvent.Unregister(HandleConnect);
     OnPlayerDisconnectEvent.Unregister(HandleDisconnect);
     OnPlayerChatEvent.Unregister(HandleChat);
     OnPlayerActionEvent.Unregister(HandlePlayerAction);
     OnModActionEvent.Unregister(HandleModerationAction);
 }
示例#4
0
        protected override void UnhookEventHandlers()
        {
            OnPlayerSpawningEvent.Unregister(HandlePlayerSpawning);
            OnJoinedLevelEvent.Unregister(HandleOnJoinedLevel);
            OnPlayerChatEvent.Unregister(HandlePlayerChat);

            base.UnhookEventHandlers();
        }
示例#5
0
        protected override void UnhookEventHandlers()
        {
            OnPlayerChatEvent.Unregister(HandlePlayerChat);
            OnPlayerSpawningEvent.Unregister(HandlePlayerSpawning);
            OnSentMapEvent.Unregister(HandleSentMap);
            OnJoinedLevelEvent.Unregister(HandleJoinedLevel);
            OnTabListEntryAddedEvent.Unregister(HandleTabListEntryAdded);

            base.UnhookEventHandlers();
        }
示例#6
0
        protected override void HookEventHandlers()
        {
            OnPlayerChatEvent.Register(HandlePlayerChat, Priority.High);
            OnPlayerSpawningEvent.Register(HandlePlayerSpawning, Priority.High);
            OnSentMapEvent.Register(HandleSentMap, Priority.High);
            OnJoinedLevelEvent.Register(HandleJoinedLevel, Priority.High);
            OnTabListEntryAddedEvent.Register(HandleTabListEntryAdded, Priority.High);

            base.HookEventHandlers();
        }
示例#7
0
 public static void InitHandlers()
 {
     OnPlayerConnectEvent.Register(OnConnect, Priority.High);
     OnPlayerDisconnectEvent.Register(OnLeave, Priority.High);
     OnPlayerMoveEvent.Register(OnMovement, Priority.High);
     OnPlayerClickEvent.Register(OnClick, Priority.High);
     OnPlayerChatEvent.Register(OnChat, Priority.High);
     OnTabListEntryAddedEvent.Register(HUD.GetTabName, Priority.High);
     OnPlayerActionEvent.Register(OnAFK, Priority.Normal);
 }
示例#8
0
        protected override void UnhookEventHandlers()
        {
            OnPlayerDeathEvent.Unregister(HandlePlayerDeath);
            OnPlayerChatEvent.Unregister(HandlePlayerChat);
            OnPlayerCommandEvent.Unregister(HandlePlayerCommand);
            OnBlockChangeEvent.Unregister(HandleBlockChange);

            OnPlayerSpawningEvent.Unregister(HandlePlayerSpawning);
            OnTabListEntryAddedEvent.Unregister(HandleTabListEntryAdded);
            OnJoinedLevelEvent.Unregister(HandleJoinedLevel);

            base.UnhookEventHandlers();
        }
示例#9
0
        protected override void HookEventHandlers()
        {
            OnPlayerDeathEvent.Register(HandlePlayerDeath, Priority.High);
            OnPlayerChatEvent.Register(HandlePlayerChat, Priority.High);
            OnPlayerCommandEvent.Register(HandlePlayerCommand, Priority.High);
            OnBlockChangeEvent.Register(HandleBlockChange, Priority.High);

            OnPlayerSpawningEvent.Register(HandlePlayerSpawning, Priority.High);
            OnTabListEntryAddedEvent.Register(HandleTabListEntryAdded, Priority.High);
            OnJoinedLevelEvent.Register(HandleJoinedLevel, Priority.High);

            base.HookEventHandlers();
        }
示例#10
0
        public override void Unload(bool shutdown)
        {
            OnPlayerDeathEvent.Unregister(HandlePlayerDeath);
            OnPlayerChatEvent.Unregister(HandlePlayerChat);
            OnPlayerCommandEvent.Unregister(HandlePlayerCommand);

            OnBlockChangeEvent.Unregister(HandleBlockChange);
            OnPlayerDisconnectEvent.Unregister(HandleDisconnect);
            OnLevelUnloadEvent.Unregister(HandleLevelUnload);

            OnPlayerSpawningEvent.Unregister(HandlePlayerSpawning);
            OnTabListEntryAddedEvent.Unregister(HandleTabListEntryAdded);
            OnJoinedLevelEvent.Unregister(HandleOnJoinedLevel);
        }
示例#11
0
        public override void Load(bool startup)
        {
            OnPlayerDeathEvent.Register(HandlePlayerDeath, Priority.High);
            OnPlayerChatEvent.Register(HandlePlayerChat, Priority.High);
            OnPlayerCommandEvent.Register(HandlePlayerCommand, Priority.High);

            OnBlockChangeEvent.Register(HandleBlockChange, Priority.High);
            OnPlayerDisconnectEvent.Register(HandleDisconnect, Priority.High);
            OnLevelUnloadEvent.Register(HandleLevelUnload, Priority.High);

            OnPlayerSpawningEvent.Register(HandlePlayerSpawning, Priority.High);
            OnTabListEntryAddedEvent.Register(HandleTabListEntryAdded, Priority.High);
            OnJoinedLevelEvent.Register(HandleOnJoinedLevel, Priority.High);
        }
示例#12
0
        protected override void UnhookEventHandlers()
        {
            OnEntitySpawnedEvent.Unregister(HandleEntitySpawned);
            OnTabListEntryAddedEvent.Unregister(HandleTabListEntryAdded);
            OnMoneyChangedEvent.Unregister(HandleMoneyChanged);
            OnBlockChangeEvent.Unregister(HandleBlockChange);

            OnPlayerConnectEvent.Unregister(HandlePlayerConnect);
            OnPlayerMoveEvent.Unregister(HandlePlayerMove);
            OnPlayerSpawningEvent.Unregister(HandlePlayerSpawning);
            OnJoinedLevelEvent.Unregister(HandleJoinedLevel);
            OnPlayerChatEvent.Unregister(HandlePlayerChat);

            base.UnhookEventHandlers();
        }
示例#13
0
        protected override void HookEventHandlers()
        {
            OnEntitySpawnedEvent.Register(HandleEntitySpawned, Priority.High);
            OnTabListEntryAddedEvent.Register(HandleTabListEntryAdded, Priority.High);
            OnMoneyChangedEvent.Register(HandleMoneyChanged, Priority.High);
            OnBlockChangeEvent.Register(HandleBlockChange, Priority.High);

            OnPlayerConnectEvent.Register(HandlePlayerConnect, Priority.High);
            OnPlayerMoveEvent.Register(HandlePlayerMove, Priority.High);
            OnPlayerSpawningEvent.Register(HandlePlayerSpawning, Priority.High);
            OnJoinedLevelEvent.Register(HandleJoinedLevel, Priority.High);
            OnPlayerChatEvent.Register(HandlePlayerChat, Priority.High);

            base.HookEventHandlers();
        }
示例#14
0
        private void HandleChatMessagePacket(byte[] message)
        {
            short  length = util.EndianBitConverter.Big.ToInt16(message, 0);
            string m      = Encoding.BigEndianUnicode.GetString(message, 2, length * 2);

            if (m.Length > 119)
            {
                Kick("Too many characters in message!");
                return;
            }
            foreach (char ch in m)
            {
                if (ch < 32 || ch >= 127)
                {
                    Kick("Illegal character in chat message!");
                    return;
                }
            }

            // Test for commands
            if (m[0] == '/') //in future maybe use config defined character
            {
                m = m.Remove(0, 1);

                int pos = m.IndexOf(' ');
                if (pos == -1)
                {
                    HandleCommand(m.ToLower(), "");
                    return;
                }

                string cmd = m.Substring(0, pos).ToLower();

                HandleCommand(cmd, m);
                return;
            }
            else if (m[0] == '@')
            {
                if (m[1] != ' ')
                {
                    HandleCommand("msg", m.Substring(1));
                }
                else if (m[1] == ' ')
                {
                    HandleCommand("msg", m.Substring(2));
                }
            }

            /*if (OnChat != null)
             *  OnChat(m, this);
             * if (PlayerChat != null)
             *  PlayerChat(m, this);*/
            OnPlayerChatEvent.Call(m, this);
            if (cancelchat)
            {
                cancelchat = false;
                return;
            }
            // TODO: Rank coloring
            //GlobalMessage(this.PlayerColor + "{1}§f: {2}", WrapMethod.Chat, this.Prefix, Username, message);
            if (DoNotDisturb)
            {
                return;
            }
            GlobalMessage(/*Color.DarkBlue + "<" + level.name + "> " +*/ Color.Gray + "[" + group.GroupColor + group.Name + Color.Gray + "] " + this.GetColor() + GetName() + Color.White + ": " + m);
            Logger.Log(LogLevel.Info, username + ": " + m);
        }
示例#15
0
 public override void Unload(bool shutdown)
 {
     OnPlayerCommandEvent.Unregister(OnPlayerCommand);
     OnPlayerChatEvent.Unregister(OnPlayerChat);
 }
示例#16
0
 public override void Load(bool startup)
 {
     OnPlayerCommandEvent.Register(OnPlayerCommand, Priority.Low);
     OnPlayerChatEvent.Register(OnPlayerChat, Priority.High);
 }
示例#17
0
 public override void Unload(bool shutdown)
 {
     OnPlayerChatEvent.Unregister(DoTeamChat);
 }
示例#18
0
 public override void Load(bool startup)
 {
     OnPlayerChatEvent.Register(DoTeamChat, Priority.Low);
 }
示例#19
0
 public override void Load(bool startup)
 {
     OnPlayerChatEvent.Register(InterceptChat, Priority.Low);
     OnPlayerConnectEvent.Register(HandlePlayerConnect, Priority.High);
     OnPlayerDisconnectEvent.Register(HandlePlayerDisconnect, Priority.High);
 }
示例#20
0
 public override void Unload(bool shutdown)
 {
     OnPlayerChatEvent.Unregister(InterceptChat);
     OnPlayerConnectEvent.Unregister(HandlePlayerConnect);
     OnPlayerDisconnectEvent.Unregister(HandlePlayerDisconnect);
 }