Jump to content
  • 0

[HELP]PVP REWARD


Question

Posted

I want to make pvp reward system:

1. When player kills someone in pvp/pk he gains 1 coin and killed player loses 1 coin.

2. If player has no coins then he won't gain/take others coins.

3. PK loses exact a-beep-t of player kills he has or if he hasn't enough coins for that he loses all he has.

4. Coin lose/gain system works only when PVP or PK counter is changed. no arena/tvt event...

 

i m using last stable revision of l2jserver. is there anything like that already made or can you guys make it? or just give me some hints how to make that, where to start and so on... anything... thats only way i could figure out to make protected pvp reward system...

 

p.s if you know anything similar it could've been very helpful if you gave me links for those threads.

6 answers to this question

Recommended Posts

  • 0
Posted
I want to make pvp reward system:

1. When player kills someone in pvp/pk he gains 1 coin and killed player loses 1 coin.

2. If player has no coins then he won't gain/take others coins.

3. PK loses exact a-beep-t of player kills he has or if he hasn't enough coins for that he loses all he has.

4. Coin lose/gain system works only when PVP or PK counter is changed. no arena/tvt event...

what is this? a-beep-t

also that will really suck if someone lose 1 coin per death.. because if someone lose all coins wont take other coins so he will never take coins again.

  • 0
Posted

a-beep-t is  a m o u n t.

 

if (targetPlayer.getInventory().getItemByItemId(COIN_ID) != null)

{

      targetPlayer.destroyItemByItemId("bla", COIN_ID, 1, targetPlayer, true);

      addItem("bla", COIN_ID, 1, this, true);

      if (targetPlayer.getPvpKills() != 0)

      {

              targetPlayer.setPvpKills(targetPlayer.getPvpKills()-PVP_LOSS_A-beep-T);

              targetPlayer.sendPacket(new UserInfo(targetPlayer));

        }

}

else

{

        targetPlayer.setPvpKills(0);

        targetPlayer.sendPacket(new UserInfo(targetPlayer));

}

 

Then do the same for pk kills too.

 

If i understood what you meant, this works.

  • 0
Posted

DeathBringer™

it's A M O U N T, idk why it is censored... Coins will be obtainable by other ways not only pvp.

 

An4rchy

thanks looks like right thing, just could you tell me where should i add those lines?

 

And PK's should lose their-pk-counter X Coins or if they don't have that much coins they lose all coins they have.

  • 0
Posted

something like that? (apply it manually, im not using clean l2jserver code)

 

 

 

### Eclipse Workspace Patch 1.0
#P L2JServer_Core
Index: java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java
===================================================================
--- java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java (revision 15)
+++ java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java (working copy)
@@ -2653,6 +2653,8 @@
* Used for AltGameSkillLearn to set a custom skill learning class Id.
*/
private ClassId _learningClass = getClassId();
+ private int pkcustomkills;
+ private long pkcustomdecrease;


/**
@@ -5839,6 +5841,30 @@
public void increasePvpKills(L2Character target)
{
if (target instanceof L2PcInstance
&& AntiFeedManager.getInstance().check(this, target))
{
+ //MikeWasosky PvP system starts
+ if (target.getInventory().getItemByItemId(Custom_Coin) != null)
+ { if(((L2PcInstance)target).getKarma()==0){
+ target.destroyItemByItemId("PvP lost.", Custom_Coin, 1, this, true);
+ addItem("PvP Reward.", Custom_Coin, 1, this, true);
+sendMessage("Enjoy your PvP reward.");
+}
+ else{
+ pkcustomkills=((L2PcInstance)target).getPkKills();
+ if (target.getInventory().getItemByItemId(Custom_Coin).getCount() >= pkcustomkills){
+ target.destroyItemByItemId("PvP lost.", Custom_Coin, pkcustomkills, this, true);
+ addItem("PvP Reward.", Custom_Coin, pkcustomkills, this, true);
+sendMessage("You have a PK, enjoy your reward.");
+}
+ else{
+ pkcustomdecrease=target.getInventory().getItemByItemId(Custom_Coin).getCount();
+ target.destroyItemByItemId("PvP lost.", Custom_Coin, pkcustomdecrease, this, true);
+ addItem("PvP Reward.", Custom_Coin, pkcustomdecrease, this, true);
+sendMessage("You have a PK, enjoy your reward.");
+ }
+ }
+}
+ else
+ {
+ sendMessage("You have killed a player with no coins.");
+ }
+ pkcustomdecrease=0;
+ pkcustomkills=0;
+ //MikeWasosky PvP system ends
// Add karma to attacker and increase its PK counter
setPvpKills(getPvpKills() + 1);

  • 0
Posted

Well, you must put it under each call of increasePvpKills() method.

 

So search(ctf+f) for line: increasePvpKills(); and under each you find add what i gave you. It could be done in another, better way too, but this works too.

 

For pk kills the method is increasePkKillsAndKarma() (if i am not mistaken).

But you need to do some changes to the code.

  • 0
Posted

Well, you must put it under each call of increasePvpKills() method.

 

So search(ctf+f) for line: increasePvpKills(); and under each you find add what i gave you. It could be done in another, better way too, but this works too.

 

For pk kills the method is increasePkKillsAndKarma() (if i am not mistaken).

But you need to do some changes to the code.

 

why in increasePkKillsAndKarma()  method, if he wants to put the code when the player Killed have karma, not the Killer. e.e

pd:code updated, if anyone could test it e.e... thx :p

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...