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

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Posts

    • Download Lobby u need island for lobby Download Crow Island  
    • Website: https://l2elixir.org/ Discord: https://discord.gg/5ydPHvhbxs    
    • L2-LORENA x100 MID RATE   Interlude Nostalgia Meets Modern Gameplay   OFFICIAL OPENING:  April 4 (Saturday)  19:00 UTC+1 ⸻  MAIN INFORMATION  Adena: x5  Drop: x10  Spoil: x10  Raid Boss: x10  Seal Stones: x2  Quests: x10 ⸻  FEATURES  GM Shop up to B-Grade  Full Buffer  Premium System (x2 bonuses)  AutoFarm – FREE for everyone ⸻  SERVER CONCEPT  Classic Interlude nostalgia  Enhanced with modern interface & mechanics  Balanced PvP & PvE gameplay  Active development & custom features ⸻  WHY JOIN L2-LORENA?  No Pay-to-Win  Smooth gameplay & stable server  Competitive PvP environment  Friendly & active community ⸻  JOIN US NOW L2-LORENA 100X <<< LINK Discord: https://discord.gg/TYZ88Tgx4b  Facebook: https://www.facebook.com/share/18kwbkaYZY/?mibextid=wwXIfr   L2-LORENA Link << Discord: https://discord.gg/TYZ88Tgx4b  Facebook: https://www.facebook.com/share/18kwbkaYZY/?mibextid=wwXIfr
    • https://web.archive.org/web/20260306183214/https://maxcheaters.com/topic/241828-l2j-l2damage/page/3/ https://l2topzone.com/forum/l2-server-support-problems/9/l2damage-stopped/30514 Also we will try to push longer seasons ever ! (1135-100)/9 = 115 online
    • ONE SIDE – AND EVERYTHING BREAKS ▪ Looks like a simple case: Florida DL, back side, barcode – “clean and minimal”. ▪ In reality, these are exactly the tasks that fail most often. – data provided as plain text – request only for the back side – focus on the barcode (PDF417) ▪ And here’s the key point: ▪ A barcode is not just a “picture on the back”. It’s compressed logic of the entire document. ▪ If it doesn’t match the front, format, and data structure – the system flags it instantly. ▪ Many create a “similar-looking” code. But systems don’t read “similar” – they read by specification. ▪ In cases like this, it’s not about design. It’s about correct data assembly and how it behaves inside the format. ▪ Today only – 15% off for verification cases. ▪ Want it to pass, not just look right? Describe your case – we’ll show where even clean files break. › TG: @mustang_service ( https:// t.me/ mustang_service ) › Channel: Mustang Service ( https:// t.me/ +JPpJCETg-xM1NjNl ) #editing #photoshop #documents #verification #case
  • Topics

×
×
  • Create New...

Important Information

This community uses essential cookies to function properly. Non-essential cookies and third-party services are used only with your consent. Read our Privacy Policy and We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue..