Antartico™ Posted June 13, 2011 Posted June 13, 2011 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.
0 B1ggBoss Posted June 14, 2011 Posted June 14, 2011 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; } }
0 Antartico™ Posted June 19, 2011 Author Posted June 19, 2011 B1ggBoss i send you a PM with some Questions in Spanish. Thanks for all your help. Regards.
Question
Antartico™
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