Скрипты - Страница 99 - Форум HeroesWorld-а

Быстрая навигация по основным разделам форума:
Турниры
КАРТЫ
Heroes 6
Heroes 5
Heroes 4
Heroes 3
Heroes 2
Heroes 1
Might&Magic

Герои Меча и Магии 5 - Картостроительство (Редактор карт) В этом разделе можно обсуждать все что касается редактора карт для Heroes of Might and Magic V. Так же здесь обсуждаем картостроительство.

Ответ
Страница 99 из 260
 
Опции темы
#1471
Старый 22.06.2013, 20:00
  #1471
^
RedHeavenHero
 
Аватар для RedHeavenHero
📖
Регистрация: 10.02.2012
Сообщения: 2378
Выставка наград
Регистрация: 10.02.2012
Сообщения: 2378
Выставка наград
По умолчанию
Re: Скрипты

SetHeroRoleMode('имя героя', HERO_ROLE_MODE_HERMIT)
такая штука должна по идее запрещать героям ИИ общаться между собой.
__________________
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

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

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
RedHeavenHero вне форума
Ответить с цитированием
#1472
Старый 22.06.2013, 20:47
  #1472
^
Heroist
 
Аватар для Heroist
📖
Регистрация: 16.12.2012
Адрес: Запределье
Сообщения: 14599
Выставка наград
Регистрация: 16.12.2012
Адрес: Запределье
Сообщения: 14599
Выставка наград
По умолчанию
Re: Скрипты

ух ты. Сейчас попробую.

Добавлено через 22 минуты
великолепно! Снова меня выручили. Большое спасибо. Работает, вроде бы, пока как надо:
а) Героя в 0 тайлов от города: ИИ спрятал в гарнизон, он работает дефером.
б) Героя в 1 тайлов от города: полнейший игнор со стороны ИИ. Все прекрасно получилось.

Добавлено через 21 минуту
Может мне еще кто-нибудь про типы поведения ИИ расскажет?

warrior - воин? очевидно, агрессивно бежит на игрока.
builder - строитель. Наверно, строит замок и собирает ресурсы.
exproler - разведчик, исследователь? бегает по карте всю игру?
hunter - охотник? убивает лоу лв героев?!
victim - ???
__________________
Whatever
Whatever
Heroist вне форума
Ответить с цитированием
#1473
Старый 22.06.2013, 21:49
  #1473
^
RedHeavenHero
 
Аватар для RedHeavenHero
📖
Регистрация: 10.02.2012
Сообщения: 2378
Выставка наград
Регистрация: 10.02.2012
Сообщения: 2378
Выставка наград
По умолчанию
Re: Скрипты

victim - наверное, ждёт, пока его прибьют
__________________
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

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

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
RedHeavenHero вне форума
Ответить с цитированием
#1474
Старый 22.06.2013, 22:06
  #1474
^
Heroist
 
Аватар для Heroist
📖
Регистрация: 16.12.2012
Адрес: Запределье
Сообщения: 14599
Выставка наград
Регистрация: 16.12.2012
Адрес: Запределье
Сообщения: 14599
Выставка наград
По умолчанию
Re: Скрипты

Перевод с гугла - жертва. Походу, у них тут еще и в зависимости от ситуации врубаются разные характеры...
__________________
Whatever
Whatever
Heroist вне форума
Ответить с цитированием
#1475
Старый 02.07.2013, 13:09
  #1475
^
Олегарх
 
Аватар для Олегарх
📖
Регистрация: 02.12.2011
Сообщения: 294
Регистрация: 02.12.2011
Сообщения: 294
По умолчанию
Re: Скрипты

Можно получить скриптовое имя существа, которое находится на заданных координатах?
__________________
Мои карты:

Town

Готовится:Чума (40%), Сосиска(42%), Война Грааля
Мои карты:

Town

Готовится:Чума (40%), Сосиска(42%), Война Грааля
Олегарх вне форума
Ответить с цитированием
#1476
Старый 02.07.2013, 14:25
  #1476
^
Ment
 
Аватар для Ment
📖
Регистрация: 30.10.2009
Адрес: Национальный заповедник
Сообщения: 30681
Регистрация: 30.10.2009
Адрес: Национальный заповедник
Сообщения: 30681
По умолчанию
Re: Скрипты

Не уверен. Можно сделать регион и вызвать функцию GetObjectsInRegion. Или можно написать такую функцию, которая Вам нужна, вручную, получив имя всех монстров на карте и в цикле проверить координаты каждого.
Ment вне форума
Ответить с цитированием
#1477
Старый 03.07.2013, 12:38
  #1477
^
Олегарх
 
Аватар для Олегарх
📖
Регистрация: 02.12.2011
Сообщения: 294
Регистрация: 02.12.2011
Сообщения: 294
По умолчанию
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 и проверками, то монстры спавнятся не прямоугольником, а вразнобой по какому-то непонятному принципу. В чем может быть дело?
__________________
Мои карты:

Town

Готовится:Чума (40%), Сосиска(42%), Война Грааля
Мои карты:

Town

Готовится:Чума (40%), Сосиска(42%), Война Грааля
Олегарх вне форума
Ответить с цитированием
#1478
Старый 03.07.2013, 14:08
  #1478
^
RedHeavenHero
 
Аватар для RedHeavenHero
📖
Регистрация: 10.02.2012
Сообщения: 2378
Выставка наград
Регистрация: 10.02.2012
Сообщения: 2378
Выставка наград
По умолчанию
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 вне форума
Ответить с цитированием
#1479
Старый 03.07.2013, 14:30
  #1479
^
Олегарх
 
Аватар для Олегарх
📖
Регистрация: 02.12.2011
Сообщения: 294
Регистрация: 02.12.2011
Сообщения: 294
По умолчанию
Re: Скрипты

Спасибо! а в чем разница между x и %х?
А о том ,что можно записать
startThread(function(int)
end, i)
я и не догадывался, теперь буду знать) Как я понял, это вызов потока, который находится в теле функции с передачей аргумента i как числа?
__________________
Мои карты:

Town

Готовится:Чума (40%), Сосиска(42%), Война Грааля
Мои карты:

Town

Готовится:Чума (40%), Сосиска(42%), Война Грааля
Олегарх вне форума
Ответить с цитированием
#1480
Старый 03.07.2013, 14:39
  #1480
^
RedHeavenHero
 
Аватар для RedHeavenHero
📖
Регистрация: 10.02.2012
Сообщения: 2378
Выставка наград
Регистрация: 10.02.2012
Сообщения: 2378
Выставка наград
По умолчанию
Re: Скрипты

ОлегархСпасибо! а в чем разница между x и %х?
Для этой безымянной функции х и у - внешние локальные переменные, а перед ними нужно ставить %, иначе будет ошибка.

Добавлено через 2 минуты
ОлегархА о том ,что можно записать
startThread(function(int)
end, i)
я и не догадывался, теперь буду знать) Как я понял, это вызов потока, который находится в теле функции с передачей аргумента i как числа?
Передавать можно любые параметры, не только числа.
__________________
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

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

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
RedHeavenHero вне форума
Ответить с цитированием
#1481
Старый 06.07.2013, 09:10
  #1481
^
Dokuro-chan
 
Аватар для Dokuro-chan
📖
Регистрация: 23.09.2011
Адрес: Cнежинск
Сообщения: 3
Регистрация: 23.09.2011
Адрес: Cнежинск
Сообщения: 3
По умолчанию
Re: Скрипты

Тему не читай @ сразу отвечай (cотня страниц, уж извините)
Может кто-нибудь будет так добр поделиться архивом со скриптами? Теми что "дефолтно воговские" будть то маркет оф таим или казино. Был бы весьма признателен
Dokuro-chan вне форума
Ответить с цитированием
#1482
Старый 06.07.2013, 18:38
  #1482
^
Ment
 
Аватар для Ment
📖
Регистрация: 30.10.2009
Адрес: Национальный заповедник
Сообщения: 30681
Регистрация: 30.10.2009
Адрес: Национальный заповедник
Сообщения: 30681
По умолчанию
Re: Скрипты

А я не понял... Вы ищете какую-то библиотеку скриптов, стилизованных под WOG?
Ment вне форума
Ответить с цитированием
#1483
Старый 08.07.2013, 01:30
  #1483
^
Dyrman
 
Аватар для Dyrman
📖
Регистрация: 24.06.2008
Адрес: Там, где неба кончается край
Сообщения: 3479
Отправить сообщение для  Dyrman с помощью ICQ
Регистрация: 24.06.2008
Адрес: Там, где неба кончается край
Сообщения: 3479
Отправить сообщение для  Dyrman с помощью ICQ
По умолчанию
Re: Скрипты

Есть ли "обходилка", при которой выдавший ошибку скрипт, просто перешагнул бы косячную функцию и пошёл дальше?
Dyrman вне форума
Ответить с цитированием
#1484
Старый 08.07.2013, 11:41
  #1484
^
RedHeavenHero
 
Аватар для RedHeavenHero
📖
Регистрация: 10.02.2012
Сообщения: 2378
Выставка наград
Регистрация: 10.02.2012
Сообщения: 2378
Выставка наград
По умолчанию
Re: Скрипты

startThread не подходит?
__________________
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

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

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
RedHeavenHero вне форума
Ответить с цитированием
#1485
Старый 08.07.2013, 14:22
  #1485
^
Олегарх
 
Аватар для Олегарх
📖
Регистрация: 02.12.2011
Сообщения: 294
Регистрация: 02.12.2011
Сообщения: 294
По умолчанию
Re: Скрипты

DyrmanЕсть ли "обходилка", при которой выдавший ошибку скрипт, просто перешагнул бы косячную функцию и пошёл дальше?
Погуглил, нашел это:

try
... (block) ...
end

If error occurs in the block, the control immediately jumps to the first statement after END, and
the error will be ignored.

another form,

try
... (block) ...
catch err do
... (handler) ...
end
__________________
Мои карты:

Town

Готовится:Чума (40%), Сосиска(42%), Война Грааля
Мои карты:

Town

Готовится:Чума (40%), Сосиска(42%), Война Грааля
Олегарх вне форума
Ответить с цитированием
Ответ
Страница 99 из 260


Опции темы



Часовой пояс GMT +4, время: 20:23.


vBulletin v3.5.0, Copyright ©2000-2024, Jelsoft Enterprises Ltd. (Русский)

Яндекс цитирование    Top.Mail.Ru