AstralLeinСтолкнулся с такой проблемой...
Есть вражеский герой (подвижный). Его смерть приводит к победе в сценарии... но если этот герой погибает на ходу ИИ (сам расшибается об игрока), то после проигрывания ролика и прочего, вместо победы игра выдает консольную ошибку No player!, а смена хода зависает. Если игрок сам нападает на героя, то все работает правильно.
Кто-нибудь знает как это исправить? Плиз)))
Собственно, сама функция:
Trigger(PLAYER_REMOVE_HERO_TRIGGER, 2, "TheEnd")
function TheEnd(hero)
if hero == "RedHeavenHero05" then
StartDialogScene(path.."DialogScenes/DialogFinal/DialogScene.xdb#xpointer(/DialogScene)")
sleep(5)
SetObjectiveState("Final", OBJECTIVE_COMPLETED)
SetObjectiveState("NecroTown", OBJECTIVE_COMPLETED)
SetObjectiveState("ArantirLive", OBJECTIVE_COMPLETED)
sleep(10)
Win()
end
end
Запиши, как я предлагал, через startThread.
function TheEnd()
while IsHeroAlive( "RedHeavenHero05" ) == true do sleep(5) end
sleep(1)
StartDialogScene(path.."DialogScenes/DialogFinal/DialogScene.xdb#xpointer(/DialogScene)")
sleep(5)
SetObjectiveState("Final", OBJECTIVE_COMPLETED)
SetObjectiveState("NecroTown", OBJECTIVE_COMPLETED)
SetObjectiveState("ArantirLive", OBJECTIVE_COMPLETED)
sleep(10)
Win()
end
(Мог что-то пропустить)
Саму функцию нужно запустить после победы над Весселем.