Index: C:/eclipse-31m7/workspace/L2_GameServer/java/net/sf/l2j/gameserver/clientpackets/Say2.java =================================================================== --- C:/eclipse-31m7/workspace/L2_GameServer/java/net/sf/l2j/gameserver/clientpackets/Say2.java (revision 792) +++ C:/eclipse-31m7/workspace/L2_GameServer/java/net/sf/l2j/gameserver/clientpackets/Say2.java (working copy) @@ -113,9 +113,18 @@ L2PcInstance receiver = L2World.getInstance().getPlayer(_target); if (receiver != null) { - receiver.sendPacket(cs); - cs = new CreatureSay(activeChar.getObjectId(), _type,receiver.getName(), "->" + _text); - activeChar.sendPacket(cs); + if(!receiver.getMessageRefusal()) + { + receiver.sendPacket(cs); + cs = new CreatureSay(activeChar.getObjectId(), _type,receiver.getName(), "->" + _text); + activeChar.sendPacket(cs); + } + else + { + SystemMessage sm = new SystemMessage(614); + sm.addString(_target + " in message refusal mode"); + activeChar.sendPacket(sm); + } } else { Index: C:/eclipse-31m7/workspace/L2_GameServer/java/net/sf/l2j/gameserver/model/L2PcInstance.java =================================================================== --- C:/eclipse-31m7/workspace/L2_GameServer/java/net/sf/l2j/gameserver/model/L2PcInstance.java (revision 792) +++ C:/eclipse-31m7/workspace/L2_GameServer/java/net/sf/l2j/gameserver/model/L2PcInstance.java (working copy) @@ -287,6 +287,8 @@ private boolean _isInvul; private boolean _isGm; private int _accessLevel; + private boolean _messageRefusal = false; // message refusal mode + private boolean _isInGmlist = false; // show gm gm-list public boolean _exploring = false; @@ -5396,4 +5398,14 @@ { _telemode = mode; } + + public boolean getMessageRefusal() + { + return _messageRefusal; + } + + public void setMessageRefusal(boolean mode) + { + _messageRefusal = mode; + } } Index: C:/eclipse-31m7/workspace/L2_GameServer/java/net/sf/l2j/gameserver/handler/admincommandhandlers/AdminAdmin.java =================================================================== --- C:/eclipse-31m7/workspace/L2_GameServer/java/net/sf/l2j/gameserver/handler/admincommandhandlers/AdminAdmin.java (revision 792) +++ C:/eclipse-31m7/workspace/L2_GameServer/java/net/sf/l2j/gameserver/handler/admincommandhandlers/AdminAdmin.java (working copy) @@ -19,8 +19,10 @@ package net.sf.l2j.gameserver.handler.admincommandhandlers; import net.sf.l2j.Config; +import net.sf.l2j.gameserver.GmListTable; import net.sf.l2j.gameserver.handler.IAdminCommandHandler; import net.sf.l2j.gameserver.model.L2PcInstance; +import net.sf.l2j.gameserver.serverpackets.CreatureSay; import net.sf.l2j.gameserver.serverpackets.NpcHtmlMessage; import net.sf.l2j.gameserver.serverpackets.PlaySound; import net.sf.l2j.gameserver.serverpackets.SystemMessage; @@ -33,7 +35,7 @@ */ public class AdminAdmin implements IAdminCommandHandler { - private static String[] _adminCommands = {"admin_admin","admin_play_sounds","admin_play_sound"}; + private static String[] _adminCommands = {"admin_admin","admin_play_sounds","admin_play_sound","admin_gmliston","admin_gmlistoff","admin_silence"}; private static final int REQUIRED_LEVEL = Config.GM_MENU; public boolean useAdminCommand(String command, L2PcInstance activeChar) { @@ -54,7 +56,36 @@ { playAdminSound(activeChar,command.substring(17)); } + + else if(command.startsWith("admin_gmliston")) + { + GmListTable.getInstance().addGm(activeChar); + } + else if(command.startsWith("admin_gmlistoff")) + { + GmListTable.getInstance().deleteGm(activeChar); + } + + else if(command.startsWith("admin_silence")) + { + SystemMessage _sm = new SystemMessage(614); + + if(activeChar.getMessageRefusal()) // already in message refusal mode + { + activeChar.setMessageRefusal(false); + _sm.addString("Message refusal mode disabled"); + } + else + { + activeChar.setMessageRefusal(true); + _sm.addString("Message refusal mode enabled"); + } + + activeChar.sendPacket(_sm); + } + + return true; }