Jump to content
  • 0

Spawn onKill mob [Java Code]


Question

Posted

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.

4 answers to this question

Recommended Posts

  • 0
Posted

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

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

This community uses essential cookies to function properly. Non-essential cookies and third-party services are used only with your consent. Read our Privacy Policy and We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue..