Сейчас 12:17:41 Четверг, 18 апреля, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Очередь приказов (как сделать триггерно?)
Очередь приказов
FatalBladeДата: Вторник, 01 Января 2013, 20:08:43 | Сообщение # 1
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
Вот в игре можно зажать Shift, и отдавать юниту приказы, скажем пойти в точку А, потом в точку Б, потом в точку В. И юнит пойдёт в точку А, и как только дойдёт до точку А, отправится в точку Б, и тд. Как триггерно дать юниту такую же очередь приказов. Ведь просто так не вычислишь, когда юнит дойдёт до точки А. По таймеру не пойдёт, потому что юнит может вообще не прийти в эту точку. Событие Юнит Входит в Область?... Но сколько таких динамичных областей мне нужно будет создать? Т.е. триггерно создавать области?... Короче в любом случае это полный гемор. Я подумал, раз есть возможность сделать очередь анимаций и триггеров, то может можно и с приказами?

 

AaronДата: Вторник, 01 Января 2013, 20:27:11 | Сообщение # 2
7 уровень
Группа: Проверенные
Сообщений: 302
Награды: 0
Репутация: 110
Блокировки:
эмм... попробуй запоминать точки
то есть юнит отдал приказ туда-то, расстояние между юнитом и точкой равно 0, делать то-то


Когда ты просишь наработку по системе доты, ты заставляешь Иисуса плакать.
Только ГУИ! Только хардкор!
 

FatalBladeДата: Вторник, 01 Января 2013, 20:42:46 | Сообщение # 3
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
Цитата (Aaron)
то есть юнит отдал приказ туда-то, расстояние между юнитом и точкой равно 0, делать то-то

Значит тут нужен периодический таймер с очень маленьким периодом + кучу гемора.


 

MuradorДата: Вторник, 01 Января 2013, 21:04:22 | Сообщение # 4
Группа: Проверенные
Сообщений: 1221
Награды: 1
Репутация: 446
Блокировки:
FatalBlade, ну можешь создавать ректы и сразу же добавлять к ним событие - действия(в локальный триггер), а во время захода удалять его, может сработает
по крайней мере это самый как мне кажется простой вариант
 

FatalBladeДата: Вторник, 01 Января 2013, 21:13:59 | Сообщение # 5
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
Murador, ок. Но что если АИ в это время получит другой приказ, или скажем будет убит, и после этого он уже никогда не вернётся в этот Рект. А тем временем он может потом заметить ещё один Орб, и тогда создастся новый Рект, новое событие... А как же старый рект? Он будет висеть и засорять память. Утечка, причём довольно серьёзная. Это вам не Location. :)

 

MuradorДата: Вторник, 01 Января 2013, 21:22:58 | Сообщение # 6
Группа: Проверенные
Сообщений: 1221
Награды: 1
Репутация: 446
Блокировки:
FatalBlade,
ну можешь сохранять хендл ректа в хеш, и чистить его в случае смерти героя
не знаю правда будет ли мусором в данном случае локальный триггер

Добавлено (01 Января 2013, 21:22:58)
---------------------------------------------
FatalBlade, ещё вариант тупо двигать этот рект из одной точки в другую
вроде более удобно и не утечно


Сообщение отредактировал Murador - Вторник, 01 Января 2013, 21:23:11
 

FatalBladeДата: Вторник, 01 Января 2013, 21:35:35 | Сообщение # 7
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
Цитата (Murador)
не знаю правда будет ли мусором в данном случае локальный триггер

Будет. И не только триггер, но и условия и действия триггера.

Цитата (Murador)
ну можешь сохранять хендл ректа в хеш, и чистить его в случае смерти героя

А если герой не будет умирать? :D

Цитата (Murador)
ещё вариант тупо двигать этот рект из одной точки в другую

мм а вот это мысль :)


 

НикитаINVOKERДата: Вторник, 01 Января 2013, 21:56:54 | Сообщение # 8
1 уровень
Группа: Пользователи
Сообщений: 4
Награды: 0
Репутация: 4
Блокировки:
да там всё лигко сматри когда отдал приказ ты записываеш точку и включаеш триггер юнит пришол в точку и всё :) :) :)
 

FatalBladeДата: Вторник, 01 Января 2013, 22:02:09 | Сообщение # 9
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
Цитата (НикитаINVOKER)
да там всё лигко сматри когда отдал приказ ты записываеш точку и включаеш триггер юнит пришол в точку и всё

Нет. Герой может прийти рядом с этой точкой. Например координата точки 0.0, а герой пришёл в 1.1
Такое может произойти, если например герой получил другой приказ во время передвижения.


 

НикитаINVOKERДата: Вторник, 01 Января 2013, 22:10:45 | Сообщение # 10
1 уровень
Группа: Пользователи
Сообщений: 4
Награды: 0
Репутация: 4
Блокировки:
ну тогда делай не точка, а там ест какая-то фунция на то чтобы вокруг точки регион
 

Gr0mДата: Вторник, 01 Января 2013, 22:37:24 | Сообщение # 11
8 уровень
Группа: Проверенные
Сообщений: 729
Награды: 0
Репутация: 249
Блокировки:
Цитата
Ведь просто так не вычислишь, когда юнит дойдёт до точки А

Проверять дистанцию от героя до точки
думаю дистанция в 100-200 не будет столь важной

Как вариант сделать ряд логических переменные изменять их относительно приказов, проверять их значение и уже давать или не давать следующий приказ герою.


Сообщение отредактировал Gr0m - Вторник, 01 Января 2013, 22:40:37
 

Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Очередь приказов (как сделать триггерно?)
  • Страница 1 из 1
  • 1
Поиск:

Copyright © 2006 - 2024 Warcraft3FT.info При копировании материалов c сайта ставьте, пожалуйста, активную обратную ссылку на нас • Design by gReeB04ki ©
Хостинг от uCoz