예제 #1
0
 public void OnNicknameSet(PlayerNicknameSetEvent ev)
 {
     /// <summary>
     /// This is called when a player attempts to set their nickname after joining. This will only be called once per game join.
     /// </summary>
     plugin.SendMessageAsync(plugin.GetConfigString("discord_channel_onnicknameset"), ev.Player.Name + " (" + ev.Player.SteamId + plugin.MultiLanguage(30) + ev.Nickname + ".");
 }
예제 #2
0
        public void OnNicknameSet(PlayerNicknameSetEvent ev)
        {
            if (ev.Player != null)
            {
                foreach (string badword in File.ReadAllLines(dictionarypath))
                {
                    if (ev.Nickname.ToLower().Contains(badword.ToLower()))
                    {
                        switch (mode.ToLower())
                        {
                        case "replace":
                            int replaceIndex = ev.Nickname.ToLower().IndexOf(badword);
                            ev.Nickname = ev.Nickname.Remove(replaceIndex, badword.Length);
                            ev.Nickname = ev.Nickname.Insert(replaceIndex, replace_word);
                            ev.Player.PersonalClearBroadcasts();
                            ev.Player.PersonalBroadcast((uint)System.Convert.ToInt32(duration), broadcast_string, isMonospaced);
                            break;

                        case "remove":
                            int removeIndex = ev.Nickname.ToLower().IndexOf(badword);
                            ev.Nickname = ev.Nickname.Remove(removeIndex, badword.Length);
                            ev.Player.PersonalClearBroadcasts();
                            ev.Player.PersonalBroadcast((uint)System.Convert.ToInt32(duration), broadcast_string, isMonospaced);
                            break;

                        default:
                            plugin.Warn("Config value bwr_replacer_mode is set incorrectly. Use replace or remove.");
                            break;
                        }
                    }
                }
            }
        }
예제 #3
0
        void IEventHandlerNicknameSet.OnNicknameSet(PlayerNicknameSetEvent ev)
        {
            send(ev,
                 new IdMapping()
                 .appendId(Lib.PLAYER_ID, ev.Player)
                 .appendId(Lib.PLAYER_EVENT_SCPDATA_ID, ev.Player.Scp079Data)
                 .appendId(Lib.PLAYER_EVENT_TEAM_ROLE_ID, ev.Player.TeamRole)

                 );
        }
예제 #4
0
        public void OnNicknameSet(PlayerNicknameSetEvent ev)
        {
            /// <summary>
            /// This is called when a player attempts to set their nickname after joining. This will only be called once per game join.
            /// </summary>
            Dictionary <string, string> variables = new Dictionary <string, string>
            {
                { "nickname", ev.Nickname },
                { "ipaddress", ev.Player.IpAddress },
                { "name", ev.Player.Name },
                { "playerid", ev.Player.PlayerId.ToString() },
                { "steamid", ev.Player.SteamId },
                { "class", ev.Player.TeamRole.Role.ToString() },
                { "team", ev.Player.TeamRole.Team.ToString() }
            };

            plugin.SendMessage(Config.GetArray("channels.onnicknameset"), "player.onnicknameset", variables);
        }
예제 #5
0
 public void OnNicknameSet(PlayerNicknameSetEvent ev)
 {
     if (!plugin.Disabled && whitelist != null && !whitelist.Contains(ev.Player.SteamId) && !ev.Player.GetAuthToken().Contains("Bypass bans: YES"))
     {
         foreach (string word in blacklist)
         {
             if (mode == 1)
             {
                 Regex           regex   = new Regex($"{word}(\\w*)", RegexOptions.IgnoreCase);
                 MatchCollection matches = regex.Matches(ev.Nickname);
                 if (matches.Count > 0)
                 {
                     foreach (Match match in matches)
                     {
                         if (plugin.SelectiveDeletion)
                         {
                             ev.Nickname = ev.Nickname.Remove(match.Index, word.Length);
                         }
                         else
                         {
                             ev.Nickname = ev.Nickname.Replace(match.ToString(), string.Empty);
                         }
                     }
                 }
             }
             else if (ev.Nickname.Contains(word))
             {
                 ev.Player.Ban(plugin.Duration, (plugin.Duration <= 0 ? "[Kick by server plugin]" : "[Ban by server plugin]") + plugin.Text.Replace("%word%", word));
             }
         }
         if (string.IsNullOrWhiteSpace(ev.Nickname))
         {
             ev.Player.Disconnect("[Kick by server plugin] Looks like your nickname is all about advertising. Change it and then re-join to the server.");
         }
     }
 }