Пример #1
0
        internal static void HandleChatMessage(Int32 id, DataBuffer buffer)
        {
            var msg = buffer.ReadString();

            if (msg[0] == '/')
            {
                var data = msg.ToLower().Split(' ');
                switch (data[0])
                {
                case "/editmap":
                    if (Data.Players[id].UserRank >= (Byte)Enumerations.Ranks.Developer)
                    {
                        Send.MapEditorData(id);
                    }
                    break;

                case "/w":
                    Send.ChatMessageWorld(id, msg.Substring(2), Enumerations.MessageType.World);
                    break;

                case "/me":
                case "/em":
                    Send.ChatMessageMap(id, Data.Players[id].Characters[Data.TempPlayers[id].CurrentCharacter].Map, msg.Substring(3), Enumerations.MessageType.Emote);
                    break;

                default:
                    Send.ChatMessage(id, id, "Unknown command.", Enumerations.MessageType.Error);
                    break;
                }
            }
            else
            {
                Send.ChatMessageMap(id, Data.Players[id].Characters[Data.TempPlayers[id].CurrentCharacter].Map, msg, Enumerations.MessageType.Map);
            }
        }
Пример #2
0
 public static void ChatMessageWorld(Int32 sender, String msg, Enumerations.MessageType type)
 {
     for (var i = 0; i < Data.Players.Count; i++)
     {
         if (Data.Players.ContainsKey(Data.Players.ElementAt(i).Key))
         {
             var key = Data.Players.ElementAt(i).Key;
             if (Data.TempPlayers.ContainsKey(key))
             {
                 if (Data.TempPlayers[key].InGame)
                 {
                     Send.ChatMessage(key, sender, msg, type);
                 }
             }
         }
     }
 }