Subclass exploit fix.

View previous topic View next topic Go down

Subclass exploit fix.

Post  [Developer]AnGelL on Sat Aug 08, 2009 11:09 pm

go into com.l2jfree.gameserver.util and Open FloodProtector.java
Code:

// protected actions
public static final int PROTECTED_USEITEM = 0;
public static final int PROTECTED_ROLLDICE = 1;
public static final int PROTECTED_FIREWORK = 2;
public static final int PROTECTED_GLOBAL_CHAT = 3;
public static final int PROTECTED_TRADE_CHAT = 4;
public static final int PROTECTED_ITEMPETSUMMON = 5;
public static final int PROTECTED_HEROVOICE = 6;
public static final int PROTECTED_SOCIAL = 7;
public static final int PROTECTED_MULTISELL = 8;
public static final int PROTECTED_SUBCLASS = 9;
// =========================================================

then find this line
Code:

{ 4, 42, 42, Config.GLOBAL_CHAT_TIME, Config.TRADE_CHAT_TIME, 16, 100, Config.SOCIAL_TIME, 2 };

and make it like this

Code:

{ 4, 42, 42, Config.GLOBAL_CHAT_TIME, Config.TRADE_CHAT_TIME, 16, 100, Config.SOCIAL_TIME, 2, 200 };

Now Go To com.l2jfree.gameserver.model.actor.instance and open L2VillageMasterInstance.java
put this

Code:

import com.l2jfree.gameserver.util.FloodProtector;

Then Go At Line 413 find this

Code:

player.setActiveClass(paramOne);

content.append("Change Subclass:<br>Your active sub class is now a <font color=\"LEVEL\">"

and under this add this
Code:

/*
* DrHouse: Despite this is not 100% retail like, it is here to avoid some exploits during subclass changes, specially
* on small servers. TODO: On retail, each village master doesn't offer any subclass that is not given by itself so player
* always has to move to other location to change subclass after changing previously. Thanks Aikimaniac for this info.
*/
if (!FloodProtector.getInstance().tryPerformAction(player.getObjectId(), FloodProtector.PROTECTED_SUBCLASS))
{
player.sendMessage("You have to w8 tnx to hakerboy for 20 second(s)");
return;
}

now go To Line 488 (case7) And Find This

Code:

player.setActiveClass(paramOne);

and under it put this
Code:


/*
* DrHouse: Despite this is not 100% retail like, it is here to avoid some exploits during subclass changes, specially
* on small servers. TODO: On retail, each village master doesn't offer any subclass that is not given by itself so player
* always has to move to other location to change subclass after changing previously. Thanks Aikimaniac for this info.
*/
if (!FloodProtector.getInstance().tryPerformAction(player.getObjectId(), FloodProtector.PROTECTED_SUBCLASS))
{
player.sendMessage("You can cancel Subclass tnx to hakerboy every 20 second(s)");
return;

Now Go To Add Action
Go TO Line 393 (case4)

Code:

player.setActiveClass(player.getTotalSubClasses());

and under

Code:


/*
* DrHouse: Despite this is not 100% retail like, it is here to avoid some exploits during subclass changes, specially
* on small servers. TODO: On retail, each village master doesn't offer any subclass that is not given by itself so player
* always has to move to other location to change subclass after changing previously. Thanks Aikimaniac for this info.
*/
if (!FloodProtector.getInstance().tryPerformAction(player.getObjectId(), FloodProtector.PROTECTED_SUBCLASS))
{
player.sendMessage("You can Add new Subclass tnx to hakerboy every 20 Second(s)");
return;
}
avatar
[Developer]AnGelL
Admin
Admin

Posts : 65
Join date : 2009-07-30
Age : 24
Location : Greece

View user profile http://www.l2exploiters.forumakers.com

Back to top Go down

View previous topic View next topic Back to top

- Similar topics

 
Permissions in this forum:
You cannot reply to topics in this forum