Jump to content

Rank Pvp System 3.8.9 [Il - H5]


Recommended Posts

2.9.9 try 3.0.0,

and if you have other version than l2j server H5 stable try fit it manually.

I tried 3.0.1 still same..

 

Well my L2PCInstance is like this:

 

public void increasePvpKills(L2Character target)
{
	increasePvpKills(target, false);
}

/**
 * Increase the pvp kills count and send the info to the player
 * @param target 
 */
public void increasePvpKills(L2Character target, boolean event)
{
	if (target instanceof L2PcInstance)
	{
		if(event || AntiFeedManager.getInstance().check(this, target))
		{
			// Add karma to attacker and increase its PK counter
			setPvpKills(getPvpKills() + 1);

			// Send a Server->Client UserInfo packet to attacker with its Karma and PK Counter
			sendPacket(new UserInfo(this));
			sendPacket(new ExBrExtraUserInfo(this));
		}
	}
}

 

Would this work?:

public void increasePvpKills(L2Character target)
{
	increasePvpKills(target, false);
}

/**
 * Increase the pvp kills count and send the info to the player
 * @param target 
 */
public void increasePvpKills(L2Character target, boolean event)
{
	if(!CustomPvpSystemConfig.CUSTOM_PVP_LEGAL_COUNTER_ALTT_ENABLED && target instanceof L2PcInstance && AntiFeedManager.getInstance().check(this, target))
		{
			// Add karma to attacker and increase its PK counter
			setPvpKills(getPvpKills() + 1);

			// Send a Server->Client UserInfo packet to attacker with its Karma and PK Counter
			sendPacket(new UserInfo(this));
			sendPacket(new ExBrExtraUserInfo(this));
		}

}

 

Link to comment
Share on other sites

I don't know what exactly do 'event' variable but with this convention code should looks like this:

 

	if(!CustomPvpSystemConfig.CUSTOM_PVP_LEGAL_COUNTER_ALTT_ENABLED && target instanceof L2PcInstance && AntiFeedManager.getInstance().check(this, target) || !CustomPvpSystemConfig.CUSTOM_PVP_LEGAL_COUNTER_ALTT_ENABLED && event)
{
	// Add karma to attacker and increase its PK counter
	setPvpKills(getPvpKills() + 1);

	// Send a Server->Client UserInfo packet to attacker with its Karma and PK Counter
	sendPacket(new UserInfo(this));
	sendPacket(new ExBrExtraUserInfo(this));
}

Link to comment
Share on other sites

Compiled without any problems!

 

Changed L2PcInstance_v.3.0.1.diff

the last part to this:

@@ -5846,12 +5872,10 @@
public void increasePvpKills(L2Character target, boolean event)
{
-		if (target instanceof L2PcInstance)
-		{
-			if(event || AntiFeedManager.getInstance().check(this, target))
+     if(!CustomPvpSystemConfig.CUSTOM_PVP_LEGAL_COUNTER_ALTT_ENABLED && target instanceof L2PcInstance && AntiFeedManager.getInstance().check(this, target) || !CustomPvpSystemConfig.CUSTOM_PVP_LEGAL_COUNTER_ALTT_ENABLED && event)
		{
			// Add karma to attacker and increase its PK counter
			setPvpKills(getPvpKills() + 1);

			// Send a Server->Client UserInfo packet to attacker with its Karma and PK Counter
			sendPacket(new UserInfo(this));
			sendPacket(new ExBrExtraUserInfo(this));
		}
-		}
}

Link to comment
Share on other sites

Я все установил как и было показано,но когда ввожу в игре .pvpinfo - такой команды нет, а для datapack voicedhandlier есть diff?

Link to comment
Share on other sites

Hello!! Really a nice share, nut i have a problem in CustomPvpSystem.java and CustomPvpSystemDeathMgr.java:

 

if(activeChar.isInsideZone(CustomPvpSystemConfig.CUSTOM_PVP_RESTRICTED_ZONES_IDS.get(i).byteValue())){

 

if(activeChar.isInsideZone(CustomPvpSystemConfig.CUSTOM_PVP_RESTRICTED_ZONES_IDS.get(i).byteValue())){

    [javac]                 ^

    [javac]    method L2Character.isInsideZone(ZoneId) is not applicable

    [javac]      (actual argument byte cannot be converted to ZoneId by method invocation conversion)

 

if(activeChar.isInsideZone(CustomPvpSystemConfig.CUSTOM_PVP_DEATH_MANAGER_RESTRICTED_ZONES_IDS.get(i).byteValue())){

 

if(activeChar.isInsideZone(CustomPvpSystemConfig.CUSTOM_PVP_DEATH_MANAGER_RESTRICTED_ZONES_IDS.get(i).byteValue())){

    [javac]                   ^

    [javac]    method L2Character.isInsideZone(ZoneId) is not applicable

    [javac]      (actual argument byte cannot be converted to ZoneId by method invocation conversion)

Link to comment
Share on other sites

1. I understand only Polish or english.

2. Patch not compatibile with UNSTABLE H5 l2j, because they changes Zone identyfications.

 

Using

[PROJECT] L2j-ENDURE

 

in this case,  not how to help me?

 

Sorry for the weak english!

Link to comment
Share on other sites

 

I set everything out of all the .diff , compile perfect and without error , but in the game when singling out another character in the target and write .pvpinfo , he writes that such a team is incorrect !

Link to comment
Share on other sites

does anyone else have problem with karma even if system is on or off or rising hes pvps (alt+t) or pks? or if you kill somebody you dont take karma... and as i said system tryed on off all settings

Link to comment
Share on other sites

yes,i think

i fixed it in 3.0.1 version.

 

P.S.

just remove my if statement from: public void increasePkKillsAndKarma(L2Character target) method, i forgot remove it in 3.0.0 sorry for my miss ;)

 

correct method should looks like this (its oryginal code):

 

public void increasePkKillsAndKarma(L2Character target)
{
	int baseKarma           = Config.KARMA_MIN_KARMA;
	int newKarma            = baseKarma;
	int karmaLimit          = Config.KARMA_MAX_KARMA;

	int pkLVL               = getLevel();
	int pkPKCount           = getPkKills();

	int targLVL             = target.getLevel();

	int lvlDiffMulti = 0;
	int pkCountMulti = 0;

	// Check if the attacker has a PK counter greater than 0
	if (pkPKCount > 0)
		pkCountMulti = pkPKCount / 2;
	else
		pkCountMulti = 1;

	if (pkCountMulti < 1)
		pkCountMulti = 1;

	// Calculate the level difference Multiplier between attacker and killed L2PcInstance
	if (pkLVL > targLVL)
		lvlDiffMulti = pkLVL / targLVL;
	else
		lvlDiffMulti = 1;

	if (lvlDiffMulti < 1)
		lvlDiffMulti = 1;

	// Calculate the new Karma of the attacker : newKarma = baseKarma*pkCountMulti*lvlDiffMulti
	newKarma *= pkCountMulti;
	newKarma *= lvlDiffMulti;

	// Make sure newKarma is less than karmaLimit and higher than baseKarma
	if (newKarma < baseKarma)
		newKarma = baseKarma;
	if (newKarma > karmaLimit)
		newKarma = karmaLimit;

	// Fix to prevent overflow (=> karma has a  max value of 2 147 483 647)
	if (getKarma() > (Integer.MAX_VALUE - newKarma))
		newKarma = Integer.MAX_VALUE - getKarma();

	// Add karma to attacker and increase its PK counter
	setKarma(getKarma() + newKarma);
	setPkKills(getPkKills() + 1);

	// Send a Server->Client UserInfo packet to attacker with its Karma and PK Counter
	sendPacket(new UserInfo(this));
	sendPacket(new ExBrExtraUserInfo(this));
}

 

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.



×
×
  • Create New...