Форум HeroesWorld-а - Показать сообщение отдельно - Скрипты
Тема: Скрипты
Показать сообщение отдельно
#2681
Старый 25.05.2018, 18:42
  #2681
^
32MeTpa
 
Аватар для 32MeTpa
📖
Регистрация: 06.08.2011
Сообщения: 178
Выставка наград
Регистрация: 06.08.2011
Сообщения: 178
Выставка наград
По умолчанию
Re: Скрипты

OrnsteinDragonslayerВопрос про треды. Я про них мало, что знаю, но здесь они мне видимо нужны, потому прошу помощи.
Существуют несколько особенных нейтралов. После того, как они будут уничтожены, должен срабатывать триггер(наверное), мол приходит резервный герой.
Как это осуществляется?

Примерно так:
	function fun()
         while (1) do
             sleep(2);
             if (Exists('neutral1') == nil) and (Exists('neutral2') == nil) then
                fun2();
                break
             end;
         end;
end;

startThread(fun);

Функция fun в цикле проверяет содержатся ли объекты neutral 1 и 2, как только они исчезают выполняется функция fun2(). startThread можно написать сразу после загрузки карты, или когда вам это будет нужно (например, при получении квеста на нейтралов).

OrnsteinDragonslayerИ второй вопрос не по тредам: может ли один триггер активировать несколько функций? Как это написать?
Например, будет ли работать такой триггер - Trigger(REGION_ENTER_AND_STOP_TRIGGER , "dialog", "Dialog1", "функция2", "функция3", "функция228"); ?

Быть может как-то и можно, я бы запустил их по цепочке:
	
Trigger(REGION_ENTER_AND_STOP_TRIGGER , "dialog", "Dialog1")

function Dialog1 ()
...
функция2();
end;

function функция2 ()
...
функция3();
end;

и т.д.

32MeTpa вне форума
Ответить с цитированием