Example #1
0
        // Token: 0x0600136B RID: 4971 RVA: 0x0041B92C File Offset: 0x00419B2C
        public void ProcessMessage(string text, byte clientId)
        {
            NetPacket packet = NetTextModule.SerializeServerMessage(NetworkText.FromLiteral(text), Main.player[(int)clientId].ChatColor(), clientId);

            NetManager.Instance.Broadcast(packet, -1);
            Console.WriteLine("<{0}> {1}", Main.player[(int)clientId].name, text);
        }
Example #2
0
        public void ProcessMessage(string text, byte clientId)
        {
            int   team  = Main.player[(int)clientId].team;
            Color color = Main.teamColor[team];

            if (team == 0)
            {
                this.SendNoTeamError(clientId);
            }
            else
            {
                if (text == "")
                {
                    return;
                }
                for (int playerId = 0; playerId < (int)byte.MaxValue; ++playerId)
                {
                    if (Main.player[playerId].team == team)
                    {
                        NetPacket packet = NetTextModule.SerializeServerMessage(NetworkText.FromLiteral(text), color, clientId);
                        NetManager.Instance.SendToClient(packet, playerId);
                    }
                }
            }
        }
Example #3
0
        private void SendNoTeamError(byte clientId)
        {
            var packet =
                NetTextModule.SerializeServerMessage(Lang.mp[10].ToNetworkText(), ERROR_COLOR);

            NetManager.Instance.SendToClient(packet, clientId);
        }
Example #4
0
 public static void SendChatMessageFromClient(ChatMessage message)
 {
     if (!message.IsConsumed)
     {
         NetPacket packet = NetTextModule.SerializeClientMessage(message);
         NetManager.Instance.SendToServer(packet);
     }
 }
Example #5
0
        public static void BroadcastChatMessageAs(
            byte messageAuthor,
            NetworkText text,
            Color color,
            int excludedPlayer = -1)
        {
            NetPacket packet = NetTextModule.SerializeServerMessage(text, color, messageAuthor);

            NetManager.Instance.Broadcast(packet, new NetManager.BroadcastCondition(ChatHelper.OnlySendToPlayersWhoAreLoggedIn), excludedPlayer);
        }
Example #6
0
        public static void SendChatMessageToClientAs(byte messageAuthor, NetworkText text, Color color, int playerId)
        {
            NetPacket packet = NetTextModule.SerializeServerMessage(text, color, messageAuthor);

            NetManager.Instance.SendToClient(packet, playerId);
            if (playerId == Main.myPlayer)
            {
                DisplayMessage(text, color, messageAuthor);
            }
        }
Example #7
0
        private void SendNoTeamError(byte clientId)
        {
            NetPacket packet = NetTextModule.SerializeServerMessage(Lang.mp[10].ToNetworkText(), PartyChatCommand.ERROR_COLOR);

            NetManager.Instance.SendToClient(packet, (int)clientId);
        }
        private void OnServerChat(ServerChatEventArgs e)
        {
            if (e.Handled)
            {
                return;
            }

            var player = TShock.Players[e.Who];

            if (player == null || !player.IsLoggedIn)
            {
                return;
            }

            if (!player.HasPermission(TShockAPI.Permissions.canchat) || player.mute)
            {
                return;
            }

            if (e.Text.StartsWith(TShock.Config.CommandSpecifier) ||
                e.Text.StartsWith(TShock.Config.CommandSilentSpecifier))
            {
                return;
            }

            var playerData = _database.Get(player.Account);

            if (playerData == null)
            {
                return;
            }

            var prefix    = playerData.ChatData.Prefix ?? player.Group.Prefix;
            var suffix    = playerData.ChatData.Suffix ?? player.Group.Suffix;
            var chatColor = playerData.ChatData.Color?.ParseColor() ?? player.Group.ChatColor.ParseColor();

            if (!TShock.Config.EnableChatAboveHeads)
            {
                // byDD
                String text    = e.Text;
                string pattern = "\\bтз\\b";
                text = Regex.Replace(text, pattern, "ТБ", RegexOptions.IgnoreCase);
                //Terraria.Chat.ChatMessage.

                var message = string.Format(TShock.Config.ChatFormat, player.Group.Name, prefix, player.Name, suffix,
                                            text); //byDD
                TSPlayer.All.SendMessage(message, chatColor);
                TSPlayer.Server.SendMessage(message, chatColor);
                TShock.Log.Info($"Broadcast: {message}");
            }
            else
            {
                var playerName = player.TPlayer.name;
                player.TPlayer.name = string.Format(TShock.Config.ChatAboveHeadsFormat, player.Group.Name, prefix,
                                                    player.Name,
                                                    suffix);
                NetMessage.SendData((int)PacketTypes.PlayerInfo, -1, -1, NetworkText.FromLiteral(player.TPlayer.name),
                                    e.Who);

                player.TPlayer.name = playerName;

                var packet =
                    NetTextModule.SerializeServerMessage(NetworkText.FromLiteral(e.Text), chatColor, (byte)e.Who);
                NetManager.Instance.Broadcast(packet, e.Who);

                NetMessage.SendData((int)PacketTypes.PlayerInfo, -1, -1, NetworkText.FromLiteral(playerName), e.Who);

                var msg =
                    $"<{string.Format(TShock.Config.ChatAboveHeadsFormat, player.Group.Name, prefix, player.Name, suffix)}> {e.Text}";

                player.SendMessage(msg, chatColor);
                TSPlayer.Server.SendMessage(msg, chatColor);
                TShock.Log.Info($"Broadcast: {msg}");
            }

            e.Handled = true;
        }
        private static void OnChat(ServerChatEventArgs e)
        {
            if (e.Handled)
            {
                return;
            }

            var player = TShock.Players[e.Who];

            if (player == null)
            {
                return;
            }

            if (!player.HasPermission(TShockAPI.Permissions.canchat) || player.mute)
            {
                return;
            }

            if (e.Text.StartsWith(TShock.Config.CommandSpecifier) || e.Text.StartsWith(TShock.Config.CommandSilentSpecifier))
            {
                return;
            }

            var playerData = player.GetData <PlayerInfo>(PlayerInfo.DataKey);
            var prefix     = playerData?.ChatData.Prefix ?? player.Group.Prefix;
            var suffix     = playerData?.ChatData.Suffix ?? player.Group.Suffix;
            var chatColor  = playerData?.ChatData.Color?.ParseColor() ?? player.Group.ChatColor.ParseColor();

            if (!TShock.Config.EnableChatAboveHeads)
            {
                var message = string.Format(TShock.Config.ChatFormat, player.Group.Name, prefix, player.Name, suffix, e.Text);
                TSPlayer.All.SendMessage(message, chatColor);
                TSPlayer.Server.SendMessage(message, chatColor);
                TShock.Log.Info($"Broadcast: {message}");

                e.Handled = true;
            }
            else
            {
                var playerName = player.TPlayer.name;
                player.TPlayer.name = string.Format(TShock.Config.ChatAboveHeadsFormat, player.Group.Name, prefix, player.Name,
                                                    suffix);
                NetMessage.SendData((int)PacketTypes.PlayerInfo, -1, -1, NetworkText.FromLiteral(player.TPlayer.name), e.Who);

                player.TPlayer.name = playerName;

                var packet = NetTextModule.SerializeServerMessage(NetworkText.FromLiteral(e.Text), chatColor, (byte)e.Who);
                NetManager.Instance.Broadcast(packet, e.Who);

                NetMessage.SendData((int)PacketTypes.PlayerInfo, -1, -1, NetworkText.FromLiteral(playerName), e.Who);

                var msg = string.Format("<{0}> {1}", string.Format(TShock.Config.ChatAboveHeadsFormat, player.Group.Name,
                                                                   prefix, player.Name, suffix), e.Text);

                player.SendMessage(msg, chatColor);
                TSPlayer.Server.SendMessage(msg, chatColor);
                TShock.Log.Info($"Broadcast: {msg}");

                e.Handled = true;
            }
        }
Example #10
0
        private void OnServerChat(ServerChatEventArgs e)
        {
            if (e.Handled)
            {
                return;
            }
            if (string.IsNullOrWhiteSpace(_configuration.ChatFormat))
            {
                return;
            }
            if (e.Text.StartsWith(TShock.Config.CommandSpecifier) ||
                e.Text.StartsWith(TShock.Config.CommandSilentSpecifier))
            {
                return;
            }

            var player         = TShock.Players[e.Who];
            var playerMetadata = player?.GetData <PlayerMetadata>(DataKey);

            if (playerMetadata == null)
            {
                return;
            }
            if (!player.HasPermission(Permissions.canchat) || player.mute)
            {
                return;
            }

            var chatColor = _configuration.ChatColorsEnabled
                ? playerMetadata.Clan.ChatColor.GetColor()
                : player.Group.ChatColor.GetColor();

            if (!TShock.Config.EnableChatAboveHeads)
            {
                var message = string.Format(_configuration.ChatFormat, player.Name, player.Group.Name,
                                            player.Group.Prefix, player.Group.Suffix, playerMetadata.Clan.Prefix, e.Text);
                TSPlayer.All.SendMessage(message, chatColor);
                TSPlayer.Server.SendMessage(message, chatColor);
                TShock.Log.Info($"Broadcast: {message}");
            }
            else
            {
                var playerName = player.TPlayer.name;
                player.TPlayer.name = string.Format(TShock.Config.ChatAboveHeadsFormat, player.Group.Name,
                                                    playerMetadata.Clan.Prefix, player.Name, player.Group.Suffix);
                NetMessage.SendData((int)PacketTypes.PlayerInfo, -1, -1, NetworkText.FromLiteral(player.TPlayer.name),
                                    e.Who);

                player.TPlayer.name = playerName;
                var packet =
                    NetTextModule.SerializeServerMessage(NetworkText.FromLiteral(e.Text), chatColor, (byte)e.Who);
                NetManager.Instance.Broadcast(packet, e.Who);
                NetMessage.SendData((int)PacketTypes.PlayerInfo, -1, -1, NetworkText.FromLiteral(playerName), e.Who);

                var msg =
                    $"<{string.Format(TShock.Config.ChatAboveHeadsFormat, player.Group.Name, playerMetadata.Clan.Prefix, player.Name, player.Group.Suffix)}> {e.Text}";
                player.SendMessage(msg, chatColor);
                TSPlayer.Server.SendMessage(msg, chatColor);
                TShock.Log.Info($"Broadcast: {msg}");
            }

            e.Handled = true;
        }
 // Token: 0x06002558 RID: 9560 RVA: 0x0001A248 File Offset: 0x00018448
 private void BroadcastRawMessage(ChatMessage message, byte author, Color messageColor)
 {
     NetManager.Instance.Broadcast(NetTextModule.SerializeServerMessage(NetworkText.FromLiteral(message.Text), messageColor), -1);
 }
 // Token: 0x06002554 RID: 9556 RVA: 0x0001A23A File Offset: 0x0001843A
 public static NetPacket SerializeServerMessage(NetworkText text, Color color)
 {
     return(NetTextModule.SerializeServerMessage(text, color, byte.MaxValue));
 }
        private static void OnChat(object sender, PlayerChattingEventArgs args)
        {
            var player = TShock.Players[args.Player.Index];

            if (player == null)
            {
                return;
            }

            if (!player.HasPermission(TShockAPI.Permissions.canchat) || player.mute)
            {
                return;
            }

            if (args.RawText.StartsWith(TShock.Config.CommandSpecifier) || args.RawText.StartsWith(TShock.Config.CommandSilentSpecifier))
            {
                return;
            }

            bool  isColor = false, hasPrefix = false;
            Color chatColor;
            var   playerData = player.GetData <PlayerInfo>(PlayerInfo.DataKey);
            var   prefix     = playerData?.ChatData.Prefix ?? player.Group.Prefix;
            var   suffix     = playerData?.ChatData.Suffix ?? player.Group.Suffix;

            try {
                playerData?.ChatData.Color?.ParseColor();
                isColor = true;
            } catch (Exception e) {
                isColor = false;
            }

            if (isColor)
            {
                chatColor = playerData?.ChatData.Color?.ParseColor() ?? player.Group.ChatColor.ParseColor();
            }
            else
            {
                chatColor = player.Group.ChatColor.ParseColor();
            }

            if (!TShock.Config.EnableChatAboveHeads)
            {
                if (prefix != "")
                {
                    args.Message.Prefixes.Clear();
                    args.Message.Prefix(prefix);
                }
                args.Message.Suffix(suffix);
                args.Message.Colorize(chatColor);
            }
            else
            {
                var playerName = player.TPlayer.name;
                player.TPlayer.name = string.Format(TShock.Config.ChatAboveHeadsFormat, player.Group.Name, prefix, player.Name,
                                                    suffix);
                NetMessage.SendData((int)PacketTypes.PlayerInfo, -1, -1, NetworkText.FromLiteral(player.TPlayer.name), args.Player.Index);

                player.TPlayer.name = playerName;

                var packet = NetTextModule.SerializeServerMessage(NetworkText.FromLiteral(args.RawText), chatColor, (byte)args.Player.Index);
                NetManager.Instance.Broadcast(packet, args.Player.Index);

                NetMessage.SendData((int)PacketTypes.PlayerInfo, -1, -1, NetworkText.FromLiteral(playerName), args.Player.Index);

                var msg = string.Format("<{0}> {1}", string.Format(TShock.Config.ChatAboveHeadsFormat, player.Group.Name,
                                                                   prefix, player.Name, suffix), args.RawText);

                if (prefix != "")
                {
                    args.Message.Prefixes.Clear();
                    args.Message.Prefix(prefix);
                }
                args.Message.Suffix(suffix);
                args.Message.Colorize(chatColor);
            }
        }
Example #14
0
        public static void DisplayMessageOnClient(NetworkText text, Color color, int playerId)
        {
            NetPacket packet = NetTextModule.SerializeServerMessage(text, color, byte.MaxValue);

            NetManager.Instance.SendToClient(packet, playerId);
        }