Все ж-таки проблемки остались. Во время хода героя лучник, вместо того, чтобы выполнить действие один раз, почему-то начинает стрелять огромное количество раз без остановки, пока не закончатся боеприпасы. Не могу понять, как это остановить.
Опять же, вот скрипт:
Заголовок
function DefenderHeroMove (unit)
InitRandom()
for n, creature in GetDefenderCreatures() do
local id = GetCreatureType(creature)
if id == CREATURE_ARCHER then
local targets = GetAttackerCreatures()
chosen_target = targets[random(length(targets)+1)]
sleep (50)
commandShot (creature, chosen_target, not nil)
sleep (1)
end
end
Min_CarolinДа, действительно, с экспертным призывом небесный щит начал накладываться. И random тоже начал выдавать числа. Но теперь возникла вот такая проблема: скрипт ругается на второй аргумент Вашей функции, т.е. на переменную chosen_target (скриншот прилагается). Может, я ее как-то неправильно понял и, соответственно, неправильно пишу?
P.S. Все разрешилось, просто надо было sleep написать, чтобы все корректно отработало. Спасибо большое.
Сама функция:
Заголовок
function DefenderHeroMove (unit)
InitRandom()
for n, creature in GetDefenderCreatures() do
local id = GetCreatureType(creature)
if id == CREATURE_ARCHER then
local targets = GetAttackerCreatures()
local chosen_target = targets[random(length(targets)+1)]
commandShot (creature, chosen_target, nil)
end
end