XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов> Jass
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
Vampirrr
O_o
offline
Опыт: 19,286
Активность:
Пик VS Проход по структурам?
Нужно каждую секунду заставлять юнитов с приказом "stop" заставлять двигаться. Есть 2 варианта это сделать:
  1. Есть 2 структуры-массива, при чем тип структуры Юнит заключен в тип структуры Игрок. Кажджую секунду циклом буду пробегаться по обеим типам и смотреть, приказ какого юнита равен "stop" и делать что мне надо.
  2. Пикать юнитов, отсеивая их по приказу (matching unit), после чего совершая действия над ними.
Хотелось бы узнать, какой из вариантов лучше (быстрее по выполнению и т.д.), учитывая что приказ двигаться отдается к цели, при этом каждый из игроков имеет собственную цель. Если же скажете, что пик, тогда хочу сразу выяснить - как мне рассортировать пикнутых юнитов в группе по номеру игрока? Впринципе, если я не ошибаюсь, то ForGroup пробегается по всем юнитам в группе, то тут уже знаю как делать, НО пробегается ли он по ним?))
Старый 22.06.2010, 01:39
Doc

offline
Опыт: 63,163
Активность:
Пик, однозначно.
Последнего вопроса не понял.
Старый 22.06.2010, 11:10
Vampirrr
O_o
offline
Опыт: 19,286
Активность:
DoctorGester, последний вопрос уже неактуален) он вообще глупый)
Старый 22.06.2010, 11:20
Alex_Hell
Mapmaker 'N' Programmer
offline
Опыт: 6,885
Активность:
А чем не вариант при получении приказа (без цели, цель - точка, цель - юнит) проверять его ID, если он == "stop", добавляем в группу StopGroup[GetOwningPlayer(GetTriggerUnit())], иначе удаляем из этой же группы.. потом по таймеру каждую секунду проходить по всем игрокам циклом и для каждого игрока проходить по группе StopGroup[Player(i)] и выполнять нужные действия над этим юнитом.. но тут одна проблема - юнит получит например приказ "move" пойдет, как только до места дойдет его приказ не изменится на "stop", хотя он фактически остановится.. тоесть триггер не сработает.. тут надо как-то выкручиваться
Старый 22.06.2010, 16:40
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 02:18.