Jack_of_shadowsТип анимации ставите IDLE? Они (вероятно) косячно прописаны для этих существ. Советую создать бой как череду ONESHOT анимаций. С ней всё в порядке, к тому же можно задать плавающий интервал между ударами, что смотрится гораздо реальнее. Я так всегда и делал:
function BattleThread()
while (true) do
if (IsObjectExists(СУЩЕСТВО 1)) then
PlayObjectAnimation(СУЩЕСТВО 1, 'attack00', ONESHOT);
end
sleep(random(10)+5);
if (IsObjectExists(СУЩЕСТВО 2)) then
PlayObjectAnimation(СУЩЕСТВО 2, 'attack00', ONESHOT);
end
sleep(random(10)+5);
end
end
startThread(BattleThread);
Можно поиграться с интервалами, типами ударов, можно поставить что когда одно существо бъет, второе получает удар и ещё кучу всего.
Хм, а нужно ли в свойствах существ в строке shared выбирать сами анимации? У меня там выбраны какие то анимации файр и вотер элемов соответственно, но ваша функция не работает, юниты стоят как стояли. Вот на всякий случай то, что я вписал. Так же принт не пишет, что анимация комплит.
function BattleThread()
while (true) do
if (IsObjectExists(elemF)) then
PlayObjectAnimation("elemF", "attack00", ONESHOT);
end
sleep(random(10)+5);
if (IsObjectExists(elemW)) then
PlayObjectAnimation("elemW", "attack00", ONESHOT);
end
sleep(random(10)+5);
print("animation elemov complete")
end
end
startThread (BattleThread);
Вот, что пишет консоль:
