Jump to content

Killingspree System


xdem

Recommended Posts

Hi again, I want to share you a killing spree system I made now, so here is the patch:

### Eclipse Workspace Patch 1.0
#P L2j_Server
Index: java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java
===================================================================
--- java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java	(revision 5822)
+++ java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java	(working copy)
@@ -221,6 +221,7 @@
import com.l2jserver.gameserver.network.serverpackets.ExGetOnAirShip;
import com.l2jserver.gameserver.network.serverpackets.ExOlympiadMode;
import com.l2jserver.gameserver.network.serverpackets.ExPrivateStoreSetWholeMsg;
+import com.l2jserver.gameserver.network.serverpackets.ExRedSky;
import com.l2jserver.gameserver.network.serverpackets.ExSetCompassZoneCode;
import com.l2jserver.gameserver.network.serverpackets.ExSpawnEmitter;
import com.l2jserver.gameserver.network.serverpackets.ExStartScenePlayer;
@@ -495,7 +496,6 @@
	private int _eventEffectId = 0;
	private boolean _isInSiege;
	private boolean _isInHideoutSiege = false;
-	
	public enum PunishLevel
	{
		NONE(0, ""),
@@ -5491,6 +5491,28 @@
	public boolean doDie(L2Character killer)
	{
		// Kill the L2PcInstance
+		if (KILL_STEAK>0)
+		{
+			if (KILL_STEAK>=5&&KILL_STEAK<10)
+				Announcements.getInstance().announceToAll(killer.getName()+" has stopped "+getName()+"'s killing spree of "+KILL_STEAK+" kills!!");
+			else if (KILL_STEAK<20)
+			{
+				sendMessage(killer.getName()+" has stopped "+getName()+"'s killing spree of "+KILL_STEAK+" kills!!");
+				if (!hadHero)
+					setHero(false);
+			}
+			else if (KILL_STEAK<60)
+			{
+				sendMessage(killer.getName()+" has ended "+getName()+"'s rampage of "+KILL_STEAK+" strait kills!");
+				stopAbnormalEffect(AbnormalEffect.VITALITY);
+				if (!hadHero)
+				setHero(false);
+			}
+			else if (KILL_STEAK>60)
+			{
+				sendMessage(killer.getName()+" has given an end to "+getName()+"'s reign of terror of "+KILL_STEAK+" strait kills!!!");
+				stopAbnormalEffect(AbnormalEffect.VITALITY);
+				if (!hadHero)
+					setHero(false);
+			}
+			KILL_STEAK=0;
+		}
		if (!super.doDie(killer))
			return false;

@@ -5839,7 +5861,8 @@
			}
		}
	}
-	
+	private int KILL_STEAK=0;
+	final boolean hadHero=Hero.getInstance().isHero(getObjectId());
	/**
	 * Increase the pvp kills count and send the info to the player
	 * @param target 
@@ -5851,7 +5874,24 @@
		{
			// Add karma to attacker and increase its PK counter
			setPvpKills(getPvpKills() + 1);
-			
+			KILL_STEAK++;
+			switch (KILL_STEAK)
+			{
+				case 5:
+					sendMessage("You are almost on a killing spree");
+					break;
+				case 10:
+					Announcements.getInstance().announceToAll(getName()+" is on a killing spree!!");
+					setHero(true);
+					break;
+				case 20:
+					Announcements.getInstance().announceToAll(getName()+" is on a rampage!!");
+					startAbnormalEffect(AbnormalEffect.VITALITY);
+					break;
+				case 60:
+					Announcements.getInstance().announceToAll(getName()+" is legendary!");
+					for (L2PcInstance players : L2World.getInstance().getAllPlayersArray())
+					{
+						players.sendPacket(new ExRedSky(10));
+					}
+					break;
+			}
			// Send a Server->Client UserInfo packet to attacker with its Karma and PK Counter
			sendPacket(new UserInfo(this));
			sendPacket(new ExBrExtraUserInfo(this));

I already tested an older version of it witch I made 2 weeks ago and it was working good, this code is not tested but its supposed to be 100% working... It will work on ANY pack of ANY client without adaption, after install and test please provide me with some feedback!! thanks

 

Ps: After 10 kills you become hero, after 20 you get Vitality effect, on restart or death the effects dissapear

You cant test it with dualbox, you have to remove anti feed system first

 

Updates:

Fixed some logical probs, thanks to f0zi fixed case collapse bug!

Link to comment
Share on other sites

I have nothing against you but, isn't it already shared too many times?

And why are u using "sendMessage(killer.getName()+" has stopped "+getName()+"'s killing spree of "+KILL_STEAK+" kills!!");" if u use "sendmessage" the only one who'll see that is who died... then the phrase has no sense... I think that should be different, or the method.

Link to comment
Share on other sites

I have nothing against you but, isn't it already shared too many times?

And why are u using "sendMessage(killer.getName()+" has stopped "+getName()+"'s killing spree of "+KILL_STEAK+" kills!!");" if u use "sendmessage" the only one who'll see that is who died... then the phrase has no sense... I think that should be different, or the method.

yes thats error, i wanted it Announcements, and I couldnt find anything about killing spree

 

fixed

Link to comment
Share on other sites

I dunno where is but I've seen killing spree since Ice Age XD And I'm sure that I'm not the only one, btw search button is -beep-ed q.q

 

there is one named Killing Spree Freya if you goggle it, but its rly diffrent it just works with msg and etc, mine sends msg and applies hero status(temp) at 10 first kills and after 20 viatality effect, also if u didnt see it ends on doDie with the proper msg and actions(remove vit/hero) so its more unique among all others

Link to comment
Share on other sites

Example 1

Example 2

Example 2

Example 3

Example 4

 

And should me much more... the idea is the same in all (inclusive yours).

 

Dont have acc on that br shittt ^_^ and that definetly doesnt mean that because its shared there, we cant share.create it for here ._.

Link to comment
Share on other sites

Its like l2pride when some1 stop killing spree make announce, i thing that make different this code from others...

 

nc share. i will test it.

 

Idea fully taken from L2Pride ^_^

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.


×
×
  • Create New...