Skip to content

Spawn onKill mob [Java Code]

Featured Replies

Hi. I have the hope that someone can help me.

 

I need java code to do the following:

 

When I kill a mob, there is another in a particular location by coordinates.

 

Example:

 

I kill Elpy1 in Giran. And when it dies, it then appears to Elpy2 in Dion.

 

Anyone tell me how to do this?

 

Thanks in advance.

this is a way without using extra memory

 

import com.l2jserver.gameserver.model.L2Spawn;
import com.l2jserver.gameserver.model.actor.L2Npc;
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
import com.l2jserver.gameserver.model.quest.Quest;

/**
* @author BiggBoss
*/
public final class NextSpawn extends Quest
{	
public NextSpawn(int questId, String name, String descr)
{
	super(questId, name, descr);
	addKillId(ELPY_ID); 
}

@Override
public String onKill(L2Npc npc, L2PcInstance player, boolean isPet)
{
	int[] coords = getNextSpawn(npc.getSpawn().getLocx(), npc.getSpawn().getLocy());
	// This way in case you want to delete the died elpy
	if(coords != null)
	{
		L2Spawn mySpawn = npc.getSpawn();
		npc.deleteMe();
		mySpawn.setLocx(coords[0]);
		mySpawn.setLocy(coords[1]);
		mySpawn.setLocz(coords[2]);
		mySpawn.init();
	}

	// This way in case you want to keep the died elpy and let him respawn
	if(coords != null)
	{
		L2Spawn spawn = new L2Spawn(NpcTable.getInstance().getTemplate(ELPY_ID));
		spawn.setLocx(coords[0]);
		spawn.setLocy(coords[1]);
		spawn.setLocz(coords[2]);
		spawn.init();
		SpawnTable.getInstance().addNewSpawn(spawn, false);
	}
	return null;
}

private final int[] getNextSpawn(final int curX, final int curY)
{
	int[] coords = new int[3];
	if(curX == 0 && curY == 0)
	{
		coords[0] = 1; // X
		coords[1] = 1; // Y
		coords[2] = 1; // Z
	}
	else if(curX == 1 && curY == 1)
	{
		// Same thing
	}
	return coords;
}
}

  • Author

B1ggBoss i send you a PM with some Questions in Spanish.

 

Thanks for all your help.

 

Regards.

Guest
This topic is now closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.