diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/voicedcommandhandlers/ChatAdmin.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/voicedcommandhandlers/ChatAdmin.java index 18541869a7..e98ce385ab 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/voicedcommandhandlers/ChatAdmin.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/voicedcommandhandlers/ChatAdmin.java @@ -27,6 +27,8 @@ import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; import com.l2jmobius.gameserver.model.punishment.PunishmentAffect; import com.l2jmobius.gameserver.model.punishment.PunishmentTask; import com.l2jmobius.gameserver.model.punishment.PunishmentType; +import com.l2jmobius.gameserver.model.skills.AbnormalVisualEffect; +import com.l2jmobius.gameserver.util.BuilderUtil; import com.l2jmobius.gameserver.util.Util; public class ChatAdmin implements IVoicedCommandHandler @@ -34,7 +36,9 @@ public class ChatAdmin implements IVoicedCommandHandler private static final String[] VOICED_COMMANDS = { "banchat", - "unbanchat" + "chatban", + "unbanchat", + "chatunban" }; @Override @@ -45,113 +49,120 @@ public class ChatAdmin implements IVoicedCommandHandler return false; } - if (command.equals(VOICED_COMMANDS[0])) // banchat + switch (command) { - if (params == null) + case "banchat": + case "chatban": { - activeChar.sendMessage("Usage: .banchat name [minutes]"); - return true; - } - final StringTokenizer st = new StringTokenizer(params); - if (st.hasMoreTokens()) - { - final String name = st.nextToken(); - long expirationTime = 0; + if (params == null) + { + BuilderUtil.sendSysMessage(activeChar, "Usage: .banchat name [minutes]"); + return true; + } + final StringTokenizer st = new StringTokenizer(params); if (st.hasMoreTokens()) { - final String token = st.nextToken(); - if (Util.isDigit(token)) + final String name = st.nextToken(); + long expirationTime = 0; + if (st.hasMoreTokens()) { - expirationTime = System.currentTimeMillis() + (Integer.parseInt(st.nextToken()) * 60 * 1000); - } - } - - final int objId = CharNameTable.getInstance().getIdByName(name); - if (objId > 0) - { - final L2PcInstance player = L2World.getInstance().getPlayer(objId); - if ((player == null) || !player.isOnline()) - { - activeChar.sendMessage("Player not online !"); - return false; - } - if (player.isChatBanned()) - { - activeChar.sendMessage("Player is already punished !"); - return false; - } - if (player == activeChar) - { - activeChar.sendMessage("You can't ban yourself !"); - return false; - } - if (player.isGM()) - { - activeChar.sendMessage("You can't ban GM !"); - return false; - } - if (AdminData.getInstance().hasAccess(command, player.getAccessLevel())) - { - activeChar.sendMessage("You can't ban moderator !"); - return false; + final String token = st.nextToken(); + if (Util.isDigit(token)) + { + expirationTime = Integer.parseInt(token); + } } - PunishmentManager.getInstance().startPunishment(new PunishmentTask(objId, PunishmentAffect.CHARACTER, PunishmentType.CHAT_BAN, expirationTime, "Chat banned by moderator", activeChar.getName())); - player.sendMessage("Chat banned by moderator " + activeChar.getName()); - - if (expirationTime > 0) + final int objId = CharNameTable.getInstance().getIdByName(name); + if (objId > 0) { - activeChar.sendMessage("Player " + player.getName() + " chat banned for " + expirationTime + " minutes."); + final L2PcInstance player = L2World.getInstance().getPlayer(objId); + if ((player == null) || !player.isOnline()) + { + BuilderUtil.sendSysMessage(activeChar, "Player not online!"); + return false; + } + if (player.isChatBanned()) + { + BuilderUtil.sendSysMessage(activeChar, "Player is already punished!"); + return false; + } + if (player == activeChar) + { + BuilderUtil.sendSysMessage(activeChar, "You can't ban yourself!"); + return false; + } + if (player.isGM()) + { + BuilderUtil.sendSysMessage(activeChar, "You can't ban a GM!"); + return false; + } + if (AdminData.getInstance().hasAccess(command, player.getAccessLevel())) + { + BuilderUtil.sendSysMessage(activeChar, "You can't ban moderator!"); + return false; + } + + PunishmentManager.getInstance().startPunishment(new PunishmentTask(objId, PunishmentAffect.CHARACTER, PunishmentType.CHAT_BAN, System.currentTimeMillis() + (expirationTime * 1000 * 60), "Chat banned by moderator", activeChar.getName())); + if (expirationTime > 0) + { + BuilderUtil.sendSysMessage(activeChar, "Player " + player.getName() + " chat banned for " + expirationTime + " minutes."); + } + else + { + BuilderUtil.sendSysMessage(activeChar, "Player " + player.getName() + " chat banned forever."); + } + player.sendMessage("Chat banned by moderator " + activeChar.getName()); + player.getEffectList().startAbnormalVisualEffect(AbnormalVisualEffect.NO_CHAT); } else { - activeChar.sendMessage("Player " + player.getName() + " chat banned forever."); - } - } - else - { - activeChar.sendMessage("Player not found !"); - return false; - } - } - } - else if (command.equals(VOICED_COMMANDS[1])) // unbanchat - { - if (params == null) - { - activeChar.sendMessage("Usage: .unbanchat name"); - return true; - } - final StringTokenizer st = new StringTokenizer(params); - if (st.hasMoreTokens()) - { - final String name = st.nextToken(); - - final int objId = CharNameTable.getInstance().getIdByName(name); - if (objId > 0) - { - final L2PcInstance player = L2World.getInstance().getPlayer(objId); - if ((player == null) || !player.isOnline()) - { - activeChar.sendMessage("Player not online !"); + BuilderUtil.sendSysMessage(activeChar, "Player not found!"); return false; } - if (!player.isChatBanned()) + } + break; + } + case "unbanchat": + case "chatunban": + { + if (params == null) + { + BuilderUtil.sendSysMessage(activeChar, "Usage: .unbanchat name"); + return true; + } + final StringTokenizer st = new StringTokenizer(params); + if (st.hasMoreTokens()) + { + final String name = st.nextToken(); + + final int objId = CharNameTable.getInstance().getIdByName(name); + if (objId > 0) { - activeChar.sendMessage("Player is not chat banned !"); + final L2PcInstance player = L2World.getInstance().getPlayer(objId); + if ((player == null) || !player.isOnline()) + { + BuilderUtil.sendSysMessage(activeChar, "Player not online!"); + return false; + } + if (!player.isChatBanned()) + { + BuilderUtil.sendSysMessage(activeChar, "Player is not chat banned!"); + return false; + } + + PunishmentManager.getInstance().stopPunishment(objId, PunishmentAffect.CHARACTER, PunishmentType.CHAT_BAN); + BuilderUtil.sendSysMessage(activeChar, "Player " + player.getName() + " chat unbanned."); + player.sendMessage("Chat unbanned by moderator " + activeChar.getName()); + player.getEffectList().stopAbnormalVisualEffect(AbnormalVisualEffect.NO_CHAT); + } + else + { + BuilderUtil.sendSysMessage(activeChar, "Player not found!"); return false; } - - PunishmentManager.getInstance().stopPunishment(objId, PunishmentAffect.CHARACTER, PunishmentType.CHAT_BAN); - - activeChar.sendMessage("Player " + player.getName() + " chat unbanned."); - player.sendMessage("Chat unbanned by moderator " + activeChar.getName()); - } - else - { - activeChar.sendMessage("Player not found !"); - return false; } + break; } } return true; diff --git a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/Config.java b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/Config.java index 30c5c9b280..496bb4ffeb 100644 --- a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/Config.java +++ b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/Config.java @@ -2527,7 +2527,7 @@ public final class Config // Load ChatModeration config file (if exists) final PropertiesParser ChatModeration = new PropertiesParser(CUSTOM_CHAT_MODERATION_CONFIG_FILE); - CHAT_ADMIN = ChatModeration.getBoolean("ChatAdmin", false); + CHAT_ADMIN = ChatModeration.getBoolean("ChatAdmin", true); // Load CommunityBoard config file (if exists) final PropertiesParser CommunityBoard = new PropertiesParser(CUSTOM_COMMUNITY_BOARD_CONFIG_FILE); diff --git a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/punishment/PunishmentTask.java b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/punishment/PunishmentTask.java index 037b43e894..d73e56cbe8 100644 --- a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/punishment/PunishmentTask.java +++ b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/punishment/PunishmentTask.java @@ -30,6 +30,9 @@ import com.l2jmobius.commons.database.DatabaseFactory; import com.l2jmobius.gameserver.handler.IPunishmentHandler; import com.l2jmobius.gameserver.handler.PunishmentHandler; import com.l2jmobius.gameserver.instancemanager.PunishmentManager; +import com.l2jmobius.gameserver.model.L2World; +import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; +import com.l2jmobius.gameserver.model.skills.AbnormalVisualEffect; /** * @author UnAfraid @@ -234,6 +237,15 @@ public class PunishmentTask implements Runnable } } + if (_type.equals(PunishmentType.CHAT_BAN) && _affect.equals(PunishmentAffect.CHARACTER)) + { + final L2PcInstance player = L2World.getInstance().getPlayer(Integer.valueOf(_key)); + if (player != null) + { + player.getEffectList().stopAbnormalVisualEffect(AbnormalVisualEffect.NO_CHAT); + } + } + final IPunishmentHandler handler = PunishmentHandler.getInstance().getHandler(_type); if (handler != null) { diff --git a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/network/clientpackets/EnterWorld.java b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/network/clientpackets/EnterWorld.java index 208f773434..0381d4eb50 100644 --- a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/network/clientpackets/EnterWorld.java +++ b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/network/clientpackets/EnterWorld.java @@ -263,6 +263,12 @@ public class EnterWorld implements IClientIncomingPacket } } + // Chat banned icon. + if (activeChar.isChatBanned()) + { + activeChar.getEffectList().startAbnormalVisualEffect(AbnormalVisualEffect.NO_CHAT); + } + // Set dead status if applies if (activeChar.getCurrentHp() < 0.5) { diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/voicedcommandhandlers/ChatAdmin.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/voicedcommandhandlers/ChatAdmin.java index 18541869a7..e98ce385ab 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/voicedcommandhandlers/ChatAdmin.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/voicedcommandhandlers/ChatAdmin.java @@ -27,6 +27,8 @@ import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; import com.l2jmobius.gameserver.model.punishment.PunishmentAffect; import com.l2jmobius.gameserver.model.punishment.PunishmentTask; import com.l2jmobius.gameserver.model.punishment.PunishmentType; +import com.l2jmobius.gameserver.model.skills.AbnormalVisualEffect; +import com.l2jmobius.gameserver.util.BuilderUtil; import com.l2jmobius.gameserver.util.Util; public class ChatAdmin implements IVoicedCommandHandler @@ -34,7 +36,9 @@ public class ChatAdmin implements IVoicedCommandHandler private static final String[] VOICED_COMMANDS = { "banchat", - "unbanchat" + "chatban", + "unbanchat", + "chatunban" }; @Override @@ -45,113 +49,120 @@ public class ChatAdmin implements IVoicedCommandHandler return false; } - if (command.equals(VOICED_COMMANDS[0])) // banchat + switch (command) { - if (params == null) + case "banchat": + case "chatban": { - activeChar.sendMessage("Usage: .banchat name [minutes]"); - return true; - } - final StringTokenizer st = new StringTokenizer(params); - if (st.hasMoreTokens()) - { - final String name = st.nextToken(); - long expirationTime = 0; + if (params == null) + { + BuilderUtil.sendSysMessage(activeChar, "Usage: .banchat name [minutes]"); + return true; + } + final StringTokenizer st = new StringTokenizer(params); if (st.hasMoreTokens()) { - final String token = st.nextToken(); - if (Util.isDigit(token)) + final String name = st.nextToken(); + long expirationTime = 0; + if (st.hasMoreTokens()) { - expirationTime = System.currentTimeMillis() + (Integer.parseInt(st.nextToken()) * 60 * 1000); - } - } - - final int objId = CharNameTable.getInstance().getIdByName(name); - if (objId > 0) - { - final L2PcInstance player = L2World.getInstance().getPlayer(objId); - if ((player == null) || !player.isOnline()) - { - activeChar.sendMessage("Player not online !"); - return false; - } - if (player.isChatBanned()) - { - activeChar.sendMessage("Player is already punished !"); - return false; - } - if (player == activeChar) - { - activeChar.sendMessage("You can't ban yourself !"); - return false; - } - if (player.isGM()) - { - activeChar.sendMessage("You can't ban GM !"); - return false; - } - if (AdminData.getInstance().hasAccess(command, player.getAccessLevel())) - { - activeChar.sendMessage("You can't ban moderator !"); - return false; + final String token = st.nextToken(); + if (Util.isDigit(token)) + { + expirationTime = Integer.parseInt(token); + } } - PunishmentManager.getInstance().startPunishment(new PunishmentTask(objId, PunishmentAffect.CHARACTER, PunishmentType.CHAT_BAN, expirationTime, "Chat banned by moderator", activeChar.getName())); - player.sendMessage("Chat banned by moderator " + activeChar.getName()); - - if (expirationTime > 0) + final int objId = CharNameTable.getInstance().getIdByName(name); + if (objId > 0) { - activeChar.sendMessage("Player " + player.getName() + " chat banned for " + expirationTime + " minutes."); + final L2PcInstance player = L2World.getInstance().getPlayer(objId); + if ((player == null) || !player.isOnline()) + { + BuilderUtil.sendSysMessage(activeChar, "Player not online!"); + return false; + } + if (player.isChatBanned()) + { + BuilderUtil.sendSysMessage(activeChar, "Player is already punished!"); + return false; + } + if (player == activeChar) + { + BuilderUtil.sendSysMessage(activeChar, "You can't ban yourself!"); + return false; + } + if (player.isGM()) + { + BuilderUtil.sendSysMessage(activeChar, "You can't ban a GM!"); + return false; + } + if (AdminData.getInstance().hasAccess(command, player.getAccessLevel())) + { + BuilderUtil.sendSysMessage(activeChar, "You can't ban moderator!"); + return false; + } + + PunishmentManager.getInstance().startPunishment(new PunishmentTask(objId, PunishmentAffect.CHARACTER, PunishmentType.CHAT_BAN, System.currentTimeMillis() + (expirationTime * 1000 * 60), "Chat banned by moderator", activeChar.getName())); + if (expirationTime > 0) + { + BuilderUtil.sendSysMessage(activeChar, "Player " + player.getName() + " chat banned for " + expirationTime + " minutes."); + } + else + { + BuilderUtil.sendSysMessage(activeChar, "Player " + player.getName() + " chat banned forever."); + } + player.sendMessage("Chat banned by moderator " + activeChar.getName()); + player.getEffectList().startAbnormalVisualEffect(AbnormalVisualEffect.NO_CHAT); } else { - activeChar.sendMessage("Player " + player.getName() + " chat banned forever."); - } - } - else - { - activeChar.sendMessage("Player not found !"); - return false; - } - } - } - else if (command.equals(VOICED_COMMANDS[1])) // unbanchat - { - if (params == null) - { - activeChar.sendMessage("Usage: .unbanchat name"); - return true; - } - final StringTokenizer st = new StringTokenizer(params); - if (st.hasMoreTokens()) - { - final String name = st.nextToken(); - - final int objId = CharNameTable.getInstance().getIdByName(name); - if (objId > 0) - { - final L2PcInstance player = L2World.getInstance().getPlayer(objId); - if ((player == null) || !player.isOnline()) - { - activeChar.sendMessage("Player not online !"); + BuilderUtil.sendSysMessage(activeChar, "Player not found!"); return false; } - if (!player.isChatBanned()) + } + break; + } + case "unbanchat": + case "chatunban": + { + if (params == null) + { + BuilderUtil.sendSysMessage(activeChar, "Usage: .unbanchat name"); + return true; + } + final StringTokenizer st = new StringTokenizer(params); + if (st.hasMoreTokens()) + { + final String name = st.nextToken(); + + final int objId = CharNameTable.getInstance().getIdByName(name); + if (objId > 0) { - activeChar.sendMessage("Player is not chat banned !"); + final L2PcInstance player = L2World.getInstance().getPlayer(objId); + if ((player == null) || !player.isOnline()) + { + BuilderUtil.sendSysMessage(activeChar, "Player not online!"); + return false; + } + if (!player.isChatBanned()) + { + BuilderUtil.sendSysMessage(activeChar, "Player is not chat banned!"); + return false; + } + + PunishmentManager.getInstance().stopPunishment(objId, PunishmentAffect.CHARACTER, PunishmentType.CHAT_BAN); + BuilderUtil.sendSysMessage(activeChar, "Player " + player.getName() + " chat unbanned."); + player.sendMessage("Chat unbanned by moderator " + activeChar.getName()); + player.getEffectList().stopAbnormalVisualEffect(AbnormalVisualEffect.NO_CHAT); + } + else + { + BuilderUtil.sendSysMessage(activeChar, "Player not found!"); return false; } - - PunishmentManager.getInstance().stopPunishment(objId, PunishmentAffect.CHARACTER, PunishmentType.CHAT_BAN); - - activeChar.sendMessage("Player " + player.getName() + " chat unbanned."); - player.sendMessage("Chat unbanned by moderator " + activeChar.getName()); - } - else - { - activeChar.sendMessage("Player not found !"); - return false; } + break; } } return true; diff --git a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/Config.java b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/Config.java index 8a7ed94945..fa3d52fcc0 100644 --- a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/Config.java +++ b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/Config.java @@ -2543,7 +2543,7 @@ public final class Config // Load ChatModeration config file (if exists) final PropertiesParser ChatModeration = new PropertiesParser(CUSTOM_CHAT_MODERATION_CONFIG_FILE); - CHAT_ADMIN = ChatModeration.getBoolean("ChatAdmin", false); + CHAT_ADMIN = ChatModeration.getBoolean("ChatAdmin", true); // Load CommunityBoard config file (if exists) final PropertiesParser CommunityBoard = new PropertiesParser(CUSTOM_COMMUNITY_BOARD_CONFIG_FILE); diff --git a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/punishment/PunishmentTask.java b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/punishment/PunishmentTask.java index 037b43e894..d73e56cbe8 100644 --- a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/punishment/PunishmentTask.java +++ b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/punishment/PunishmentTask.java @@ -30,6 +30,9 @@ import com.l2jmobius.commons.database.DatabaseFactory; import com.l2jmobius.gameserver.handler.IPunishmentHandler; import com.l2jmobius.gameserver.handler.PunishmentHandler; import com.l2jmobius.gameserver.instancemanager.PunishmentManager; +import com.l2jmobius.gameserver.model.L2World; +import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; +import com.l2jmobius.gameserver.model.skills.AbnormalVisualEffect; /** * @author UnAfraid @@ -234,6 +237,15 @@ public class PunishmentTask implements Runnable } } + if (_type.equals(PunishmentType.CHAT_BAN) && _affect.equals(PunishmentAffect.CHARACTER)) + { + final L2PcInstance player = L2World.getInstance().getPlayer(Integer.valueOf(_key)); + if (player != null) + { + player.getEffectList().stopAbnormalVisualEffect(AbnormalVisualEffect.NO_CHAT); + } + } + final IPunishmentHandler handler = PunishmentHandler.getInstance().getHandler(_type); if (handler != null) { diff --git a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/clientpackets/EnterWorld.java b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/clientpackets/EnterWorld.java index 6dd1c2907f..fb2f652796 100644 --- a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/clientpackets/EnterWorld.java +++ b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/clientpackets/EnterWorld.java @@ -268,6 +268,12 @@ public class EnterWorld implements IClientIncomingPacket } } + // Chat banned icon. + if (activeChar.isChatBanned()) + { + activeChar.getEffectList().startAbnormalVisualEffect(AbnormalVisualEffect.NO_CHAT); + } + // Set dead status if applies if (activeChar.getCurrentHp() < 0.5) { diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/voicedcommandhandlers/ChatAdmin.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/voicedcommandhandlers/ChatAdmin.java index 18541869a7..e98ce385ab 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/voicedcommandhandlers/ChatAdmin.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/voicedcommandhandlers/ChatAdmin.java @@ -27,6 +27,8 @@ import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; import com.l2jmobius.gameserver.model.punishment.PunishmentAffect; import com.l2jmobius.gameserver.model.punishment.PunishmentTask; import com.l2jmobius.gameserver.model.punishment.PunishmentType; +import com.l2jmobius.gameserver.model.skills.AbnormalVisualEffect; +import com.l2jmobius.gameserver.util.BuilderUtil; import com.l2jmobius.gameserver.util.Util; public class ChatAdmin implements IVoicedCommandHandler @@ -34,7 +36,9 @@ public class ChatAdmin implements IVoicedCommandHandler private static final String[] VOICED_COMMANDS = { "banchat", - "unbanchat" + "chatban", + "unbanchat", + "chatunban" }; @Override @@ -45,113 +49,120 @@ public class ChatAdmin implements IVoicedCommandHandler return false; } - if (command.equals(VOICED_COMMANDS[0])) // banchat + switch (command) { - if (params == null) + case "banchat": + case "chatban": { - activeChar.sendMessage("Usage: .banchat name [minutes]"); - return true; - } - final StringTokenizer st = new StringTokenizer(params); - if (st.hasMoreTokens()) - { - final String name = st.nextToken(); - long expirationTime = 0; + if (params == null) + { + BuilderUtil.sendSysMessage(activeChar, "Usage: .banchat name [minutes]"); + return true; + } + final StringTokenizer st = new StringTokenizer(params); if (st.hasMoreTokens()) { - final String token = st.nextToken(); - if (Util.isDigit(token)) + final String name = st.nextToken(); + long expirationTime = 0; + if (st.hasMoreTokens()) { - expirationTime = System.currentTimeMillis() + (Integer.parseInt(st.nextToken()) * 60 * 1000); - } - } - - final int objId = CharNameTable.getInstance().getIdByName(name); - if (objId > 0) - { - final L2PcInstance player = L2World.getInstance().getPlayer(objId); - if ((player == null) || !player.isOnline()) - { - activeChar.sendMessage("Player not online !"); - return false; - } - if (player.isChatBanned()) - { - activeChar.sendMessage("Player is already punished !"); - return false; - } - if (player == activeChar) - { - activeChar.sendMessage("You can't ban yourself !"); - return false; - } - if (player.isGM()) - { - activeChar.sendMessage("You can't ban GM !"); - return false; - } - if (AdminData.getInstance().hasAccess(command, player.getAccessLevel())) - { - activeChar.sendMessage("You can't ban moderator !"); - return false; + final String token = st.nextToken(); + if (Util.isDigit(token)) + { + expirationTime = Integer.parseInt(token); + } } - PunishmentManager.getInstance().startPunishment(new PunishmentTask(objId, PunishmentAffect.CHARACTER, PunishmentType.CHAT_BAN, expirationTime, "Chat banned by moderator", activeChar.getName())); - player.sendMessage("Chat banned by moderator " + activeChar.getName()); - - if (expirationTime > 0) + final int objId = CharNameTable.getInstance().getIdByName(name); + if (objId > 0) { - activeChar.sendMessage("Player " + player.getName() + " chat banned for " + expirationTime + " minutes."); + final L2PcInstance player = L2World.getInstance().getPlayer(objId); + if ((player == null) || !player.isOnline()) + { + BuilderUtil.sendSysMessage(activeChar, "Player not online!"); + return false; + } + if (player.isChatBanned()) + { + BuilderUtil.sendSysMessage(activeChar, "Player is already punished!"); + return false; + } + if (player == activeChar) + { + BuilderUtil.sendSysMessage(activeChar, "You can't ban yourself!"); + return false; + } + if (player.isGM()) + { + BuilderUtil.sendSysMessage(activeChar, "You can't ban a GM!"); + return false; + } + if (AdminData.getInstance().hasAccess(command, player.getAccessLevel())) + { + BuilderUtil.sendSysMessage(activeChar, "You can't ban moderator!"); + return false; + } + + PunishmentManager.getInstance().startPunishment(new PunishmentTask(objId, PunishmentAffect.CHARACTER, PunishmentType.CHAT_BAN, System.currentTimeMillis() + (expirationTime * 1000 * 60), "Chat banned by moderator", activeChar.getName())); + if (expirationTime > 0) + { + BuilderUtil.sendSysMessage(activeChar, "Player " + player.getName() + " chat banned for " + expirationTime + " minutes."); + } + else + { + BuilderUtil.sendSysMessage(activeChar, "Player " + player.getName() + " chat banned forever."); + } + player.sendMessage("Chat banned by moderator " + activeChar.getName()); + player.getEffectList().startAbnormalVisualEffect(AbnormalVisualEffect.NO_CHAT); } else { - activeChar.sendMessage("Player " + player.getName() + " chat banned forever."); - } - } - else - { - activeChar.sendMessage("Player not found !"); - return false; - } - } - } - else if (command.equals(VOICED_COMMANDS[1])) // unbanchat - { - if (params == null) - { - activeChar.sendMessage("Usage: .unbanchat name"); - return true; - } - final StringTokenizer st = new StringTokenizer(params); - if (st.hasMoreTokens()) - { - final String name = st.nextToken(); - - final int objId = CharNameTable.getInstance().getIdByName(name); - if (objId > 0) - { - final L2PcInstance player = L2World.getInstance().getPlayer(objId); - if ((player == null) || !player.isOnline()) - { - activeChar.sendMessage("Player not online !"); + BuilderUtil.sendSysMessage(activeChar, "Player not found!"); return false; } - if (!player.isChatBanned()) + } + break; + } + case "unbanchat": + case "chatunban": + { + if (params == null) + { + BuilderUtil.sendSysMessage(activeChar, "Usage: .unbanchat name"); + return true; + } + final StringTokenizer st = new StringTokenizer(params); + if (st.hasMoreTokens()) + { + final String name = st.nextToken(); + + final int objId = CharNameTable.getInstance().getIdByName(name); + if (objId > 0) { - activeChar.sendMessage("Player is not chat banned !"); + final L2PcInstance player = L2World.getInstance().getPlayer(objId); + if ((player == null) || !player.isOnline()) + { + BuilderUtil.sendSysMessage(activeChar, "Player not online!"); + return false; + } + if (!player.isChatBanned()) + { + BuilderUtil.sendSysMessage(activeChar, "Player is not chat banned!"); + return false; + } + + PunishmentManager.getInstance().stopPunishment(objId, PunishmentAffect.CHARACTER, PunishmentType.CHAT_BAN); + BuilderUtil.sendSysMessage(activeChar, "Player " + player.getName() + " chat unbanned."); + player.sendMessage("Chat unbanned by moderator " + activeChar.getName()); + player.getEffectList().stopAbnormalVisualEffect(AbnormalVisualEffect.NO_CHAT); + } + else + { + BuilderUtil.sendSysMessage(activeChar, "Player not found!"); return false; } - - PunishmentManager.getInstance().stopPunishment(objId, PunishmentAffect.CHARACTER, PunishmentType.CHAT_BAN); - - activeChar.sendMessage("Player " + player.getName() + " chat unbanned."); - player.sendMessage("Chat unbanned by moderator " + activeChar.getName()); - } - else - { - activeChar.sendMessage("Player not found !"); - return false; } + break; } } return true; diff --git a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/Config.java b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/Config.java index a17e87ea29..af324c258a 100644 --- a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/Config.java +++ b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/Config.java @@ -2560,7 +2560,7 @@ public final class Config // Load ChatModeration config file (if exists) final PropertiesParser ChatModeration = new PropertiesParser(CUSTOM_CHAT_MODERATION_CONFIG_FILE); - CHAT_ADMIN = ChatModeration.getBoolean("ChatAdmin", false); + CHAT_ADMIN = ChatModeration.getBoolean("ChatAdmin", true); // Load CommunityBoard config file (if exists) final PropertiesParser CommunityBoard = new PropertiesParser(CUSTOM_COMMUNITY_BOARD_CONFIG_FILE); diff --git a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/punishment/PunishmentTask.java b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/punishment/PunishmentTask.java index 037b43e894..d73e56cbe8 100644 --- a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/punishment/PunishmentTask.java +++ b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/punishment/PunishmentTask.java @@ -30,6 +30,9 @@ import com.l2jmobius.commons.database.DatabaseFactory; import com.l2jmobius.gameserver.handler.IPunishmentHandler; import com.l2jmobius.gameserver.handler.PunishmentHandler; import com.l2jmobius.gameserver.instancemanager.PunishmentManager; +import com.l2jmobius.gameserver.model.L2World; +import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; +import com.l2jmobius.gameserver.model.skills.AbnormalVisualEffect; /** * @author UnAfraid @@ -234,6 +237,15 @@ public class PunishmentTask implements Runnable } } + if (_type.equals(PunishmentType.CHAT_BAN) && _affect.equals(PunishmentAffect.CHARACTER)) + { + final L2PcInstance player = L2World.getInstance().getPlayer(Integer.valueOf(_key)); + if (player != null) + { + player.getEffectList().stopAbnormalVisualEffect(AbnormalVisualEffect.NO_CHAT); + } + } + final IPunishmentHandler handler = PunishmentHandler.getInstance().getHandler(_type); if (handler != null) { diff --git a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/clientpackets/EnterWorld.java b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/clientpackets/EnterWorld.java index 6dd1c2907f..fb2f652796 100644 --- a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/clientpackets/EnterWorld.java +++ b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/clientpackets/EnterWorld.java @@ -268,6 +268,12 @@ public class EnterWorld implements IClientIncomingPacket } } + // Chat banned icon. + if (activeChar.isChatBanned()) + { + activeChar.getEffectList().startAbnormalVisualEffect(AbnormalVisualEffect.NO_CHAT); + } + // Set dead status if applies if (activeChar.getCurrentHp() < 0.5) { diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/voicedcommandhandlers/ChatAdmin.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/voicedcommandhandlers/ChatAdmin.java index 18541869a7..e98ce385ab 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/voicedcommandhandlers/ChatAdmin.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/voicedcommandhandlers/ChatAdmin.java @@ -27,6 +27,8 @@ import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; import com.l2jmobius.gameserver.model.punishment.PunishmentAffect; import com.l2jmobius.gameserver.model.punishment.PunishmentTask; import com.l2jmobius.gameserver.model.punishment.PunishmentType; +import com.l2jmobius.gameserver.model.skills.AbnormalVisualEffect; +import com.l2jmobius.gameserver.util.BuilderUtil; import com.l2jmobius.gameserver.util.Util; public class ChatAdmin implements IVoicedCommandHandler @@ -34,7 +36,9 @@ public class ChatAdmin implements IVoicedCommandHandler private static final String[] VOICED_COMMANDS = { "banchat", - "unbanchat" + "chatban", + "unbanchat", + "chatunban" }; @Override @@ -45,113 +49,120 @@ public class ChatAdmin implements IVoicedCommandHandler return false; } - if (command.equals(VOICED_COMMANDS[0])) // banchat + switch (command) { - if (params == null) + case "banchat": + case "chatban": { - activeChar.sendMessage("Usage: .banchat name [minutes]"); - return true; - } - final StringTokenizer st = new StringTokenizer(params); - if (st.hasMoreTokens()) - { - final String name = st.nextToken(); - long expirationTime = 0; + if (params == null) + { + BuilderUtil.sendSysMessage(activeChar, "Usage: .banchat name [minutes]"); + return true; + } + final StringTokenizer st = new StringTokenizer(params); if (st.hasMoreTokens()) { - final String token = st.nextToken(); - if (Util.isDigit(token)) + final String name = st.nextToken(); + long expirationTime = 0; + if (st.hasMoreTokens()) { - expirationTime = System.currentTimeMillis() + (Integer.parseInt(st.nextToken()) * 60 * 1000); - } - } - - final int objId = CharNameTable.getInstance().getIdByName(name); - if (objId > 0) - { - final L2PcInstance player = L2World.getInstance().getPlayer(objId); - if ((player == null) || !player.isOnline()) - { - activeChar.sendMessage("Player not online !"); - return false; - } - if (player.isChatBanned()) - { - activeChar.sendMessage("Player is already punished !"); - return false; - } - if (player == activeChar) - { - activeChar.sendMessage("You can't ban yourself !"); - return false; - } - if (player.isGM()) - { - activeChar.sendMessage("You can't ban GM !"); - return false; - } - if (AdminData.getInstance().hasAccess(command, player.getAccessLevel())) - { - activeChar.sendMessage("You can't ban moderator !"); - return false; + final String token = st.nextToken(); + if (Util.isDigit(token)) + { + expirationTime = Integer.parseInt(token); + } } - PunishmentManager.getInstance().startPunishment(new PunishmentTask(objId, PunishmentAffect.CHARACTER, PunishmentType.CHAT_BAN, expirationTime, "Chat banned by moderator", activeChar.getName())); - player.sendMessage("Chat banned by moderator " + activeChar.getName()); - - if (expirationTime > 0) + final int objId = CharNameTable.getInstance().getIdByName(name); + if (objId > 0) { - activeChar.sendMessage("Player " + player.getName() + " chat banned for " + expirationTime + " minutes."); + final L2PcInstance player = L2World.getInstance().getPlayer(objId); + if ((player == null) || !player.isOnline()) + { + BuilderUtil.sendSysMessage(activeChar, "Player not online!"); + return false; + } + if (player.isChatBanned()) + { + BuilderUtil.sendSysMessage(activeChar, "Player is already punished!"); + return false; + } + if (player == activeChar) + { + BuilderUtil.sendSysMessage(activeChar, "You can't ban yourself!"); + return false; + } + if (player.isGM()) + { + BuilderUtil.sendSysMessage(activeChar, "You can't ban a GM!"); + return false; + } + if (AdminData.getInstance().hasAccess(command, player.getAccessLevel())) + { + BuilderUtil.sendSysMessage(activeChar, "You can't ban moderator!"); + return false; + } + + PunishmentManager.getInstance().startPunishment(new PunishmentTask(objId, PunishmentAffect.CHARACTER, PunishmentType.CHAT_BAN, System.currentTimeMillis() + (expirationTime * 1000 * 60), "Chat banned by moderator", activeChar.getName())); + if (expirationTime > 0) + { + BuilderUtil.sendSysMessage(activeChar, "Player " + player.getName() + " chat banned for " + expirationTime + " minutes."); + } + else + { + BuilderUtil.sendSysMessage(activeChar, "Player " + player.getName() + " chat banned forever."); + } + player.sendMessage("Chat banned by moderator " + activeChar.getName()); + player.getEffectList().startAbnormalVisualEffect(AbnormalVisualEffect.NO_CHAT); } else { - activeChar.sendMessage("Player " + player.getName() + " chat banned forever."); - } - } - else - { - activeChar.sendMessage("Player not found !"); - return false; - } - } - } - else if (command.equals(VOICED_COMMANDS[1])) // unbanchat - { - if (params == null) - { - activeChar.sendMessage("Usage: .unbanchat name"); - return true; - } - final StringTokenizer st = new StringTokenizer(params); - if (st.hasMoreTokens()) - { - final String name = st.nextToken(); - - final int objId = CharNameTable.getInstance().getIdByName(name); - if (objId > 0) - { - final L2PcInstance player = L2World.getInstance().getPlayer(objId); - if ((player == null) || !player.isOnline()) - { - activeChar.sendMessage("Player not online !"); + BuilderUtil.sendSysMessage(activeChar, "Player not found!"); return false; } - if (!player.isChatBanned()) + } + break; + } + case "unbanchat": + case "chatunban": + { + if (params == null) + { + BuilderUtil.sendSysMessage(activeChar, "Usage: .unbanchat name"); + return true; + } + final StringTokenizer st = new StringTokenizer(params); + if (st.hasMoreTokens()) + { + final String name = st.nextToken(); + + final int objId = CharNameTable.getInstance().getIdByName(name); + if (objId > 0) { - activeChar.sendMessage("Player is not chat banned !"); + final L2PcInstance player = L2World.getInstance().getPlayer(objId); + if ((player == null) || !player.isOnline()) + { + BuilderUtil.sendSysMessage(activeChar, "Player not online!"); + return false; + } + if (!player.isChatBanned()) + { + BuilderUtil.sendSysMessage(activeChar, "Player is not chat banned!"); + return false; + } + + PunishmentManager.getInstance().stopPunishment(objId, PunishmentAffect.CHARACTER, PunishmentType.CHAT_BAN); + BuilderUtil.sendSysMessage(activeChar, "Player " + player.getName() + " chat unbanned."); + player.sendMessage("Chat unbanned by moderator " + activeChar.getName()); + player.getEffectList().stopAbnormalVisualEffect(AbnormalVisualEffect.NO_CHAT); + } + else + { + BuilderUtil.sendSysMessage(activeChar, "Player not found!"); return false; } - - PunishmentManager.getInstance().stopPunishment(objId, PunishmentAffect.CHARACTER, PunishmentType.CHAT_BAN); - - activeChar.sendMessage("Player " + player.getName() + " chat unbanned."); - player.sendMessage("Chat unbanned by moderator " + activeChar.getName()); - } - else - { - activeChar.sendMessage("Player not found !"); - return false; } + break; } } return true; diff --git a/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/Config.java b/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/Config.java index fafd1a83fb..06fb9dc857 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/Config.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/Config.java @@ -2558,7 +2558,7 @@ public final class Config // Load ChatModeration config file (if exists) final PropertiesParser ChatModeration = new PropertiesParser(CUSTOM_CHAT_MODERATION_CONFIG_FILE); - CHAT_ADMIN = ChatModeration.getBoolean("ChatAdmin", false); + CHAT_ADMIN = ChatModeration.getBoolean("ChatAdmin", true); // Load CommunityBoard config file (if exists) final PropertiesParser CommunityBoard = new PropertiesParser(CUSTOM_COMMUNITY_BOARD_CONFIG_FILE); diff --git a/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/model/punishment/PunishmentTask.java b/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/model/punishment/PunishmentTask.java index 037b43e894..d73e56cbe8 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/model/punishment/PunishmentTask.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/model/punishment/PunishmentTask.java @@ -30,6 +30,9 @@ import com.l2jmobius.commons.database.DatabaseFactory; import com.l2jmobius.gameserver.handler.IPunishmentHandler; import com.l2jmobius.gameserver.handler.PunishmentHandler; import com.l2jmobius.gameserver.instancemanager.PunishmentManager; +import com.l2jmobius.gameserver.model.L2World; +import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; +import com.l2jmobius.gameserver.model.skills.AbnormalVisualEffect; /** * @author UnAfraid @@ -234,6 +237,15 @@ public class PunishmentTask implements Runnable } } + if (_type.equals(PunishmentType.CHAT_BAN) && _affect.equals(PunishmentAffect.CHARACTER)) + { + final L2PcInstance player = L2World.getInstance().getPlayer(Integer.valueOf(_key)); + if (player != null) + { + player.getEffectList().stopAbnormalVisualEffect(AbnormalVisualEffect.NO_CHAT); + } + } + final IPunishmentHandler handler = PunishmentHandler.getInstance().getHandler(_type); if (handler != null) { diff --git a/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/network/clientpackets/EnterWorld.java b/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/network/clientpackets/EnterWorld.java index b8389cd446..8f2276f271 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/network/clientpackets/EnterWorld.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/network/clientpackets/EnterWorld.java @@ -268,6 +268,12 @@ public class EnterWorld implements IClientIncomingPacket } } + // Chat banned icon. + if (activeChar.isChatBanned()) + { + activeChar.getEffectList().startAbnormalVisualEffect(AbnormalVisualEffect.NO_CHAT); + } + // Set dead status if applies if (activeChar.getCurrentHp() < 0.5) { diff --git a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/handlers/voicedcommandhandlers/ChatAdmin.java b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/handlers/voicedcommandhandlers/ChatAdmin.java index 8bfc26abea..790a9cc982 100644 --- a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/handlers/voicedcommandhandlers/ChatAdmin.java +++ b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/handlers/voicedcommandhandlers/ChatAdmin.java @@ -27,6 +27,7 @@ import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; import com.l2jmobius.gameserver.model.punishment.PunishmentAffect; import com.l2jmobius.gameserver.model.punishment.PunishmentTask; import com.l2jmobius.gameserver.model.punishment.PunishmentType; +import com.l2jmobius.gameserver.util.BuilderUtil; import com.l2jmobius.gameserver.util.Util; public class ChatAdmin implements IVoicedCommandHandler @@ -34,7 +35,9 @@ public class ChatAdmin implements IVoicedCommandHandler private static final String[] VOICED_COMMANDS = { "banchat", - "unbanchat" + "chatban", + "unbanchat", + "chatunban" }; @Override @@ -45,113 +48,118 @@ public class ChatAdmin implements IVoicedCommandHandler return false; } - if (command.equals(VOICED_COMMANDS[0])) // banchat + switch (command) { - if (params == null) + case "banchat": + case "chatban": { - activeChar.sendMessage("Usage: .banchat name [minutes]"); - return true; - } - final StringTokenizer st = new StringTokenizer(params); - if (st.hasMoreTokens()) - { - final String name = st.nextToken(); - long expirationTime = 0; + if (params == null) + { + BuilderUtil.sendSysMessage(activeChar, "Usage: .banchat name [minutes]"); + return true; + } + final StringTokenizer st = new StringTokenizer(params); if (st.hasMoreTokens()) { - final String token = st.nextToken(); - if (Util.isDigit(token)) + final String name = st.nextToken(); + long expirationTime = 0; + if (st.hasMoreTokens()) { - expirationTime = System.currentTimeMillis() + (Integer.parseInt(st.nextToken()) * 60 * 1000); - } - } - - final int objId = CharNameTable.getInstance().getIdByName(name); - if (objId > 0) - { - final L2PcInstance player = L2World.getInstance().getPlayer(objId); - if ((player == null) || !player.isOnline()) - { - activeChar.sendMessage("Player not online !"); - return false; - } - if (player.isChatBanned()) - { - activeChar.sendMessage("Player is already punished !"); - return false; - } - if (player == activeChar) - { - activeChar.sendMessage("You can't ban yourself !"); - return false; - } - if (player.isGM()) - { - activeChar.sendMessage("You can't ban GM !"); - return false; - } - if (AdminData.getInstance().hasAccess(command, player.getAccessLevel())) - { - activeChar.sendMessage("You can't ban moderator !"); - return false; + final String token = st.nextToken(); + if (Util.isDigit(token)) + { + expirationTime = Integer.parseInt(token); + } } - PunishmentManager.getInstance().startPunishment(new PunishmentTask(objId, PunishmentAffect.CHARACTER, PunishmentType.CHAT_BAN, expirationTime, "Chat banned by moderator", activeChar.getName())); - player.sendMessage("Chat banned by moderator " + activeChar.getName()); - - if (expirationTime > 0) + final int objId = CharNameTable.getInstance().getIdByName(name); + if (objId > 0) { - activeChar.sendMessage("Player " + player.getName() + " chat banned for " + expirationTime + " minutes."); + final L2PcInstance player = L2World.getInstance().getPlayer(objId); + if ((player == null) || !player.isOnline()) + { + BuilderUtil.sendSysMessage(activeChar, "Player not online!"); + return false; + } + if (player.isChatBanned()) + { + BuilderUtil.sendSysMessage(activeChar, "Player is already punished!"); + return false; + } + if (player == activeChar) + { + BuilderUtil.sendSysMessage(activeChar, "You can't ban yourself!"); + return false; + } + if (player.isGM()) + { + BuilderUtil.sendSysMessage(activeChar, "You can't ban a GM!"); + return false; + } + if (AdminData.getInstance().hasAccess(command, player.getAccessLevel())) + { + BuilderUtil.sendSysMessage(activeChar, "You can't ban moderator!"); + return false; + } + + PunishmentManager.getInstance().startPunishment(new PunishmentTask(objId, PunishmentAffect.CHARACTER, PunishmentType.CHAT_BAN, System.currentTimeMillis() + (expirationTime * 1000 * 60), "Chat banned by moderator", activeChar.getName())); + if (expirationTime > 0) + { + BuilderUtil.sendSysMessage(activeChar, "Player " + player.getName() + " chat banned for " + expirationTime + " minutes."); + } + else + { + BuilderUtil.sendSysMessage(activeChar, "Player " + player.getName() + " chat banned forever."); + } + player.sendMessage("Chat banned by moderator " + activeChar.getName()); } else { - activeChar.sendMessage("Player " + player.getName() + " chat banned forever."); - } - } - else - { - activeChar.sendMessage("Player not found !"); - return false; - } - } - } - else if (command.equals(VOICED_COMMANDS[1])) // unbanchat - { - if (params == null) - { - activeChar.sendMessage("Usage: .unbanchat name"); - return true; - } - final StringTokenizer st = new StringTokenizer(params); - if (st.hasMoreTokens()) - { - final String name = st.nextToken(); - - final int objId = CharNameTable.getInstance().getIdByName(name); - if (objId > 0) - { - final L2PcInstance player = L2World.getInstance().getPlayer(objId); - if ((player == null) || !player.isOnline()) - { - activeChar.sendMessage("Player not online !"); + BuilderUtil.sendSysMessage(activeChar, "Player not found!"); return false; } - if (!player.isChatBanned()) + } + break; + } + case "unbanchat": + case "chatunban": + { + if (params == null) + { + BuilderUtil.sendSysMessage(activeChar, "Usage: .unbanchat name"); + return true; + } + final StringTokenizer st = new StringTokenizer(params); + if (st.hasMoreTokens()) + { + final String name = st.nextToken(); + + final int objId = CharNameTable.getInstance().getIdByName(name); + if (objId > 0) { - activeChar.sendMessage("Player is not chat banned !"); + final L2PcInstance player = L2World.getInstance().getPlayer(objId); + if ((player == null) || !player.isOnline()) + { + BuilderUtil.sendSysMessage(activeChar, "Player not online!"); + return false; + } + if (!player.isChatBanned()) + { + BuilderUtil.sendSysMessage(activeChar, "Player is not chat banned!"); + return false; + } + + PunishmentManager.getInstance().stopPunishment(objId, PunishmentAffect.CHARACTER, PunishmentType.CHAT_BAN); + BuilderUtil.sendSysMessage(activeChar, "Player " + player.getName() + " chat unbanned."); + player.sendMessage("Chat unbanned by moderator " + activeChar.getName()); + } + else + { + BuilderUtil.sendSysMessage(activeChar, "Player not found!"); return false; } - - PunishmentManager.getInstance().stopPunishment(objId, PunishmentAffect.CHARACTER, PunishmentType.CHAT_BAN); - - activeChar.sendMessage("Player " + player.getName() + " chat unbanned."); - player.sendMessage("Chat unbanned by moderator " + activeChar.getName()); - } - else - { - activeChar.sendMessage("Player not found !"); - return false; } + break; } } return true; diff --git a/L2J_Mobius_CT_2.6_HighFive/java/com/l2jmobius/Config.java b/L2J_Mobius_CT_2.6_HighFive/java/com/l2jmobius/Config.java index eec9ee26be..7aa7eb050b 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/com/l2jmobius/Config.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/com/l2jmobius/Config.java @@ -2702,7 +2702,7 @@ public final class Config // Load ChatModeration config file (if exists) final PropertiesParser ChatModeration = new PropertiesParser(CUSTOM_CHAT_MODERATION_CONFIG_FILE); - CHAT_ADMIN = ChatModeration.getBoolean("ChatAdmin", false); + CHAT_ADMIN = ChatModeration.getBoolean("ChatAdmin", true); // Load CommunityBoard config file (if exists) final PropertiesParser CommunityBoard = new PropertiesParser(CUSTOM_COMMUNITY_BOARD_CONFIG_FILE); diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/voicedcommandhandlers/ChatAdmin.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/voicedcommandhandlers/ChatAdmin.java index 18541869a7..e98ce385ab 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/voicedcommandhandlers/ChatAdmin.java +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/voicedcommandhandlers/ChatAdmin.java @@ -27,6 +27,8 @@ import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; import com.l2jmobius.gameserver.model.punishment.PunishmentAffect; import com.l2jmobius.gameserver.model.punishment.PunishmentTask; import com.l2jmobius.gameserver.model.punishment.PunishmentType; +import com.l2jmobius.gameserver.model.skills.AbnormalVisualEffect; +import com.l2jmobius.gameserver.util.BuilderUtil; import com.l2jmobius.gameserver.util.Util; public class ChatAdmin implements IVoicedCommandHandler @@ -34,7 +36,9 @@ public class ChatAdmin implements IVoicedCommandHandler private static final String[] VOICED_COMMANDS = { "banchat", - "unbanchat" + "chatban", + "unbanchat", + "chatunban" }; @Override @@ -45,113 +49,120 @@ public class ChatAdmin implements IVoicedCommandHandler return false; } - if (command.equals(VOICED_COMMANDS[0])) // banchat + switch (command) { - if (params == null) + case "banchat": + case "chatban": { - activeChar.sendMessage("Usage: .banchat name [minutes]"); - return true; - } - final StringTokenizer st = new StringTokenizer(params); - if (st.hasMoreTokens()) - { - final String name = st.nextToken(); - long expirationTime = 0; + if (params == null) + { + BuilderUtil.sendSysMessage(activeChar, "Usage: .banchat name [minutes]"); + return true; + } + final StringTokenizer st = new StringTokenizer(params); if (st.hasMoreTokens()) { - final String token = st.nextToken(); - if (Util.isDigit(token)) + final String name = st.nextToken(); + long expirationTime = 0; + if (st.hasMoreTokens()) { - expirationTime = System.currentTimeMillis() + (Integer.parseInt(st.nextToken()) * 60 * 1000); - } - } - - final int objId = CharNameTable.getInstance().getIdByName(name); - if (objId > 0) - { - final L2PcInstance player = L2World.getInstance().getPlayer(objId); - if ((player == null) || !player.isOnline()) - { - activeChar.sendMessage("Player not online !"); - return false; - } - if (player.isChatBanned()) - { - activeChar.sendMessage("Player is already punished !"); - return false; - } - if (player == activeChar) - { - activeChar.sendMessage("You can't ban yourself !"); - return false; - } - if (player.isGM()) - { - activeChar.sendMessage("You can't ban GM !"); - return false; - } - if (AdminData.getInstance().hasAccess(command, player.getAccessLevel())) - { - activeChar.sendMessage("You can't ban moderator !"); - return false; + final String token = st.nextToken(); + if (Util.isDigit(token)) + { + expirationTime = Integer.parseInt(token); + } } - PunishmentManager.getInstance().startPunishment(new PunishmentTask(objId, PunishmentAffect.CHARACTER, PunishmentType.CHAT_BAN, expirationTime, "Chat banned by moderator", activeChar.getName())); - player.sendMessage("Chat banned by moderator " + activeChar.getName()); - - if (expirationTime > 0) + final int objId = CharNameTable.getInstance().getIdByName(name); + if (objId > 0) { - activeChar.sendMessage("Player " + player.getName() + " chat banned for " + expirationTime + " minutes."); + final L2PcInstance player = L2World.getInstance().getPlayer(objId); + if ((player == null) || !player.isOnline()) + { + BuilderUtil.sendSysMessage(activeChar, "Player not online!"); + return false; + } + if (player.isChatBanned()) + { + BuilderUtil.sendSysMessage(activeChar, "Player is already punished!"); + return false; + } + if (player == activeChar) + { + BuilderUtil.sendSysMessage(activeChar, "You can't ban yourself!"); + return false; + } + if (player.isGM()) + { + BuilderUtil.sendSysMessage(activeChar, "You can't ban a GM!"); + return false; + } + if (AdminData.getInstance().hasAccess(command, player.getAccessLevel())) + { + BuilderUtil.sendSysMessage(activeChar, "You can't ban moderator!"); + return false; + } + + PunishmentManager.getInstance().startPunishment(new PunishmentTask(objId, PunishmentAffect.CHARACTER, PunishmentType.CHAT_BAN, System.currentTimeMillis() + (expirationTime * 1000 * 60), "Chat banned by moderator", activeChar.getName())); + if (expirationTime > 0) + { + BuilderUtil.sendSysMessage(activeChar, "Player " + player.getName() + " chat banned for " + expirationTime + " minutes."); + } + else + { + BuilderUtil.sendSysMessage(activeChar, "Player " + player.getName() + " chat banned forever."); + } + player.sendMessage("Chat banned by moderator " + activeChar.getName()); + player.getEffectList().startAbnormalVisualEffect(AbnormalVisualEffect.NO_CHAT); } else { - activeChar.sendMessage("Player " + player.getName() + " chat banned forever."); - } - } - else - { - activeChar.sendMessage("Player not found !"); - return false; - } - } - } - else if (command.equals(VOICED_COMMANDS[1])) // unbanchat - { - if (params == null) - { - activeChar.sendMessage("Usage: .unbanchat name"); - return true; - } - final StringTokenizer st = new StringTokenizer(params); - if (st.hasMoreTokens()) - { - final String name = st.nextToken(); - - final int objId = CharNameTable.getInstance().getIdByName(name); - if (objId > 0) - { - final L2PcInstance player = L2World.getInstance().getPlayer(objId); - if ((player == null) || !player.isOnline()) - { - activeChar.sendMessage("Player not online !"); + BuilderUtil.sendSysMessage(activeChar, "Player not found!"); return false; } - if (!player.isChatBanned()) + } + break; + } + case "unbanchat": + case "chatunban": + { + if (params == null) + { + BuilderUtil.sendSysMessage(activeChar, "Usage: .unbanchat name"); + return true; + } + final StringTokenizer st = new StringTokenizer(params); + if (st.hasMoreTokens()) + { + final String name = st.nextToken(); + + final int objId = CharNameTable.getInstance().getIdByName(name); + if (objId > 0) { - activeChar.sendMessage("Player is not chat banned !"); + final L2PcInstance player = L2World.getInstance().getPlayer(objId); + if ((player == null) || !player.isOnline()) + { + BuilderUtil.sendSysMessage(activeChar, "Player not online!"); + return false; + } + if (!player.isChatBanned()) + { + BuilderUtil.sendSysMessage(activeChar, "Player is not chat banned!"); + return false; + } + + PunishmentManager.getInstance().stopPunishment(objId, PunishmentAffect.CHARACTER, PunishmentType.CHAT_BAN); + BuilderUtil.sendSysMessage(activeChar, "Player " + player.getName() + " chat unbanned."); + player.sendMessage("Chat unbanned by moderator " + activeChar.getName()); + player.getEffectList().stopAbnormalVisualEffect(AbnormalVisualEffect.NO_CHAT); + } + else + { + BuilderUtil.sendSysMessage(activeChar, "Player not found!"); return false; } - - PunishmentManager.getInstance().stopPunishment(objId, PunishmentAffect.CHARACTER, PunishmentType.CHAT_BAN); - - activeChar.sendMessage("Player " + player.getName() + " chat unbanned."); - player.sendMessage("Chat unbanned by moderator " + activeChar.getName()); - } - else - { - activeChar.sendMessage("Player not found !"); - return false; } + break; } } return true; diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/Config.java b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/Config.java index a222d49f2e..c16a2d120b 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/Config.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/Config.java @@ -2431,7 +2431,7 @@ public final class Config // Load ChatModeration config file (if exists) final PropertiesParser ChatModeration = new PropertiesParser(CUSTOM_CHAT_MODERATION_CONFIG_FILE); - CHAT_ADMIN = ChatModeration.getBoolean("ChatAdmin", false); + CHAT_ADMIN = ChatModeration.getBoolean("ChatAdmin", true); // Load CommunityBoard config file (if exists) final PropertiesParser CommunityBoard = new PropertiesParser(CUSTOM_COMMUNITY_BOARD_CONFIG_FILE); diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/punishment/PunishmentTask.java b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/punishment/PunishmentTask.java index 037b43e894..d73e56cbe8 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/punishment/PunishmentTask.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/punishment/PunishmentTask.java @@ -30,6 +30,9 @@ import com.l2jmobius.commons.database.DatabaseFactory; import com.l2jmobius.gameserver.handler.IPunishmentHandler; import com.l2jmobius.gameserver.handler.PunishmentHandler; import com.l2jmobius.gameserver.instancemanager.PunishmentManager; +import com.l2jmobius.gameserver.model.L2World; +import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; +import com.l2jmobius.gameserver.model.skills.AbnormalVisualEffect; /** * @author UnAfraid @@ -234,6 +237,15 @@ public class PunishmentTask implements Runnable } } + if (_type.equals(PunishmentType.CHAT_BAN) && _affect.equals(PunishmentAffect.CHARACTER)) + { + final L2PcInstance player = L2World.getInstance().getPlayer(Integer.valueOf(_key)); + if (player != null) + { + player.getEffectList().stopAbnormalVisualEffect(AbnormalVisualEffect.NO_CHAT); + } + } + final IPunishmentHandler handler = PunishmentHandler.getInstance().getHandler(_type); if (handler != null) { diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/network/clientpackets/EnterWorld.java b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/network/clientpackets/EnterWorld.java index 6187761615..ed64137e4b 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/network/clientpackets/EnterWorld.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/network/clientpackets/EnterWorld.java @@ -267,6 +267,12 @@ public class EnterWorld implements IClientIncomingPacket } } + // Chat banned icon. + if (activeChar.isChatBanned()) + { + activeChar.getEffectList().startAbnormalVisualEffect(AbnormalVisualEffect.NO_CHAT); + } + // Set dead status if applies if (activeChar.getCurrentHp() < 0.5) { diff --git a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/handlers/voicedcommandhandlers/ChatAdmin.java b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/handlers/voicedcommandhandlers/ChatAdmin.java index 18541869a7..e98ce385ab 100644 --- a/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/handlers/voicedcommandhandlers/ChatAdmin.java +++ b/L2J_Mobius_Classic_2.0_Zaken/dist/game/data/scripts/handlers/voicedcommandhandlers/ChatAdmin.java @@ -27,6 +27,8 @@ import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; import com.l2jmobius.gameserver.model.punishment.PunishmentAffect; import com.l2jmobius.gameserver.model.punishment.PunishmentTask; import com.l2jmobius.gameserver.model.punishment.PunishmentType; +import com.l2jmobius.gameserver.model.skills.AbnormalVisualEffect; +import com.l2jmobius.gameserver.util.BuilderUtil; import com.l2jmobius.gameserver.util.Util; public class ChatAdmin implements IVoicedCommandHandler @@ -34,7 +36,9 @@ public class ChatAdmin implements IVoicedCommandHandler private static final String[] VOICED_COMMANDS = { "banchat", - "unbanchat" + "chatban", + "unbanchat", + "chatunban" }; @Override @@ -45,113 +49,120 @@ public class ChatAdmin implements IVoicedCommandHandler return false; } - if (command.equals(VOICED_COMMANDS[0])) // banchat + switch (command) { - if (params == null) + case "banchat": + case "chatban": { - activeChar.sendMessage("Usage: .banchat name [minutes]"); - return true; - } - final StringTokenizer st = new StringTokenizer(params); - if (st.hasMoreTokens()) - { - final String name = st.nextToken(); - long expirationTime = 0; + if (params == null) + { + BuilderUtil.sendSysMessage(activeChar, "Usage: .banchat name [minutes]"); + return true; + } + final StringTokenizer st = new StringTokenizer(params); if (st.hasMoreTokens()) { - final String token = st.nextToken(); - if (Util.isDigit(token)) + final String name = st.nextToken(); + long expirationTime = 0; + if (st.hasMoreTokens()) { - expirationTime = System.currentTimeMillis() + (Integer.parseInt(st.nextToken()) * 60 * 1000); - } - } - - final int objId = CharNameTable.getInstance().getIdByName(name); - if (objId > 0) - { - final L2PcInstance player = L2World.getInstance().getPlayer(objId); - if ((player == null) || !player.isOnline()) - { - activeChar.sendMessage("Player not online !"); - return false; - } - if (player.isChatBanned()) - { - activeChar.sendMessage("Player is already punished !"); - return false; - } - if (player == activeChar) - { - activeChar.sendMessage("You can't ban yourself !"); - return false; - } - if (player.isGM()) - { - activeChar.sendMessage("You can't ban GM !"); - return false; - } - if (AdminData.getInstance().hasAccess(command, player.getAccessLevel())) - { - activeChar.sendMessage("You can't ban moderator !"); - return false; + final String token = st.nextToken(); + if (Util.isDigit(token)) + { + expirationTime = Integer.parseInt(token); + } } - PunishmentManager.getInstance().startPunishment(new PunishmentTask(objId, PunishmentAffect.CHARACTER, PunishmentType.CHAT_BAN, expirationTime, "Chat banned by moderator", activeChar.getName())); - player.sendMessage("Chat banned by moderator " + activeChar.getName()); - - if (expirationTime > 0) + final int objId = CharNameTable.getInstance().getIdByName(name); + if (objId > 0) { - activeChar.sendMessage("Player " + player.getName() + " chat banned for " + expirationTime + " minutes."); + final L2PcInstance player = L2World.getInstance().getPlayer(objId); + if ((player == null) || !player.isOnline()) + { + BuilderUtil.sendSysMessage(activeChar, "Player not online!"); + return false; + } + if (player.isChatBanned()) + { + BuilderUtil.sendSysMessage(activeChar, "Player is already punished!"); + return false; + } + if (player == activeChar) + { + BuilderUtil.sendSysMessage(activeChar, "You can't ban yourself!"); + return false; + } + if (player.isGM()) + { + BuilderUtil.sendSysMessage(activeChar, "You can't ban a GM!"); + return false; + } + if (AdminData.getInstance().hasAccess(command, player.getAccessLevel())) + { + BuilderUtil.sendSysMessage(activeChar, "You can't ban moderator!"); + return false; + } + + PunishmentManager.getInstance().startPunishment(new PunishmentTask(objId, PunishmentAffect.CHARACTER, PunishmentType.CHAT_BAN, System.currentTimeMillis() + (expirationTime * 1000 * 60), "Chat banned by moderator", activeChar.getName())); + if (expirationTime > 0) + { + BuilderUtil.sendSysMessage(activeChar, "Player " + player.getName() + " chat banned for " + expirationTime + " minutes."); + } + else + { + BuilderUtil.sendSysMessage(activeChar, "Player " + player.getName() + " chat banned forever."); + } + player.sendMessage("Chat banned by moderator " + activeChar.getName()); + player.getEffectList().startAbnormalVisualEffect(AbnormalVisualEffect.NO_CHAT); } else { - activeChar.sendMessage("Player " + player.getName() + " chat banned forever."); - } - } - else - { - activeChar.sendMessage("Player not found !"); - return false; - } - } - } - else if (command.equals(VOICED_COMMANDS[1])) // unbanchat - { - if (params == null) - { - activeChar.sendMessage("Usage: .unbanchat name"); - return true; - } - final StringTokenizer st = new StringTokenizer(params); - if (st.hasMoreTokens()) - { - final String name = st.nextToken(); - - final int objId = CharNameTable.getInstance().getIdByName(name); - if (objId > 0) - { - final L2PcInstance player = L2World.getInstance().getPlayer(objId); - if ((player == null) || !player.isOnline()) - { - activeChar.sendMessage("Player not online !"); + BuilderUtil.sendSysMessage(activeChar, "Player not found!"); return false; } - if (!player.isChatBanned()) + } + break; + } + case "unbanchat": + case "chatunban": + { + if (params == null) + { + BuilderUtil.sendSysMessage(activeChar, "Usage: .unbanchat name"); + return true; + } + final StringTokenizer st = new StringTokenizer(params); + if (st.hasMoreTokens()) + { + final String name = st.nextToken(); + + final int objId = CharNameTable.getInstance().getIdByName(name); + if (objId > 0) { - activeChar.sendMessage("Player is not chat banned !"); + final L2PcInstance player = L2World.getInstance().getPlayer(objId); + if ((player == null) || !player.isOnline()) + { + BuilderUtil.sendSysMessage(activeChar, "Player not online!"); + return false; + } + if (!player.isChatBanned()) + { + BuilderUtil.sendSysMessage(activeChar, "Player is not chat banned!"); + return false; + } + + PunishmentManager.getInstance().stopPunishment(objId, PunishmentAffect.CHARACTER, PunishmentType.CHAT_BAN); + BuilderUtil.sendSysMessage(activeChar, "Player " + player.getName() + " chat unbanned."); + player.sendMessage("Chat unbanned by moderator " + activeChar.getName()); + player.getEffectList().stopAbnormalVisualEffect(AbnormalVisualEffect.NO_CHAT); + } + else + { + BuilderUtil.sendSysMessage(activeChar, "Player not found!"); return false; } - - PunishmentManager.getInstance().stopPunishment(objId, PunishmentAffect.CHARACTER, PunishmentType.CHAT_BAN); - - activeChar.sendMessage("Player " + player.getName() + " chat unbanned."); - player.sendMessage("Chat unbanned by moderator " + activeChar.getName()); - } - else - { - activeChar.sendMessage("Player not found !"); - return false; } + break; } } return true; diff --git a/L2J_Mobius_Classic_2.0_Zaken/java/com/l2jmobius/Config.java b/L2J_Mobius_Classic_2.0_Zaken/java/com/l2jmobius/Config.java index 8737be8326..b7ed6f6550 100644 --- a/L2J_Mobius_Classic_2.0_Zaken/java/com/l2jmobius/Config.java +++ b/L2J_Mobius_Classic_2.0_Zaken/java/com/l2jmobius/Config.java @@ -2438,7 +2438,7 @@ public final class Config // Load ChatModeration config file (if exists) final PropertiesParser ChatModeration = new PropertiesParser(CUSTOM_CHAT_MODERATION_CONFIG_FILE); - CHAT_ADMIN = ChatModeration.getBoolean("ChatAdmin", false); + CHAT_ADMIN = ChatModeration.getBoolean("ChatAdmin", true); // Load CommunityBoard config file (if exists) final PropertiesParser CommunityBoard = new PropertiesParser(CUSTOM_COMMUNITY_BOARD_CONFIG_FILE); diff --git a/L2J_Mobius_Classic_2.0_Zaken/java/com/l2jmobius/gameserver/model/punishment/PunishmentTask.java b/L2J_Mobius_Classic_2.0_Zaken/java/com/l2jmobius/gameserver/model/punishment/PunishmentTask.java index 037b43e894..d73e56cbe8 100644 --- a/L2J_Mobius_Classic_2.0_Zaken/java/com/l2jmobius/gameserver/model/punishment/PunishmentTask.java +++ b/L2J_Mobius_Classic_2.0_Zaken/java/com/l2jmobius/gameserver/model/punishment/PunishmentTask.java @@ -30,6 +30,9 @@ import com.l2jmobius.commons.database.DatabaseFactory; import com.l2jmobius.gameserver.handler.IPunishmentHandler; import com.l2jmobius.gameserver.handler.PunishmentHandler; import com.l2jmobius.gameserver.instancemanager.PunishmentManager; +import com.l2jmobius.gameserver.model.L2World; +import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; +import com.l2jmobius.gameserver.model.skills.AbnormalVisualEffect; /** * @author UnAfraid @@ -234,6 +237,15 @@ public class PunishmentTask implements Runnable } } + if (_type.equals(PunishmentType.CHAT_BAN) && _affect.equals(PunishmentAffect.CHARACTER)) + { + final L2PcInstance player = L2World.getInstance().getPlayer(Integer.valueOf(_key)); + if (player != null) + { + player.getEffectList().stopAbnormalVisualEffect(AbnormalVisualEffect.NO_CHAT); + } + } + final IPunishmentHandler handler = PunishmentHandler.getInstance().getHandler(_type); if (handler != null) { diff --git a/L2J_Mobius_Classic_2.0_Zaken/java/com/l2jmobius/gameserver/network/clientpackets/EnterWorld.java b/L2J_Mobius_Classic_2.0_Zaken/java/com/l2jmobius/gameserver/network/clientpackets/EnterWorld.java index bd5c282325..c4374d85f7 100644 --- a/L2J_Mobius_Classic_2.0_Zaken/java/com/l2jmobius/gameserver/network/clientpackets/EnterWorld.java +++ b/L2J_Mobius_Classic_2.0_Zaken/java/com/l2jmobius/gameserver/network/clientpackets/EnterWorld.java @@ -267,6 +267,12 @@ public class EnterWorld implements IClientIncomingPacket } } + // Chat banned icon. + if (activeChar.isChatBanned()) + { + activeChar.getEffectList().startAbnormalVisualEffect(AbnormalVisualEffect.NO_CHAT); + } + // Set dead status if applies if (activeChar.getCurrentHp() < 0.5) {