Jump to content

[Re-Share] Setekh's Avanced Hitman System (Global Daily Event)


Recommended Posts

Posted

Finally after looking and looking i've re-founded this awesome system created by setekh. Im resharing it because i think is a GREAT code and im sure lots of ppl want it... so here it is!

 

* What does this?

Lets take 2 characters for example.. Setekh and Ylin.

 

Setekh is mad cus she can't kill Ylin, and she goes to a Agent npc .. and Registers a hit on Ylin with an amount of adena (the Bounty).

 

shot00024dn.jpg

 

So you added him, then he wil get a msg and your adena will be reduced depending what bounty you added. When someone kills him, or you kill him the killer will get the bounty (a way to get your money back )  ;D

 

width=1024 height=577http://img268.imageshack.us/img268/8340/shot00015gw.jpg[/img]

 

Also, theres a list where you can see online targets and clear information about each target!  8)

The target dosent have to be online.. everything can be managed offline also ^^

 

width=1024 height=577http://img689.imageshack.us/img689/2756/shot00018ve.jpg[/img]

 

 

So, Thats it... i hope this Re-Share help someone ^^ this is for Gracia Final but ill update it to epilogue, if someone need help just ask me.

 

PD: The link will be hidden for 150 post because that's how setekh had it on the original post.

 

Updapted links:

 

Megaupload: http://www.megaupload.com/?d=9V8BQ0GY

RapidShare: http://rapidshare.com/files/441978150/Hitman_GDE.rar

4Shared: http://www.4shared.com/file/CVrnVIjL/Hitman_GDE.html

EasyShare: http://www.easy-share.com/1913529907/Hitman_GDE.rar

Private Server: http://www.l2velocity.com/Download/Hitman.rar (Thanks to Eko)

 

 

Credits: Setekh for Creating it, CrazyDeagle for storing it all this time XD and of course me for re-sharing it hahahaha

 

 

PD2: XD this is my first share for the community! ^^

 

UPDATE MARCH 18, 2011

 

so here its, im releasing this litle modification of the code that many of you suggested (original idea from disorder25)... its not that much and i have to give thanks to my friend Setekh again, because he helped me when i was on a dead end modding this :P (im still starting with java)

 

PK BOUNTY SYSTEM

 

Open your core on Eclipse

go to java/com/l2jserver/gameserver/model/entity/hitman.java

 

find this:

 

public void onEnterWorld(L2PcInstance activeChar)
{
	if(_targets.containsKey(activeChar.getObjectId()))
	{
		PlayerToAssasinate pta = _targets.get(activeChar.getObjectId());
		activeChar.sendMessage("There is a price on your head. Worth " + pta.getBounty() + " Adena.");
	}

 

and after that, paste this:

if(activeChar.getKarma() > 0)
	{
	    PlayerToAssasinate pta = _targets.get(activeChar.getObjectId()); // its better to get the data and then look for nulls, less cpu activity
	    if(pta != null) // if its not null that means his already on the list.
	    	return;
	    else // if player dose not exist add him now
	        _targets.put(activeChar.getObjectId(), new PlayerToAssasinate(activeChar.getObjectId(), 0, 1, activeChar.getName()));
	}

 

it should look like this :

 

public void onEnterWorld(L2PcInstance activeChar)
{
	if(_targets.containsKey(activeChar.getObjectId()))
	{
		PlayerToAssasinate pta = _targets.get(activeChar.getObjectId());
		activeChar.sendMessage("There is a price on your head. Worth " + pta.getBounty() + " Adena.");
	}

	if(activeChar.getKarma() > 0)
	{
	    PlayerToAssasinate pta = _targets.get(activeChar.getObjectId()); // its better to get the data and then look for nulls, less cpu activity
	    if(pta != null) // if its not null that means his already on the list.
	    	return;
	    else // if player dose not exist add him now
	        _targets.put(activeChar.getObjectId(), new PlayerToAssasinate(activeChar.getObjectId(), 0, 1, activeChar.getName()));
	}

 

:D and youre done!

 

This adds a bounty on a karma player for 1 adena, if hes allready on the list does nothing (ive done it like this to avoid exploiting :P). the pk drop itself is the reward :) i hope this helps some of you, maybe someone can make a ''karma'' tag on the bounty list? ive tryed with no sucess XD soon ill be adding more updates! keep giving ideas, ill try to make all of them!

 

cya >_<

 

Posted

Can this bounty system be changed to like a Karma killer?

Like if a player have karma, you  can find him on the map and kill him for a reward or even for his drops since karma players drop items.

Posted

Did you re-make it or so?

I love that code and so I love seth :P

 

nah its the clean code from seth, i had a adapted code for freya.

Posted

For me is working fine

Thnx for resharing it with us

 

Download link have error bro.Untill the 20 second count all is ok but when you go to download the file you got error. (Is not only my problem)

 

Please fix it!

Posted

Finally after looking and looking i've re-founded this awesome system created by setekh. Im resharing it because i think is a GREAT code and im sure lots of ppl want it... so here it is!

 

* What does this?

Lets take 2 characters for example.. Setekh and Ylin.

 

Setekh is mad cus she can't kill Ylin, and she goes to a Agent npc .. and Registers a hit on Ylin with an amount of adena (the Bounty).

 

shot00024dn.jpg

 

So you added him, then he wil get a msg and your adena will be reduced depending what bounty you added. When someone kills him, or you kill him the killer will get the bounty (a way to get your money back )  ;D

 

width=1024 height=577http://img268.imageshack.us/img268/8340/shot00015gw.jpg[/img]

 

Also, theres a list where you can see online targets and clear information about each target!  8)

The target dosent have to be online.. everything can be managed offline also ^^

 

width=1024 height=577http://img689.imageshack.us/img689/2756/shot00018ve.jpg[/img]

 

 

So, Thats it... i hope this Re-Share help someone ^^ this is for Gracia Final but ill update it to epilogue, if someone need help just ask me.

 

PD: The link will be hidden for 150 post because that's how setekh had it on the original post.

 

Link: http://www.4shared.com/file/CVrnVIjL/Hitman_GDE.html

 

Credits: Setekh for Creating it, CrazyDeagle for storing it all this time XD and of course me for re-sharing it hahahaha

 

 

PD2: XD this is my first share for the community! ^^

 

 

Good Share but still error mate check your link thanks and Merry xmas :)

( Link: http://www.4shared.com/file/CVrnVIjL/Hitman_GDE.html )

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

    • what pack you use  send me on discord for it
    • package custom.events.RandomZoneEvent; import java.io.File; import java.util.ArrayList; import java.util.List; import java.util.Random; import java.util.concurrent.ScheduledFuture; import org.w3c.dom.Document; import org.w3c.dom.Node; import org.l2jmobius.commons.threads.ThreadPool; import org.l2jmobius.commons.time.SchedulingPattern; import org.l2jmobius.commons.time.TimeUtil; import org.l2jmobius.commons.util.IXmlReader; import org.l2jmobius.gameserver.managers.ZoneManager; import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Player; import org.l2jmobius.gameserver.model.quest.Event; import org.l2jmobius.gameserver.model.zone.ZoneId; import org.l2jmobius.gameserver.model.zone.ZoneType; import org.l2jmobius.gameserver.model.zone.type.RandomZone; import org.l2jmobius.gameserver.util.Broadcast; /** * Random Zone Event - Activates one random PvP zone temporarily. No modifica la clase de la zona: usa flags PvP en runtime. * @author Juan */ public class RandomZoneEvent extends Event { private static final String CONFIG_FILE = "data/scripts/custom/events/RandomZoneEvent/config.xml"; private static int EVENT_DURATION_MINUTES = 15; private static boolean _isActive = false; private ScheduledFuture<?> _eventTask = null; private final List<ZoneType> _availableZones = new ArrayList<>(); private ZoneType _activeZone = null; public RandomZoneEvent() { loadConfig(); loadZones(); registerZoneListeners(); } /** * Registra listeners a TODAS LAS ZONAS random */ private void registerZoneListeners() { for (ZoneType zone : _availableZones) { addEnterZoneId(zone.getId()); addExitZoneId(zone.getId()); LOGGER.info("[RandomZoneEvent] Registered listener for zone: " + zone.getName()); } } private void loadConfig() { new IXmlReader() { @Override public void load() { parseDatapackFile(CONFIG_FILE); } @Override public void parseDocument(Document doc, File file) { forEach(doc, "event", eventNode -> { final StatSet att = new StatSet(parseAttributes(eventNode)); final String name = att.getString("name"); for (Node node = eventNode.getFirstChild(); node != null; node = node.getNextSibling()) { if ("schedule".equals(node.getNodeName())) { final StatSet attributes = new StatSet(parseAttributes(node)); final String pattern = attributes.getString("pattern"); final SchedulingPattern schedulingPattern = new SchedulingPattern(pattern); final StatSet params = new StatSet(); params.set("Name", name); params.set("SchedulingPattern", pattern); final long delay = schedulingPattern.getDelayToNextFromNow(); getTimers().addTimer("Schedule_" + name, params, delay + 5000, null, null); LOGGER.info("[RandomZoneEvent] Event " + name + " scheduled at " + TimeUtil.getDateTimeString(System.currentTimeMillis() + delay)); } } }); } }.load(); } private void loadZones() { for (ZoneType zone : ZoneManager.getInstance().getAllZones(RandomZone.class)) { if ((zone.getName() != null) && zone.getName().toLowerCase().startsWith("random_zone")) { _availableZones.add(zone); LOGGER.info("[RandomZoneEvent] Loaded zone: " + zone.getName() + " (id=" + zone.getId() + ")"); } } LOGGER.info("[RandomZoneEvent] Total random zones loaded: " + _availableZones.size()); } @Override public void onTimerEvent(String event, StatSet params, Npc npc, Player player) { if (event.startsWith("Schedule_")) { eventStart(null); final SchedulingPattern schedulingPattern = new SchedulingPattern(params.getString("SchedulingPattern")); final long delay = schedulingPattern.getDelayToNextFromNow(); getTimers().addTimer(event, params, delay + 5000, null, null); LOGGER.info("[RandomZoneEvent] Rescheduled for " + TimeUtil.getDateTimeString(System.currentTimeMillis() + delay)); } } @Override public boolean eventStart(Player eventMaker) { if (_isActive) { if (eventMaker != null) { eventMaker.sendMessage("RandomZoneEvent already active."); } return false; } if (_availableZones.isEmpty()) { Broadcast.toAllOnlinePlayers("[RandomZoneEvent] No zones configured."); return false; } _isActive = true; Broadcast.toAllOnlinePlayers("⚔️ Random Zone Event has started!"); _eventTask = ThreadPool.schedule(this::activateRandomZone, 5_000); return true; } private void activateRandomZone() { _activeZone = _availableZones.get(new Random().nextInt(_availableZones.size())); _activeZone.setEnabled(true); Broadcast.toAllOnlinePlayers("🔥 Random Zone Event: " + _activeZone.getName() + " is now PvP for " + EVENT_DURATION_MINUTES + " minutes!"); _eventTask = ThreadPool.schedule(this::eventStop, EVENT_DURATION_MINUTES * 60 * 1000L); } @Override public boolean eventStop() { if (!_isActive) { return false; } _isActive = false; if (_eventTask != null) { _eventTask.cancel(true); _eventTask = null; } if (_activeZone != null) { _activeZone.setEnabled(false); Broadcast.toAllOnlinePlayers("🏁 Random Zone Event ended. " + _activeZone.getName() + " is back to normal."); _activeZone = null; } else { Broadcast.toAllOnlinePlayers("🏁 Random Zone Event ended."); } return true; } @Override public void onEnterZone(Creature creature, ZoneType zone) { if (!_isActive || (_activeZone == null)) { return; } if ((zone == _activeZone) && creature.isPlayable()) { creature.setInsideZone(ZoneId.PVP, true); if (creature.isPlayer()) { creature.sendMessage("Esta zona está en modo PvP temporalmente."); } } } @Override public void onExitZone(Creature creature, ZoneType zone) { if (!_isActive || (_activeZone == null)) { return; } if ((zone == _activeZone) && creature.isPlayable()) { creature.setInsideZone(ZoneId.PVP, false); if (creature.isPlayer()) { creature.sendMessage("Abandonaste la zona PvP temporal."); } } } @Override public boolean eventBypass(Player player, String bypass) { return true; } @Override public String onEvent(String event, Npc npc, Player player) { return super.onEvent(event, npc, player); } @Override public String onFirstTalk(Npc npc, Player player) { return null; } public static void main(String[] args) { new RandomZoneEvent(); } } i have this but its not working
  • Topics

×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock