xdem Posted February 27, 2013 Posted February 27, 2013 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!
^Wyatt Posted February 27, 2013 Posted February 27, 2013 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.
xdem Posted February 27, 2013 Author Posted February 27, 2013 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
^Wyatt Posted February 27, 2013 Posted February 27, 2013 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 fucked q.q
xdem Posted February 27, 2013 Author Posted February 27, 2013 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
^Wyatt Posted February 27, 2013 Posted February 27, 2013 Example 1 Example 2 Example 2 Example 3 Example 4 Example 5 And should be much more... the idea is the same in all (inclusive yours).
xdem Posted February 27, 2013 Author Posted February 27, 2013 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 ._.
GsL Posted February 27, 2013 Posted February 27, 2013 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.
xdem Posted February 27, 2013 Author Posted February 27, 2013 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 ^_^
GsL Posted February 28, 2013 Posted February 28, 2013 Idea fully taken from L2Pride ^_^ Vitality effect doesnt exist on interlude if some1 dont know u change it with other.
xdem Posted February 28, 2013 Author Posted February 28, 2013 does it works on aCis server files? :) yes ofcorse just remove the vitality effect
tonysbelet Posted March 1, 2013 Posted March 1, 2013 You have done and a great job ! Don't listen the "PRO" s... Keep doing what you love and ty for sharing it !
Recommended Posts