Форум HeroesWorld-а - Показать сообщение отдельно - Текущие вопросы и ответы по редактору карт
Показать сообщение отдельно
#4685
Старый 14.05.2018, 03:30
  #4685
^
OrnsteinDragonslayer
 
Аватар для OrnsteinDragonslayer
📖
Регистрация: 10.01.2016
Сообщения: 174
Регистрация: 10.01.2016
Сообщения: 174
По умолчанию
Re: Текущие вопросы и ответы по редактору карт

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);

Вот, что пишет консоль:
OrnsteinDragonslayer вне форума
Ответить с цитированием