rendered paste bodyIndex: C:/eclipse/workspace/L2_GameServer/java/net/sf/l2j/Config.java===================================================================--- C:/eclipse/workspace/L2_GameServer/java/net/sf/l2j/Config.java (revision 1600)+++ C:/eclipse/workspace/L2_GameServer/java/net/sf/l2j/Config.java (working copy)@@ -398,6 +398,9 @@ /** Store skills cooltime on char exit/relogin */ public static final boolean STORE_SKILL_COOLTIME; public static final boolean SHOW_LICENCE;+ + /** Deafult punishment for illegal actions */+ public static final int DEFAULT_PUNISH; static { try {@@ -506,6 +509,7 @@ DATABASE_LOGIN = serverSettings.getProperty("Login", "root"); DATABASE_PASSWORD = serverSettings.getProperty("Password", ""); DATABASE_MAX_CONNECTIONS = Integer.parseInt(serverSettings.getProperty("MaximumDbConnections", "10"));+ DEFAULT_PUNISH = Integer.parseInt(serverSettings.getProperty("DefaultPunish", "2")); } catch (Exception e) {Index: C:/eclipse/workspace/L2_GameServer/java/net/sf/l2j/gameserver/clientpackets/RequestBuyItem.java===================================================================--- C:/eclipse/workspace/L2_GameServer/java/net/sf/l2j/gameserver/clientpackets/RequestBuyItem.java (revision 1600)+++ C:/eclipse/workspace/L2_GameServer/java/net/sf/l2j/gameserver/clientpackets/RequestBuyItem.java (working copy)@@ -23,13 +23,14 @@ import java.util.logging.Logger; import javolution.util.FastList;+import net.sf.l2j.Config; import net.sf.l2j.gameserver.ClientThread; import net.sf.l2j.gameserver.ItemTable; import net.sf.l2j.gameserver.TradeController; import net.sf.l2j.gameserver.model.L2FolkInstance; import net.sf.l2j.gameserver.model.L2ItemInstance;+import net.sf.l2j.gameserver.model.L2MercManagerInstance; import net.sf.l2j.gameserver.model.L2MerchantInstance;-import net.sf.l2j.gameserver.model.L2MercManagerInstance; import net.sf.l2j.gameserver.model.L2NpcInstance; import net.sf.l2j.gameserver.model.L2PcInstance; import net.sf.l2j.gameserver.model.L2TradeList;@@ -164,7 +165,7 @@ cnt = items.get(i).getCount(); if (cnt > Integer.MAX_VALUE) {- Util.handleIllegalPlayerAction("Warning!! Character "+activeChar.getName()+" of account "+activeChar.getAccountName()+" tried to purchase over "+Integer.MAX_VALUE+" items at the same time.", _log, true);+ Util.handleIllegalPlayerAction(activeChar,"Warning!! Character "+activeChar.getName()+" of account "+activeChar.getAccountName()+" tried to purchase over "+Integer.MAX_VALUE+" items at the same time.", _log, Config.DEFAULT_PUNISH); SystemMessage sm = new SystemMessage(SystemMessage.YOU_HAVE_EXCEEDED_QUANTITY_THAT_CAN_BE_INPUTTED); sendPacket(sm); for (L2ItemInstance item : items)@@ -210,7 +211,7 @@ tax = (int)(subTotal * taxRate); if (subTotal + tax > Integer.MAX_VALUE) {- Util.handleIllegalPlayerAction("Warning!! Character "+activeChar.getName()+" of account "+activeChar.getAccountName()+" tried to purchase over "+Integer.MAX_VALUE+" adena worth of goods.", _log, true);+ Util.handleIllegalPlayerAction(activeChar,"Warning!! Character "+activeChar.getName()+" of account "+activeChar.getAccountName()+" tried to purchase over "+Integer.MAX_VALUE+" adena worth of goods.", _log, Config.DEFAULT_PUNISH); for (L2ItemInstance item : items) { L2World.getInstance().removeObject(item);@@ -220,7 +221,7 @@ finalLoad += cnt * weight; if (finalLoad > Integer.MAX_VALUE) {- Util.handleIllegalPlayerAction("Warning!! Character "+activeChar.getName()+" of account "+activeChar.getAccountName()+" tried to purchase over "+Integer.MAX_VALUE+" adena worth of goods.", _log, true);+ Util.handleIllegalPlayerAction(activeChar,"Warning!! Character "+activeChar.getName()+" of account "+activeChar.getAccountName()+" tried to purchase over "+Integer.MAX_VALUE+" adena worth of goods.", _log, Config.DEFAULT_PUNISH); for (L2ItemInstance item : items) { L2World.getInstance().removeObject(item);Index: C:/eclipse/workspace/L2_GameServer/java/net/sf/l2j/gameserver/clientpackets/RequestEnchantItem.java===================================================================--- C:/eclipse/workspace/L2_GameServer/java/net/sf/l2j/gameserver/clientpackets/RequestEnchantItem.java (revision 1600)+++ C:/eclipse/workspace/L2_GameServer/java/net/sf/l2j/gameserver/clientpackets/RequestEnchantItem.java (working copy)@@ -56,7 +56,7 @@ L2ItemInstance scroll = activeChar.getEnchantScroll(); if (item == null || scroll == null) {- Util.handleIllegalPlayerAction("Player "+activeChar.getName()+" tried to enchant with no enchant scroll equiped", _log, false);+ Util.handleIllegalPlayerAction(activeChar,"Player "+activeChar.getName()+" tried to enchant with no enchant scroll equiped", _log, Config.DEFAULT_PUNISH); return; } L2ItemInstance scrollItem = activeChar.getInventory().getItemByItemId(scroll.getItemId());@@ -64,7 +64,7 @@ if(scrollItem == null) { activeChar.sendMessage("You dont have such an enchant scroll");- Util.handleIllegalPlayerAction("Player "+activeChar.getName()+" tried to enchant with a scroll he doesnt have", _log, true);+ Util.handleIllegalPlayerAction(activeChar,"Player "+activeChar.getName()+" tried to enchant with a scroll he doesnt have", _log, Config.DEFAULT_PUNISH); return; } Index: C:/eclipse/workspace/L2_GameServer/java/net/sf/l2j/gameserver/util/IllegalPlayerAction.java===================================================================--- C:/eclipse/workspace/L2_GameServer/java/net/sf/l2j/gameserver/util/IllegalPlayerAction.java (revision 1600)+++ C:/eclipse/workspace/L2_GameServer/java/net/sf/l2j/gameserver/util/IllegalPlayerAction.java (working copy)@@ -31,6 +31,7 @@ import java.util.logging.Logger; import net.sf.l2j.gameserver.GmListTable;+import net.sf.l2j.gameserver.model.L2PcInstance; /** * This class ...@@ -41,18 +42,38 @@ { String message; Logger log;- boolean broadcastToGms;+ int punishment;+ L2PcInstance actor; - public IllegalPlayerAction(String message, Logger log, boolean broadcastToGms)+ public static final int PUNISH_BROADCAST = 1;+ public static final int PUNISH_KICK = 2;+ public static final int PUNISH_KICKBAN = 3;+ + public IllegalPlayerAction(L2PcInstance actor, String message, Logger log, int punishment) { this.message = message; this.log = log;- this.broadcastToGms = broadcastToGms;+ this.punishment = punishment;+ this.actor = actor; } public void run() { log.warning(message);- if (broadcastToGms) GmListTable.broadcastMessageToGMs(message);+ GmListTable.broadcastMessageToGMs(message);++ switch(punishment)+ {+ case PUNISH_BROADCAST:+ return;+ case PUNISH_KICK:+ actor.sendMessage("You are kicked for illegail action, GM informed");+ actor.closeNetConnection();+ break;+ case PUNISH_KICKBAN:+ actor.sendMessage("You are banned for illegail action, GM informed");+ actor.setAccessLevel(-100);+ actor.closeNetConnection();+ } } }Index: C:/eclipse/workspace/L2_GameServer/java/net/sf/l2j/gameserver/util/Util.java===================================================================--- C:/eclipse/workspace/L2_GameServer/java/net/sf/l2j/gameserver/util/Util.java (revision 1600)+++ C:/eclipse/workspace/L2_GameServer/java/net/sf/l2j/gameserver/util/Util.java (working copy)@@ -31,6 +31,7 @@ import java.util.logging.Logger; import net.sf.l2j.gameserver.ClientScheduler;+import net.sf.l2j.gameserver.model.L2PcInstance; /**@@ -41,8 +42,8 @@ public final class Util {- public static void handleIllegalPlayerAction(String message, Logger log, boolean broadcastToGms)+ public static void handleIllegalPlayerAction(L2PcInstance actor, String message, Logger log, int punishment) {- ClientScheduler.scheduleEvent(new IllegalPlayerAction(message, log, broadcastToGms), 500);+ ClientScheduler.scheduleEvent(new IllegalPlayerAction(actor,message, log, punishment), 500); } }