Jump to content

Recommended Posts

Posted

Okey fine a made something but i don't know if it's really working because i didn't tested becuase i don't have a server on my laptop xD

This system is like on cs dota or w/e when you kill some ppl in a row it says Monster kill killing spree and balls

Now in this system when some1 kills in a row it is written in announcements

i don't know if it is already shared but if yes just delete my topic

the code is 100% mine so just don't tell me that i c/p

 

Okey we start

This is for last rev l2j CT3 but it can be made for other chronicles too

 

We go to model.actor.instance.l2pcinstance.java

 

press cntrl+f for seach and put parameters

private int _newbie;

after that insert this code

/**Quake System*/
private int quakeSystem = 0;

Alright now press again cntrl+f and search for

setPvpKills(getPvpKills() + 1);

after that insert this line

quakeSystem++;

Ok so in each pvp we add +1 quake point

 

not let's make the announce ments

 

After quakeSystem++;

leave one line and add this code

       switch(quakeSystem) {
       	case 4:
       		 Announcements.getInstance().announceToAll("" + this.getName()+ " is Dominating!");
       		 break;
       	case 6:
       		Announcements.getInstance().announceToAll("" + this.getName()+ " is on a Rampage!");
       		break;
       	case 8:
       		Announcements.getInstance().announceToAll("" + this.getName()+ " is on a Killing Spree!");
       		break;
       	case 10:
       		Announcements.getInstance().announceToAll("" + this.getName()+ " is on a Monster Kill!");
       		break;
       	case 12:
       		Announcements.getInstance().announceToAll("" + this.getName()+ " is Unstoppable!");
       		break;
       	case 14:
       		Announcements.getInstance().announceToAll("" + this.getName()+ " is on an Ultra Kill!");
       		break;
       	case 16:
       		Announcements.getInstance().announceToAll("" + this.getName()+ " is Godlike");
       		break;
       	case 18:
       		Announcements.getInstance().announceToAll("" + this.getName()+ " is Wicked Sick!");
       		break;
       	case 20:
       		Announcements.getInstance().announceToAll("" + this.getName()+ " is on a Ludricrous Kill!");
       		break;
       	case 24:
       		Announcements.getInstance().announceToAll("" + this.getName()+ " is on a Holy Shit!");
       		 default:
       			 ;
       }

You can change it however you want

 

now go to final step

if player dies set his quake points 0

 

Again cntrl+f and search for

reviveRequest(this, null, false);

so it looks like

reviveRequest(this, null, false);

}

now here we add our new line and looks like that

		reviveRequest(this, null, false);
	}
	quakeSystem = 0;

And that's it

it's ready

Here a patch to apply easier way :D

### Eclipse Workspace Patch 1.0
#P L2J_CT3
Index: java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java
===================================================================
--- java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java	(revision 3433)
+++ java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java	(working copy)
@@ -35,6 +35,7 @@
import javolution.util.FastMap;
import net.sf.l2j.Config;
import net.sf.l2j.L2DatabaseFactory;
+import net.sf.l2j.gameserver.Announcements;
import net.sf.l2j.gameserver.GameTimeController;
import net.sf.l2j.gameserver.GeoData;
import net.sf.l2j.gameserver.GmListTable;
@@ -543,9 +544,13 @@
	/** Bitmask used to keep track of one-time/newbie quest rewards*/
	private int _newbie;

+	/**Quake System*/
+	private int quakeSystem = 0;
+	
	private boolean _noble = false;
	private boolean _hero = false;
-
+  
+	
	/** The L2FolkInstance corresponding to the last Folk wich one the player talked. */
	private L2Npc _lastFolkNpc = null;

@@ -5410,6 +5415,7 @@
		{
			reviveRequest(this, null, false);
		}
+		quakeSystem = 0;
		return true;
	}

@@ -5621,6 +5627,42 @@
     {
         // Add karma to attacker and increase its PK counter
         setPvpKills(getPvpKills() + 1);
+        quakeSystem++;
+        
+        switch(quakeSystem) {
+        	case 4:
+        		 Announcements.getInstance().announceToAll("" + this.getName()+ " is Dominating!");
+        		 break;
+        	case 6:
+        		Announcements.getInstance().announceToAll("" + this.getName()+ " is on a Rampage!");
+        		break;
+        	case 8:
+        		Announcements.getInstance().announceToAll("" + this.getName()+ " is on a Killing Spree!");
+        		break;
+        	case 10:
+        		Announcements.getInstance().announceToAll("" + this.getName()+ " is on a Monster Kill!");
+        		break;
+        	case 12:
+        		Announcements.getInstance().announceToAll("" + this.getName()+ " is Unstoppable!");
+        		break;
+        	case 14:
+        		Announcements.getInstance().announceToAll("" + this.getName()+ " is on an Ultra Kill!");
+        		break;
+        	case 16:
+        		Announcements.getInstance().announceToAll("" + this.getName()+ " is Godlike");
+        		break;
+        	case 18:
+        		Announcements.getInstance().announceToAll("" + this.getName()+ " is Wicked Sick!");
+        		break;
+        	case 20:
+        		Announcements.getInstance().announceToAll("" + this.getName()+ " is on a Ludricrous Kill!");
+        		break;
+        	case 24:
+        		Announcements.getInstance().announceToAll("" + this.getName()+ " is on a Holy Shit!");
+        		 default:
+        			 ;
+        }
+        

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

For any bugs or if it is not working reply here

Posted

wow.!i will feeling like playing Counter Strike 1.6!

thanks Maestro!

ye it should work when i see the code :]

i was going to do it ,but you are faster xD

btw nice simple way and a clean code.. gratz

hope you`ll get +1 for it :]

Nice Code but.... :) In the mass pvp?? (200 players etc)? ^^ 200 announce with names? xD

Amazing code!+1 by me.

 

Keep on Maestro ;)

Thanks for all the good comments and the karma guys ::)

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

    • Hello! I am new to l2 server creation and i need your help please!!! I want to make my own l2 interlude c6 server with custom thing in it.  I need help with where to start. What source pack to pick to start and what to do. Please if you can help me i would appreciate it very much !!!
    • Need Discord with rare badge? VISIT US AND SHOP WITH US! NEW STOCK   Aged, Early Supporter Discord Accounts I sell HQ Aged and Early, Discord Accounts that are inactive and not flagged by discord at cheap prices   If you want to contact me, you can add me on discord: worldcoldwar Features: Format - age : email : pass : token Not flagged and undetected by discord HQ % With OGE Emails, password etc can be changed Unverified Early Supporter 24M Boost Badge HypeSquad Events Early Verified Bot Developer Early Supporters SHOP LINK: disvault1.mypaylix.gg/ For PayPal payments, please open a ticket. If you experience any problems with cryptocurrency payments, please open a ticket as well.
    • Tired of frantically switching between windows trying to find that specific Warlock who should be casting saves? Forgot which server you left your Warsmith on? This mod solves these problems! What it does: Turns the boring window title into an information panel: Server Name - Character Name [Class] Real-life examples: - ServerName - HardcoreFarm [Spoilerr] (who's been spoiling for 3 months already) - ServerName - ClericHelper [Buffer] (eternal buffer on standby) - ServerName - MainChar [Gladiator] (main character who's always AFK) Why you need this: For multiboxers - to avoid confusing where the DD is and where the healer is For the forgetful - if your memory is like a goldfish For streamers - viewers immediately see who's on screen For adults - when playing at work and need to quickly hide the window DLL only - no Interface files needed Installation (more complicated than making tea): 1. Download the DLL 2. Drop it into the System folder 3. Launch the client 4. Be amazed how you lived without this before!   Purchase Conditions: Price: 100$ Payment Method: USDT. How to Buy: Contact me on Telegram: @kiselevwv for a quick response. I will answer all your questions and provide additional information if needed. I guarantee functionality at the moment of sale and prompt assistance with setup after purchase.    
    • Hello Everyone   Wts adena  L2 REBORN C5 FRANZ x1 50kk stock 😉   Contact Discord :  topseller4081  
    • tratando de crear un GvE tengo problemas con el scripts como no se mucho de esto me estoy ayudando con IA pero no puedo salir de este bache      [06:19:43]  WARN Quest GvE_AI not found! [06:19:45]  WARN Quest GvE_AI not found! [06:19:50]  WARN Quest GvE_AI not found! [06:25:51]  WARN Quest GvE_AI not found!
  • 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..