Возникла проблема! В кампании оригинальных героев, в пятой миссии, после того, как Годрик освободит Изабель, на замок нападет Аграил. Я решил сделать в своем сценарии такую же функцию, но диалоговая сцена проигрывается ДО того, как Витторио нападет на замок!
Если тебе нужно чтобы он запускался после захвата города, то нужно дописать скрипт на захват города с активацией функции через OBJECT_CAPTURE_TRIGGER где мы чекнем что захватили и кто новый владелец, и вот там уже запустим ролик если город взял игрок, которому принадлежит нужный тебе герой. Как-то так:
function TownCaptured( oldowner, newowner )
if IsHeroAlive("Hafad") then
if IsHeroAlive("Christian") then
if ( newowner == GetObjectOwner("Christian") ) then
StartDialogScene("/DialogScenes/FallenKnight/S3/DialogScene.xdb#xpointer(/DialogScene)")
sleep(1)
SetObjectiveState("prim5", OBJECTIVE_COMPLETED, 1)
SetObjectiveState("prim6", OBJECTIVE_ACTIVE, 1)
elseif newowner == PLAYER_2 then
SetObjectiveState("prim5", OBJECTIVE_FAILED, 1)
sleep(10)
loose()
end
end
end
end
Trigger( OBJECT_CAPTURE_TRIGGER, "castle", "TownCaptured" );Таким образом, после MoveHero из функции с респавном героя, условия и действия можно поубирать)