Форум HeroesWorld-а - Показать сообщение отдельно - Скрипты для начинающих
Показать сообщение отдельно
#146
Старый 24.11.2017, 10:30
  #146
^
zahar0z
 
Аватар для zahar0z
📖
Регистрация: 09.06.2017
Сообщения: 588
Регистрация: 09.06.2017
Сообщения: 588
По умолчанию
Re: Скрипты для начинающих

Доброго времени суток всем, подскажите такую вещь, пожалуйста, кто знает.

Можно ли настроить выполнение функции не по конкретному тригеру из списка тригеров а по какому то другому, скажем постройке здания или появлению у определённого героя или определённого игрока определённого артефакта или существа.

что-то похожее кажется делает команда, запускающая новый поток(что такое поток правда в душе не знаю)
startThread( fProc, vParam1, vParam2, ... )
по идее если я правильно понимаю, она должна постоянно проверять наличие определённого условия, но вот как ей пользоваться я чего то не могу разобраться.



если конкретно то мне нужно при постройке определённого строения в городе заменить у героя одно существо другим

пока у меня выходит как то так



function replacecreature ();
if GetHeroCreatures( "Sarge", CREATURE_ARCHER ) >= 1;
and GetTownBuildingLevel( "cheast_town", TOWN_BUILDING_DWELLING_2 ) = 2;
then AddHeroCreatures( "Sarge", CREATURE_LONGBOWMAN, 1 );
RemoveHeroCreatures( "Sarge", CREATURE_ARCHER, 9999 );
else nil;
end;
end;

startThread( "replacecreature", TOWN_BUILDING_DWELLING_2 );





что там не так и вообще возможно ли сделать то что я описываю, если нет то есть какая нибудь похожая альтернатива?

Заранее спасибо большое всем за советы.
zahar0z вне форума
Ответить с цитированием