public override void Process(Level level) { if (MessageString.Length > 0) { if (MessageString[0] == '/') { var obj = GameOpCommandFactory.Parse(MessageString); if (obj != null) { var player = ""; if (level != null) { player += " (" + level.GetPlayerAvatar().GetId() + ", " + level.GetPlayerAvatar().GetAvatarName() + ")"; } Debugger.WriteLine("\t" + obj.GetType().Name + player); ((GameOpCommand)obj).Execute(level); } } else if (!MessageString.Contains("./")) { var senderId = level.GetPlayerAvatar().GetId(); var senderName = level.GetPlayerAvatar().GetAvatarName(); foreach (var onlinePlayer in ResourcesManager.GetOnlinePlayers()) { var p = new GlobalChatLineMessage(onlinePlayer.GetClient()); if (onlinePlayer.GetAccountPrivileges() > 0) { p.SetPlayerName(senderName + " #" + senderId); } else { p.SetPlayerName(senderName); } p.SetChatMessage(FilterString(MessageString)); p.SetPlayerId(senderId); p.SetLeagueId(level.GetPlayerAvatar().GetLeagueId()); p.SetAlliance(ObjectManager.GetAlliance(level.GetPlayerAvatar().GetAllianceId())); PacketManager.ProcessOutgoingPacket(p); } } } }
public override void Process(Level level) { if (Message.Length > 0) { if (Message[0] == '/') { var obj = GameOpCommandFactory.Parse(Message); if (obj != null) { var player = ""; if (level != null) { player += " (" + level.GetPlayerAvatar().GetId() + ", " + level.GetPlayerAvatar().GetAvatarName() + ")"; } Debugger.WriteLine("\t" + obj.GetType().Name + player); ((GameOpCommand)obj).Execute(level); } } else { if (File.Exists(@"filter.ucs")) //If you rename filter.ucs, you can simply deactivate with it the global Chat and send a Message to the player. { var senderId = level.GetPlayerAvatar().GetId(); var senderName = level.GetPlayerAvatar().GetAvatarName(); var badwords = new List <string>(); var r = new StreamReader(@"filter.ucs"); var line = ""; while ((line = r.ReadLine()) != null) { badwords.Add(line); } var badword = badwords.Any(s => Message.Contains(s)); if (badword) { var p = new GlobalChatLineMessage(level.GetClient()); p.SetPlayerId(0); p.SetPlayerName("UCS Chat Filter System"); p.SetChatMessage("DETECTED BAD WORD! PLEASE AVOID USING BAD WORDS!"); PacketManager.ProcessOutgoingPacket(p); return; } foreach (var onlinePlayer in ResourcesManager.GetOnlinePlayers()) { var p = new GlobalChatLineMessage(onlinePlayer.GetClient()); if (onlinePlayer.GetAccountPrivileges() > 0) { p.SetPlayerName(senderName + " #" + senderId); } else { p.SetPlayerName(senderName); } p.SetChatMessage(Message); p.SetPlayerId(senderId); p.SetLeagueId(level.GetPlayerAvatar().GetLeagueId()); p.SetAlliance(ObjectManager.GetAlliance(level.GetPlayerAvatar().GetAllianceId())); PacketManager.ProcessOutgoingPacket(p); } Console.WriteLine("[UCS][{0}]{1}", level.GetPlayerAvatar().GetAvatarName(), Message); } else { var p = new GlobalChatLineMessage(level.GetClient()); p.SetPlayerId(0); p.SetPlayerName("UCS Chat System"); p.SetChatMessage( "The Global Chat is currently disabled. Please try again later! For more Informations, check the Server Status!"); PacketManager.ProcessOutgoingPacket(p); } } } }
public override void Execute(Level level) { if (level.GetAccountPrivileges() >= GetRequiredAccountPrivileges()) { try { if (m_vArgs.Length >= 2) { var senderId = level.GetPlayerAvatar().GetId(); var c = level.GetClient(); var argcount = m_vArgs.Length; var currentarg = 2; var msg = ""; while (currentarg < m_vArgs.Length) { msg += m_vArgs[currentarg] + " "; currentarg++; } var message = msg; var id = Convert.ToInt64(m_vArgs[1]); bool playerexist; try { var l = ResourcesManager.GetPlayer(id); playerexist = true; } catch { playerexist = false; } if (playerexist.Equals(true)) { var l = ResourcesManager.GetPlayer(id); var sendername = level.GetPlayerAvatar().GetAvatarName(); var senderalliance = ObjectManager.GetAlliance(level.GetPlayerAvatar().GetAllianceId()); if (ResourcesManager.IsPlayerOnline(l)) { var utmclient = l.GetClient(); var pm = new GlobalChatLineMessage(utmclient); pm.SetChatMessage(Message.FilterString(message)); pm.SetPlayerName(sendername + " (Private Message)"); pm.SetPlayerId(senderId); pm.SetLeagueId(l.GetPlayerAvatar().GetLeagueId()); pm.SetAlliance(senderalliance); PacketManager.ProcessOutgoingPacket(pm); var resp = new GlobalChatLineMessage(c); resp.SetChatMessage("Successfully sent Private Message to: " + l.GetPlayerAvatar().GetAvatarName() + " with the Text: " + Message.FilterString(message)); resp.SetPlayerId(senderId); resp.SetAlliance(senderalliance); resp.SetLeagueId(22); PacketManager.ProcessOutgoingPacket(resp); } else { var pm = new GlobalChatLineMessage(c); pm.SetChatMessage("Player is offline or not exist."); pm.SetPlayerId(0); pm.SetPlayerName("System Manager"); pm.SetLeagueId(22); PacketManager.ProcessOutgoingPacket(pm); } } } else { var p = new GlobalChatLineMessage(level.GetClient()); p.SetChatMessage( "Wrong usage,Please use /pm userid text\nTo get your ID use /myid. Save it or tell it to your friends."); p.SetPlayerId(0); p.SetLeagueId(22); p.SetPlayerName("System Manager"); } } catch (Exception e) { var p = new GlobalChatLineMessage(level.GetClient()); p.SetChatMessage( "Wrong usage,Please use /pm userid text\nTo get your ID use /myid. Save it or tell it to your friends."); p.SetPlayerId(0); p.SetLeagueId(22); p.SetPlayerName("System Manager"); PacketManager.ProcessOutgoingPacket(p); Debugger.WriteLine("Exception on PM caught.\n{0}", e, 4, ConsoleColor.Red); } } else { SendCommandFailedMessage(level.GetClient()); } }