Форум HeroesWorld-а - Показать сообщение отдельно - Скрипты
Тема: Скрипты
Показать сообщение отдельно
#1478
Старый 03.07.2013, 14:08
  #1478
^
RedHeavenHero
 
Аватар для RedHeavenHero
📖
Регистрация: 10.02.2012
Сообщения: 2380
Выставка наград
Регистрация: 10.02.2012
Сообщения: 2380
Выставка наград
По умолчанию
Re: Скрипты

ОлегархЯ спавнил монстров через цикл, так что нужды в получении всех имен монстров нет, по крайней мере, я так думаю.
Вот скрипт:
	for x=66,67 do
for y=127,159 do
if IsTilePassable(x, y, 0)==1 then
CreateMonster ("name"..i, 32, 1, x, y, 0,1,2,270)

if x==67 and y==130 then 
PlayObjectAnimation ("name"..i, "death", ONESHOT_STILL)
end
if x==67 and y==154 then 
PlayObjectAnimation ("name"..i, "death", ONESHOT_STILL)
end
if x==66 and y==155 then 
PlayObjectAnimation ("name"..i, "death", ONESHOT_STILL)
end
i=i+1
end
end
end

Т.е. в его результате должны получиться монстры, стоящие прямоугольником, некоторые-мертвые. При этом игра не воспроизводит анимацию смерти у существ на проверяемых координатах, консоль пишет, что не найден монстр с именем name(...)
если я ставлю sleep между CreateMonster и проверками, то монстры спавнятся не прямоугольником, а вразнобой по какому-то непонятному принципу. В чем может быть дело?
	for x=66,67 do
  for y=127,159 do
    startThread(function(int)
      local name="name"..int
      CreateMonster(name, 32, 1, %x, %y, 0, 1, 2, -90)
      sleep(1)
      SetObjectPosition(name, %x, %y, 0)
      if (%x==67 and %y==130) or (%x==67 and %y==154) or (%x==66 and %y==155) then
        PlayObjectAnimation(name, "death", ONESHOT_STILL)
      end
    end, i)
    i=i+1
  end
end
__________________
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
RedHeavenHero вне форума
Ответить с цитированием