Jump to content

[Share]Class Based PvP Reward System & Party Reward System


eKo

Recommended Posts

Hello, i wanna share my Class based PvP System and Party Reward System.

Its a Simple System IT dosent Require much l2j Coding Knowledge

Its set to 3 Category's Mages,Dwarfs,Fighters

Its only for 3rd class players atm.

You can Reward players whit the Items they need for thier Class

Party reward system Rewards Support Classes(healer/Buffers) whit a item when they Engage in pvp while beign in a party(only if someone from the party kills another player)

I added Config for nearly everything it was supposed to be givin to non java knowledge people.

So dont cry about useless configs

Screen

Mage: http://img705.imageshack.us/img705/1358/shot00001vr.jpg

Dwarf: http://img295.imageshack.us/img295/6017/shot00003a.jpg

Fighter: http://img822.imageshack.us/img822/2734/shot00002ad.jpg

 

Here Full code inc Configs :  http://pastebin.com/ryhNPpUd

 

Here only code from pcinstance

 

Index: C:/Dokumente und Einstellungen/michael/workspace2/L2J/L2_GameServer_It/java/net/sf/l2jgameserver/model/actor/instance/L2PcInstance.java
===================================================================
--- C:/Dokumente und Einstellungen/michael/workspace2/L2J/L2_GameServer_It/java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java	(revision 206)
+++ C:/Dokumente und Einstellungen/michael/workspace2/L2J/L2_GameServer_It/java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java	(working copy)

@@ -5297,12 +5339,136 @@
               // Add karma to attacker and increase its PK counter
		setPvpKills(getPvpKills() + 1);
+		
+        
+        // Dwarfs Advanced PvP Reward System   
+        if ( Config.DWARFREWARD && (Rnd.get(100) < Config.DWARFREWARDCHANCE))
+		{
+		if (getClassId().getId() == 118 ||getClassId().getId() == 117)
+		{
+		    int[][] items = { {Config.DWARF_REWARD1, Config.DWARF_REWARD_AMMOUNT1}, {Config.DWARF_REWARD2, Config.DWARF_REWARD_AMMOUNT2}, {Config.DWARF_REWARD3, Config.DWARF_REWARD_AMMOUNT3}, {Config.DWARF_REWARD4, Config.DWARF_REWARD_AMMOUNT4}, {Config.DWARF_REWARD5, Config.DWARF_REWARD_AMMOUNT5}, {Config.DWARF_REWARD6, Config.DWARF_REWARD_AMMOUNT6}, {Config.DWARF_REWARD7, Config.DWARF_REWARD_AMMOUNT7}, {Config.DWARF_REWARD8, Config.DWARF_REWARD_AMMOUNT8}, {Config.DWARF_REWARD9, Config.DWARF_REWARD_AMMOUNT9}, {Config.DWARF_REWARD10, Config.DWARF_REWARD_AMMOUNT10} };
+
+		    int[] ar = items[Rnd.get(10)]; // gets a random array(containing itemid and count) items array
+
+			addItem("StartUp",  ar[0], ar[1], this, true);
+			sendMessage("You Earned a Dwarf Item as Reward");
+		}
+		}
+		
+		// Mages Advanced PvP Reward System	
+        // For all Mage Users Healers,Buffers,Mages
+		if ( Config.MAGEREWARD && (Rnd.get(100) < Config.MAGEREWARDCHANCE))
+		{
+		if (getClassId().getId() == 116 ||getClassId().getId() == 115 ||getClassId().getId() == 112 ||getClassId().getId() == 111 ||getClassId().getId() == 110 ||getClassId().getId() == 105 ||getClassId().getId() == 104 || getClassId().getId() == 103 ||getClassId().getId() == 98 ||getClassId().getId() == 97 ||getClassId().getId() == 96 ||getClassId().getId() == 95 ||getClassId().getId() == 94)
+		{
+		    int[][] items = { {Config.MAGE_REWARD1, Config.MAGE_REWARD_AMMOUNT1}, {Config.MAGE_REWARD2, Config.MAGE_REWARD_AMMOUNT2}, {Config.MAGE_REWARD3, Config.MAGE_REWARD_AMMOUNT3}, {Config.MAGE_REWARD4, Config.MAGE_REWARD_AMMOUNT4}, {Config.MAGE_REWARD5, Config.MAGE_REWARD_AMMOUNT5}, {Config.MAGE_REWARD6, Config.MAGE_REWARD_AMMOUNT6}, {Config.MAGE_REWARD7, Config.MAGE_REWARD_AMMOUNT7}, {Config.MAGE_REWARD8, Config.MAGE_REWARD_AMMOUNT8}, {Config.MAGE_REWARD9, Config.MAGE_REWARD_AMMOUNT9}, {Config.MAGE_REWARD10, Config.MAGE_REWARD_AMMOUNT10} };
+
+		    int[] ar = items[Rnd.get(10)]; // gets a random array(containing itemid and count) items array
+
+			addItem("StartUp",  ar[0], ar[1], this, true);
+			sendMessage("You Earned a Mage Item as Reward");
+		}
+		}
+		
+		// Fighers Advanced PvP Reward System
+		// This is for All Fighter Classes(Tanks,Archers,Daggers etc.)
+		if ( Config.FIGHTERREWARD && (Rnd.get(100) < Config.FIGHTERREWARDCHANCE))
+		{
+		if (getClassId().getId() == 114 ||getClassId().getId() == 113 ||getClassId().getId() == 109 ||getClassId().getId() == 108 ||getClassId().getId() == 107 ||getClassId().getId() == 106 ||getClassId().getId() == 102 ||getClassId().getId() == 101 ||getClassId().getId() == 100 ||getClassId().getId() == 99 ||getClassId().getId() == 93 ||getClassId().getId() == 92 ||getClassId().getId() == 91 ||getClassId().getId() == 90 ||getClassId().getId() == 89 ||getClassId().getId() == 88 )
+		{
+		    int[][] items = { {Config.FIGHTER_REWARD1, Config.FIGHTER_REWARD_AMMOUNT1}, {Config.FIGHTER_REWARD2, Config.FIGHTER_REWARD_AMMOUNT2}, {Config.FIGHTER_REWARD3, Config.FIGHTER_REWARD_AMMOUNT3}, {Config.FIGHTER_REWARD4, Config.FIGHTER_REWARD_AMMOUNT4}, {Config.FIGHTER_REWARD5, Config.FIGHTER_REWARD_AMMOUNT5}, {Config.FIGHTER_REWARD6, Config.FIGHTER_REWARD_AMMOUNT6}, {Config.FIGHTER_REWARD7, Config.FIGHTER_REWARD_AMMOUNT7}, {Config.FIGHTER_REWARD8, Config.FIGHTER_REWARD_AMMOUNT8}, {Config.FIGHTER_REWARD9, Config.FIGHTER_REWARD_AMMOUNT9}, {Config.FIGHTER_REWARD10, Config.FIGHTER_REWARD_AMMOUNT10} };
+
+		    int[] ar = items[Rnd.get(10)]; // gets a random array(containing itemid and count) items array
+
+			addItem("StartUp",  ar[0], ar[1], this, true);
+			sendMessage("You Earned a Fighter Item as Reward");
+		}
+		}
+		// Advanced Party pvp Reward System
+		// this is for both healers and buffers
+	    if ( Config.HEALERBUFFERPARTYPVPREWARD && (Rnd.get(100) < Config.HEALERBUFFERPARTYPVPREWARDCHANCE))
+		 {
+			if (getParty() != null)
+	        {
+
+			  for (L2PcInstance member : getParty().getPartyMembers())
+	           {
+
+			    if (member.getClassId().getId() == 116 || member.getClassId().getId() == 115 ||member.getClassId().getId() == 112 ||member.getClassId().getId() == 105 ||member.getClassId().getId() == 98 ||member.getClassId().getId() == 97) 
+			    {
+			    	int[][] items = { {Config.PARTY_REWARD1, Config.PARTY_REWARD_AMMOUNT1}, {Config.PARTY_REWARD2, Config.PARTY_REWARD_AMMOUNT2}, {Config.PARTY_REWARD3, Config.PARTY_REWARD_AMMOUNT3}, {Config.PARTY_REWARD4, Config.PARTY_REWARD_AMMOUNT4}, {Config.PARTY_REWARD5, Config.PARTY_REWARD_AMMOUNT5}, {Config.PARTY_REWARD6, Config.PARTY_REWARD_AMMOUNT6}, {Config.PARTY_REWARD7, Config.PARTY_REWARD_AMMOUNT7}, {Config.PARTY_REWARD8, Config.PARTY_REWARD_AMMOUNT8}, {Config.PARTY_REWARD9, Config.PARTY_REWARD_AMMOUNT9}, {Config.PARTY_REWARD10, Config.PARTY_REWARD_AMMOUNT10} };
+
+			    int[] ar = items[Rnd.get(10)]; // gets a random array(containing itemid and count) items array
+
+				member.addItem("Loot",  ar[0], ar[1], this, true);
+				member.sendMessage("You Earned a Party Item as Reward");
+			    }
+	             }
+	        }
+	   }
+	    
+	    
	// PvP Reward System Random items

 

Credits : ME

Link to comment
Share on other sites

Final you share it,btw as i told ya in msn nice work.

Ps: Hide it for 500 posts or for 3 karma.

All noobs srvs now will have this system.

 

 

Link to comment
Share on other sites

Final you share it,btw as i told ya in msn nice work.

Ps: Hide it for 500 posts or for 3 karma.

All noobs srvs now will have this system.

 

EDIT: you dont have put the configs -_-

 

told ya i made configs for everything, just remove the Config. i see no Point in hiding it. Everyone can use it who want it

Link to comment
Share on other sites

typo on

int[][] items = { {Config.DWARF_REWARD1, Config.DWARF_REWARD_AMMOUNT1}, {Config.DWARF_REWARD2, Config.DWARF_REWARD_AMMOUNT2}, {Config.DWARF_REWARD3, Config.DWARF_REWARD_AMMOUNT3}, {Config.DWARF_REWARD4, Config.DWARF_REWARD_AMMOUNT4}, {Config.DWARF_REWARD5, Config.DWARF_REWARD_AMMOUNT5}, {Config.DWARF_REWARD6, Config.DWARF_REWARD_AMMOUNT6}, {Config.DWARF_REWARD7, Config.DWARF_REWARD_AMMOUNT7}, {Config.DWARF_REWARD8, Config.DWARF_REWARD_AMMOUNT8}, {Config.DWARF_REWARD9, Config.DWARF_REWARD_AMMOUNT9}, {Config.DWARF_REWARD1, Config.DWARF_REWARD_AMMOUNT10} };

Link to comment
Share on other sites

typo on

int[][] items = { {Config.DWARF_REWARD1, Config.DWARF_REWARD_AMMOUNT1}, {Config.DWARF_REWARD2, Config.DWARF_REWARD_AMMOUNT2}, {Config.DWARF_REWARD3, Config.DWARF_REWARD_AMMOUNT3}, {Config.DWARF_REWARD4, Config.DWARF_REWARD_AMMOUNT4}, {Config.DWARF_REWARD5, Config.DWARF_REWARD_AMMOUNT5}, {Config.DWARF_REWARD6, Config.DWARF_REWARD_AMMOUNT6}, {Config.DWARF_REWARD7, Config.DWARF_REWARD_AMMOUNT7}, {Config.DWARF_REWARD8, Config.DWARF_REWARD_AMMOUNT8}, {Config.DWARF_REWARD9, Config.DWARF_REWARD_AMMOUNT9}, {Config.DWARF_REWARD1, Config.DWARF_REWARD_AMMOUNT10} };

 

ups ^^ sorry fixed

Link to comment
Share on other sites

  • 2 weeks later...

i like it ty for the share mate.

 

np.

 

btw ifs set to 3rd class only, just check out the char temp and add all classes if you want.

 

 

getClassId().getId() == CLASSID ||getClassId().getId() == CLASSID and and and...

Link to comment
Share on other sites

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
Reply to this topic...

×   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.



  • Posts

    • From my personal experiences 🙂   Few months ago I decided to create my own Essence project. Project needs website, and I do not specialize in frontend development (t.y. i can make web work, but it won't be pretty for eye). So I search and find a guy in Discord, which claims he can make me a good looking HTML website for 30 EUR, prove some screenshots from his previous work. I agree. 1 week later, I get my HTML website, make few changes to contents, update URLs and upload it to FTP. Site looks good, I am happy that this headache is no more.   Few months passes. I randomly crawl through other Essence server websites scouting for good ideas for my own project. Suddenly one of russians project website opens and.. it's the same website as one I have 😉 perfectly absolutely same layout, colours, etc etc etc. I contact my guy to ask what the hell, to get blocked 😉  So I find a weekend worth of my time. Find HTML5 boilerplate generator and ask it to include Bootstrap 5 and some other stuff. Open Bootstrap documentation, drink two energy drinks on instant and start working my backend-inspired HTML black magic... Once I found suiting firefly effect for header, result looked oikay for me: Absolutely no magic or beauty here, but: * Unique (and probably nobody cares to rip it) * Done for free in ~10 hours by non-frontend dev * Most modern browsers friendly * Completely static content, loads instantly. No PHP at all * Sidebar statuses (online, pvp, pk) are pulled from account manager REST API endpoint and is cached for 5 minutes. Account manager runs separately from website frontend and has access to server DB. Where could/will it get better? * Code in Vue instead of HTML - time concerns only, but Vue is superior compared to HTML/PHP for supporting desktop/mobile, easing development by miles. Need to learn how to use it properly. * Way to manage content from backend - in my instance I think account manager is not really meant for that. Vue can help here too - there are components for content building. * Currently default Bootstrap components are used. Would be nice to have custom and more vibrant buttons. Guess what, Vue can help here too.   tl;dr don't buy 30EUR website, it will be ripped or shit. you better make your own website. Be curious. I am backend developer, I obviously have general idea how frontend works. But imho everyone who can make L2 server by editing NPC HTMLs, also can make their own simple website. ChatGPT and other AIs are your friends. Bootstrap. jQuery documentations are your friends. And when you feel good and comfortable with HTML, if you like, you can continue learning Vue, or going backend. Now, as for the top sites. You really need to invest money to make new project work. I mean really, really much money. For this concept to work, top website itself must get visited. But if you can sort that your top site would be popular amongst players, then it's a really very simple concept, as far as current 2004-ish sites goes. I think simple, working concept of this, maybe without proper frontend, but with implemented backend logics (add/edit/disable server, sort by votes count (top list), vote for server with verification, callback to server endpoint - all of that can be done using Symfony in mostly 5 days, with lots of breaks for coffee and a smoke 😉. Experienced mid frontend dev would make a Vue/React frontend for it in another 5 days. it's really really simple concept 🙂  
    • Need cheap aged discord accounts ? :  https://campsite.bio/utchihaamkt DISCORD USERNAME : utchiha_market TELEGRAM : https://t.me/utchiha_market Discover new products in our exclusive server today : https://discord.gg/hoodservices
    • i've copyed the files from a server that has it , like all except system folder to another that didn't had the feature and it worked but i can't find any file to resemble save acc or something
  • Topics

×
×
  • Create New...