Попробуй так
Добавлено через 5 минут
так же ИД мобов должен быть уникальным, так как если что то убьет в другой локе этого моба то оно тоже убдет работать.
Код:
package com.l2jfrozen.gameserver.ai.special;
import com.l2jfrozen.gameserver.model.actor.instance.L2NpcInstance;
import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance;
import com.l2jfrozen.gameserver.model.quest.Quest;
import com.l2jfrozen.gameserver.thread.ThreadPoolManager;
import java.util.concurrent.Future;
/*
@Author morfeus
21336 -- Ketra orc white captain
21378 -- Scarlet Stakato Noble
21381 -- Assassin Beetle
*/
public class RebornCorpse extends Quest implements Runnable
{
public int CNT = 4;
private static final int[] monsters = new int[]{21336,21378,21381};
public RebornCorpse(int questId, String name, String descr)
{
super(questId, name, descr);
for(final int MobIds : monsters)
{
addKillId(MobIds);
}
addSpawn(21336, 119319, 112238, -3695, 9074, false, 0);
addSpawn(21336, 119247, 112349, -3691, 9438, false, 0);
addSpawn(21336, 119225, 112176, -3698, 7247, false, 0);
addSpawn(21336, 119139, 112318, -3690, 6712, false, 0);
}
@Override
public String onKill(L2NpcInstance npc, L2PcInstance killer, boolean isPet)
{
if(npc.getNpcId() == monsters[0] && CNT == 1)
{
CNT = 4;
delaySpawnMe = ThreadPoolManager.getInstance().scheduleAi(new delayedSpawn(monsters[1]), 5000);
}
else if(npc.getNpcId() == monsters[1] && CNT == 1)
{
CNT = 4;
delaySpawnMe = ThreadPoolManager.getInstance().scheduleAi(new delayedSpawn(monsters[2]), 5000);
}
else if(npc.getNpcId() == monsters[2] && CNT == 1)
{
delaySpawnMe = ThreadPoolManager.getInstance().scheduleAi(new delayedSpawn(monsters[0]), 5000);
CNT = 4;
}
else
CNT--;
return super.onKill(npc, killer, isPet);
}
Future<?> delaySpawnMe;
public class delayedSpawn implements Runnable
{
int nd;
public delayedSpawn(int npid)
{
nd = npid;
}
@Override
public void run()
{
switch (nd)
{
case 21336:
addSpawn(21378, 119319, 112238, -3695, 9074, false, 0);
addSpawn(21378, 119247, 112349, -3691, 9438, false, 0);
addSpawn(21378, 119225, 112176, -3698, 7247, false, 0);
addSpawn(21378, 119139, 112318, -3690, 6712, false, 0);
break;
case 21378:
addSpawn(21381, 119319, 112238, -3695, 9074, false, 0);
addSpawn(21381, 119247, 112349, -3691, 9438, false, 0);
addSpawn(21381, 119225, 112176, -3698, 7247, false, 0);
addSpawn(21381, 119139, 112318, -3690, 6712, false, 0);
break;
case 21381:
addSpawn(21336, 119319, 112238, -3695, 9074, false, 0);
addSpawn(21336, 119247, 112349, -3691, 9438, false, 0);
addSpawn(21336, 119225, 112176, -3698, 7247, false, 0);
addSpawn(21336, 119139, 112318, -3690, 6712, false, 0);
break;
default:
{
addSpawn(21336, 119319, 112238, -3695, 9074, false, 0);
addSpawn(21336, 119247, 112349, -3691, 9438, false, 0);
addSpawn(21336, 119225, 112176, -3698, 7247, false, 0);
addSpawn(21336, 119139, 112318, -3690, 6712, false, 0);
}
}
}
}
@Override
public void run()
{
}
}
Добавлено через 5 минут
так же ИД мобов должен быть уникальным, так как если что то убьет в другой локе этого моба то оно тоже убдет работать.