Jump to content
  • 0

Spawn onKill mob [Java Code]


Antartico™

Question

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.

Link to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 0

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;
}
}

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.


×
×
  • Create New...