Цитата:
Сообщение от finfan
Убери return из цикла, получается что первый моб удаляется и цикл завершается как и весь метод, т.е. по другим мобам он и не проверяет ничего.
И лучше - храни заспавненных мобов в листе и удаляй всех из листа когда босс отъедет. на случай если вдруг мобы будут вдали от него по каким-то причинам.
Код:
List<Mobs> mobsStorage = new ArrayList<>();
onSpawnMobs -> mobsStorage.add(mob)
onDeathBoss - > mobsStorage.forEach(n->n.deleteMe());
mobsStorage.clear();
|
Да, ретурн то я не заметил (аж стыдно), как он туда закрался и всключил невидимость - понятия не имею)))
Убрал его и всех заспавненых миньонов стало удалять корректно.
Цитата:
Сообщение от Gaikotsu
Ну или если не хочется заводить отдельный список, то можно просто затребовать список всех существующих GameObject/Creature в инстансе и удалить по object.isMonster() && object.getNpcId() == 18560
Добавлено через 6 минут
Но вобще, логика босса реализована неправильно
по оффу он просто раз в минуту спавнит миньона, ограничиваясь не более чем 9 живыми миньонами
PHP код:
class inzone_raid_36_normal_boss extends inzone_raid_boss_standard
{
parameters:
int Skill01 = @skill_4194_3;
int Skill01_Probablity = 30;
int Skill01_Target_Type = 0;
int Skill02 = @skill_4192_4;
int Skill02_Probablity = 40;
int Skill02_Target_Type = 0;
EventHandler CREATED()
{
myself->AddTimerEx(9004, 60 * 1000);
myself->i_ai3 = 0;
super;
}
EventHandler TIMER_FIRED_EX(timer_id, i0, i1, c0, party0, h0, private)
{
if (timer_id == 9004)
{
if (myself->i_ai0 == 1 && myself->i_ai3 < 9)
{
myself->CreateOnePrivateEx(1018560, "inzone_raid_36_normal_private", 0, 0, gg->FloatToInt(myself->sm->x + 10), gg->FloatToInt(myself->sm->y + 10), gg->FloatToInt(myself->sm->z), 0, 0, 0, 0);
myself->i_ai3 = myself->i_ai3 + 1;
}
myself->AddTimerEx(9004, 60 * 1000);
}
super;
}
EventHandler PARTY_DIED(private)
{
if (private != myself->sm)
{
myself->i_ai3 = myself->i_ai3 - 1;
}
}
}
|
На счет сценария - я знаю, что реализовано не правильно. Помню, что на офе они респались с интервалом, но с каким и сколько штук в максимуме я не знал. Поэтому сделал по своему - чем сильнее на него наседают, тем выше шанс респа миньона.