Доброго времени суток всем, подскажите такую вещь, пожалуйста, кто знает.
Можно ли настроить выполнение функции не по конкретному тригеру из списка тригеров а по какому то другому, скажем постройке здания или появлению у определённого героя или определённого игрока определённого артефакта или существа.
что-то похожее кажется делает команда, запускающая новый поток(что такое поток правда в душе не знаю)
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 );
что там не так и вообще возможно ли сделать то что я описываю, если нет то есть какая нибудь похожая альтернатива?
Заранее спасибо большое всем за советы.