Форум HeroesWorld-а - Показать сообщение отдельно - Скрипты
Тема: Скрипты
Показать сообщение отдельно
#3764
Старый 07.11.2022, 19:48
  #3764
^
Азгалор
 
Аватар для Азгалор
📖
Регистрация: 24.04.2016
Сообщения: 226
Регистрация: 24.04.2016
Сообщения: 226
По умолчанию
Re: Скрипты

BlueHeavenHeroВозникла проблема! В кампании оригинальных героев, в пятой миссии, после того, как Годрик освободит Изабель, на замок нападет Аграил. Я решил сделать в своем сценарии такую же функцию, но диалоговая сцена проигрывается ДО того, как Витторио нападет на замок!

Потому что у тебя по условиям(else) если объект(город?) "castle" не принадлежит 2 игроку, то запускаем ролик.

Если тебе нужно чтобы он запускался после захвата города, то нужно дописать скрипт на захват города с активацией функции через 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 из функции с респавном героя, условия и действия можно поубирать)

Азгалор вне форума
Ответить с цитированием