コード例 #1
0
ファイル: GameState.cs プロジェクト: OhBlihv/SkyCore-MiNET
        public virtual void HandlePlayerChat(SkyPlayer player, string message)
        {
            if (PunishCore.GetPunishmentsFor(player.CertificateData.ExtraData.Xuid).HasActive(PunishmentType.Mute))
            {
                player.SendMessage("§c§l(!)§r §cYou cannot chat while you are muted.");
                return;
            }

            message = TextUtils.RemoveFormatting(message);

            if (message.Length > 200)
            {
                player.SendMessage("§c§l(!)§r §cYour message is too long, please shorten it.");
                return;
            }

            /*foreach (char character in message)
             * {
             *      if (!char.IsLetterOrDigit(character) && !char.IsPunctuation(character) && !char.IsSymbol(character))
             *      {
             *              player.SendMessage("§c§l(!)§r §cYour message contains invalid characters!");
             *                  return;
             *      }
             * }*/

            string chatColor = ChatColors.White;

            if (player.PlayerGroup == PlayerGroup.Player)
            {
                chatColor = ChatColors.Gray;
            }

            player.Level.BroadcastMessage($"{player.GetNameTag(player)}{ChatColors.Gray}: {chatColor}{message}", MessageType.Raw);
        }