Jump to content

[Share] Java CP Exploit Fix


Recommended Posts

I found this bug working in an old L2J C5 server. Then I tried it in the Interlude servers in HopZone and it worked in most of them. In the latest revision of the L2JServer pack it doesnt work but it works in L2JFree.

 

I searched for this bug here and I didnt find it so I guess it isnt posted so I share it here...

 

- Equip a weapon that increases CP. (Example: Infinity Wing)
- Heal your CP.
- Unequip the weapon.
- If your current CP is more than your Max. CP the bug worked.

If it worked add this code and compile your pack:

 

Index: C:/workspace/L2_GameServer_It/java/net/sf/l2j/gameserver/model/actor/stat/PcStat.java
===================================================================
--- C:/workspace/L2_GameServer_It/java/net/sf/l2j/gameserver/model/actor/stat/PcStat.java (Revision 2746)
+++ C:/workspace/L2_GameServer_It/java/net/sf/l2j/gameserver/model/actor/stat/PcStat.java 	(working copy)

   private int _oldMaxHp;      // stats watch
   private int _oldMaxMp;      // stats watch
+  private int _oldMaxCp;      // stats watch

 

Index: C:/workspace/L2_GameServer_It/java/net/sf/l2j/gameserver/model/actor/stat/PcStat.java
===================================================================
--- C:/workspace/L2_GameServer_It/java/net/sf/l2j/gameserver/model/actor/stat/PcStat.java (Revision 2746)
+++ C:/workspace/L2_GameServer_It/java/net/sf/l2j/gameserver/model/actor/stat/PcStat.java 	(working copy)

		super.setLevel(value);
	}
}
+	@Override
+	public final int getMaxCp()
+	{
+		int val = super.getMaxCp();
+		if (val != _oldMaxCp)
+		{
+			_oldMaxCp = val;
+			if (getActiveChar().getStatus().getCurrentCp() != val)
+			{
+				getActiveChar().getStatus().setCurrentCp(getActiveChar().getStatus().getCurrentCp());
+			}
+		}
+		return val;
+	}

@Override
public final int getMaxHp()

 

Index: C:/workspace/L2_GameServer_It/java/net/sf/l2j/gameserver/model/actor/stat/CharStat.java
===================================================================
--- C:/workspace/L2_GameServer_It/java/net/sf/l2j/gameserver/model/actor/stat/CharStat.java (Revision 2746)
+++ C:/workspace/L2_GameServer_It/java/net/sf/l2j/gameserver/model/actor/stat/CharStat.java 	(working copy)

	return _activeChar.getTemplate().baseAtkRange;
}

-	public final int getMaxCp()
+	public int getMaxCp()
{
	if (_activeChar == null)
	{
		return 1;
	}

	return (int) calcStat(Stats.MAX_CP, _activeChar.getTemplate().baseCpMax, null, null);
}

 

Credits: L2JServer Team

Link to comment
Share on other sites

LOL +1 karma for c/p wow

 

/* copy the whole damn -beep-ing l2j timeline and you get +5869643654983241 karma */

Karma is just a reward and even if the share is a copy paste, he deserves to be rewarded.

 

And please speak better, i know that giving karma is terrifying you, but don't overdo it ;)

Link to comment
Share on other sites

cool than i start to share all sync and all commits from the l2j timeline oO

 

kk l2j yours mine is l2jfree(just because of more commits daily) :D

Link to comment
Share on other sites

lol. we should kidding each other. what's that? i mean , we start c/p a timeline and share it as ours ? from me , this is the last time. if i see sth else like this u get my -1. dont care what others will say. and its not a matter of karma. its a matter of work.

 

Link to comment
Share on other sites

lol. we should kidding each other. what's that? i mean , we start c/p a timeline and share it as ours ? from me , this is the last time. if i see sth else like this u get my -1. dont care what others will say. and its not a matter of karma. its a matter of work.

 

Open your eyes and see my first post again.

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now


×
×
  • Create New...