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; }