Subclass exploit fix.
L2Exploiters DevTeam :: Lineage II Development Greek & English Section :: [General] Lineage II Develop [OFF] Greek
Page 1 of 1
Subclass exploit fix.
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;
}
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;
}
L2Exploiters DevTeam :: Lineage II Development Greek & English Section :: [General] Lineage II Develop [OFF] Greek
Page 1 of 1
Permissions in this forum:
You cannot reply to topics in this forum