示例#1
0
        private void UnturnedPlayerEvents_OnPlayerChatted(UnturnedPlayer player, ref Color color, string message, EChatMode chatMode, ref bool cancel)
        {
            ChatControlPlayerComponent component = player.GetComponent <ChatControlPlayerComponent>();

            if (!player.HasPermission("ChatControl.IgnoreBadwords") && message.ToCharArray()[0] != '/' && chatMode != EChatMode.GROUP)
            {
                foreach (string badword in Instance.Configuration.Instance.Badwords)
                {
                    if (message.ToLower().Contains(badword.ToLower()))
                    {
                        //UnturnedChat.Say(player, Translate("badword_detected", badword, ++component.Warnings), MessageColor);
                        CommandWindow.input.onInputText(Translate("command", player.Id));
                        cancel = true;
                        break;
                    }
                }
            }

            if (component.IsMuted)
            {
                cancel = true;
                UnturnedChat.Say(player, Translate("you_are_muted"), MessageColor);
                return;
            }
        }
示例#2
0
        private void UnturnedPlayerEvents_OnPlayerChatted(Rocket.Unturned.Player.UnturnedPlayer player, ref UnityEngine.Color color, string message, SDG.Unturned.EChatMode chatMode, ref bool cancel)
        {
            ChatControlPlayerComponent component = player.GetComponent <ChatControlPlayerComponent>();

            if (!player.HasPermission("ChatControl.IgnoreBadwords"))
            {
                foreach (string badword in ChatControl.Instance.Configuration.Instance.Badwords)
                {
                    if (message.ToLower().Contains(badword.ToLower()))
                    {
                        UnturnedChat.Say(player, Translate("badword_detected", badword, ++component.Warnings), MessageColor);
                        cancel = true;
                        break;
                    }
                }
            }

            if (Configuration.Instance.WarningsBeforeKick > 0 && component.Warnings >= Configuration.Instance.WarningsBeforeKick)
            {
                player.Kick(Translate("kick_ban_reason"));
                return;
            }
            if (Configuration.Instance.WarningsBeforeBan > 0 && component.Warnings >= Configuration.Instance.WarningsBeforeBan)
            {
                player.Ban(Translate("kick_ban_reason"), Configuration.Instance.BanDuration);
                return;
            }



            if (!player.HasPermission("ChatControl.IgnoreMute"))
            {
                if (component.Warnings >= Configuration.Instance.WarningsBeforeMute)
                {
                    component.IsMuted = true;
                }
            }

            if (component.IsMuted)
            {
                cancel = true;
                UnturnedChat.Say(player, Translate("you_are_muted"), MessageColor);
                return;
            }
        }
示例#3
0
        public void Execute(IRocketPlayer caller, string[] command)
        {
            UnturnedPlayer player = command.GetUnturnedPlayerParameter(0);

            if (player == null)
            {
                UnturnedChat.Say(caller, ChatControl.Instance.Translate("command_player_not_found"), ChatControl.MessageColor);
            }
            ChatControlPlayerComponent component = player.GetComponent <ChatControlPlayerComponent>();

            component.IsMuted  = false;
            component.Warnings = 0;

            if (ChatControl.Instance.Configuration.Instance.AnnounceUnmute)
            {
                UnturnedChat.Say(ChatControl.Instance.Translate("command_unmute", player.DisplayName), ChatControl.MessageColor);
            }
            else
            {
                UnturnedChat.Say(caller, ChatControl.Instance.Translate("command_unmute", player.DisplayName), ChatControl.MessageColor);
            }
        }