public static bool ProccesActionCommand(ChatMessage message)
        {
            if (!message.Message.StartsWith("//"))
                return false;

            string msg = message.Message.Replace("//", "");
            string cmdName = msg.Split(' ')[0];
            msg = msg.Replace(cmdName + " ", "");

            KeyValuePair<AdminCommandAttribute, Type> kv = Commands.FirstOrDefault(p => p.Key.Command == cmdName);
            if (kv.Value == null)
                return false;

            if (kv.Key.AccessLevel > ((Connection)message.Sender.Connection).AccountInfo.AccessLevel)
                return false;

            var command = (IAdminEngine)Activator.CreateInstance(kv.Value);
            try
            {
                command.ProcessAction(message.Sender, msg);
            }
            catch (Exception e)
            {
                Log.Warn("[ADMIN ENGINE] Somethins wrong! {0}", e);
            }

            return true;
        }
 public static void SendMessage(ChatMessage message)
 {
     if (!OnSendMessage(message))
     switch (message.SendType)
     {
         case SendMessageType.BROADCAST:
             PacketHandler.BroadcastPacket(new SpChatMessage(message));
             break;
         case SendMessageType.PRIVATE:
             PacketHandler.SendPacket((Connection)message.Sender.Connection, new SpChatMessage(message));
             break;
     }
 }
 public static void SendWhisperMessage(Player sender, string msg, string target)
 {
     Connection t = PlayerService.GetConnectionFromCharacterName(target);
     if (t == null)
         return;
     ChatMessage message = new ChatMessage(sender, msg, MessageType.WHISPER, SendMessageType.PRIVATE);
     PacketHandler.SendPacket((Connection)sender.Connection, new SpChatMessage(message));
     PacketHandler.SendPacket(t, new SpChatMessage(message));
 }
 public SpChatMessage(ChatMessage msg)
 {
     Msg = msg;
 }