Очередь приказов
|
|
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) ну можешь сохранять хендл ректа в хеш, и чистить его в случае смерти героя А если герой не будет умирать?
Цитата (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 |
|
|
|