В первом случае - объясняю, что понял.
Итак, пишем скрипт.
function имя_функции()
MakeHeroInteractWithObject('скриптовое_имя_монстра ').
AddHeroCreatures(имя_существ, кол-во_существ)
Trigger(OBJECT_TOUCH_TRIGGER, 'скриптовое_имя_монстра', nil)
end;
Trigger(OBJECT_TOUCH_TRIGGER, 'скриптовое_имя_монстра', 'имя_функции')
SetObjectEnabled('Скриптовое_Имя_монстра', nil).
Пример:
function peasantsF()
MakeHeroInteractWithObject('peasants').
AddHeroCreatures(CREATURE_ARCHER, 35)
Trigger(OBJECT_TOUCH_TRIGGER, 'peasants', nil)
end;
Trigger(OBJECT_TOUCH_TRIGGER, 'peasants', 'peasantsF')
SetObjectEnabled('peasants', nil)
Добавлено через 30 минут
По второму случаю - я в потоках слабо разбираюсь, но вот то, что получилось:
function Thread()
while 1 do
if GetHeroLevel == 3 then
AddHeroCreatures(CREATURE_SWORDSMAN, 16)
else sleep(5)
end;
end;
end;
StartThread(Thread)