Hello Everybody, here is a simple Code. to Avoid Quest stucking and LAGS And more more Shits :)
Bypass Flood Protection:
### Eclipse Workspace Patch 1.0
#P L2_GameServer_It
Index: java/net/sf/l2j/gameserver/util/FloodProtector.java
===================================================================
--- java/net/sf/l2j/gameserver/util/FloodProtector.java (revision 3695)
+++ java/net/sf/l2j/gameserver/util/FloodProtector.java (working copy)
@@ -50,7 +50,7 @@
// =========================================================
// reuse delays for protected actions (in game ticks 1 tick = 100ms)
- private static final int[] REUSEDELAY = new int[]{ 4, 42, 42, 16, 100 };
+ private static final int[] REUSEDELAY = new int[]{ 4, 42, 42, 16, 100, Config.PROTECTED_BYPASS };
// protected actions
public static final int PROTECTED_USEITEM = 0;
@@ -58,6 +58,7 @@
public static final int PROTECTED_FIREWORK = 2;
public static final int PROTECTED_ITEMPETSUMMON = 3;
public static final int PROTECTED_HEROVOICE = 4;
+ public static final int PROTECTED_BYPASS = 5;
// =========================================================
// Constructor
Index: java/config/options.properties
===================================================================
--- java/config/options.properties (revision 3695)
+++ java/config/options.properties (working copy)
@@ -16,6 +16,9 @@
# If next switch is set to true every newly created character will have access level 200.
EverybodyHasAdminRights = False
+# Protected Server Bypass.
+ProtectedBypass = 4
+
# Setting for serverList
# Displays [] in front of server name
ServerListBrackets = False
Index: java/net/sf/l2j/gameserver/clientpackets/RequestBypassToServer.java
===================================================================
--- java/net/sf/l2j/gameserver/clientpackets/RequestBypassToServer.java (revision 3695)
+++ java/net/sf/l2j/gameserver/clientpackets/RequestBypassToServer.java (working copy)
@@ -32,6 +32,7 @@
import net.sf.l2j.gameserver.model.actor.instance.L2NpcInstance;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
import net.sf.l2j.gameserver.model.entity.L2Event;
+import net.sf.l2j.gameserver.util.FloodProtector;
import net.sf.l2j.gameserver.serverpackets.ActionFailed;
import net.sf.l2j.gameserver.serverpackets.NpcHtmlMessage;
@@ -64,6 +65,13 @@
if (activeChar == null)
return;
+
+ if (!FloodProtector.getInstance().tryPerformAction(activeChar.getObjectId(), FloodProtector.PROTECTED_BYPASS))
+ {
+ activeChar.sendMessage("You cannot bypass so fast.");
+ activeChar.sendPacket(new ActionFailed());
+ return;
+ }
try {
if (_command.startsWith("admin_")) //&& activeChar.getAccessLevel() >= Config.GM_ACCESSLEVEL)
Index: java/net/sf/l2j/Config.java
===================================================================
--- java/net/sf/l2j/Config.java (revision 3695)
+++ java/net/sf/l2j/Config.java (working copy)
@@ -588,6 +588,8 @@
/** FloodProtector initial capacity */
public static int FLOODPROTECTOR_INITIALSIZE;
+
+ public static int PROTECTED_BYPASS;
/** Allow Discard item ?*/
public static boolean ALLOW_DISCARDITEM;
@@ -1259,6 +1261,8 @@
ONLY_GM_ITEMS_FREE = Boolean.valueOf(optionsSettings.getProperty("OnlyGMItemsFree", "True"));
+ PROTECTED_BYPASS = Integer.parseInt(optionsSettings.getProperty("ProtectedBypass", "4"));
+
ALLOW_WAREHOUSE = Boolean.valueOf(optionsSettings.getProperty("AllowWarehouse", "True"));
WAREHOUSE_CACHE = Boolean.valueOf(optionsSettings.getProperty("WarehouseCache", "False"));
WAREHOUSE_CACHE_TIME = Integer.parseInt(optionsSettings.getProperty("WarehouseCacheTime", "15"));
1Thousent -beep-ing Sorrys is is already Shared.