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

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

Ответ
 
J
expert
offline
Опыт: 48,447
Активность:
Цитата:
по одному, ибо что для группы, что так, приказ отдается каждому в отдельности

Это если использовать: Pick every unit in region...
А если использовать просто отдавания призаза групе (Отряд - Issue Order Targeting A Unit), то приказ идет всей групе (но макс. 12 юнитам)
Старый 12.05.2006, 21:30
felix_ff

offline
Опыт: 757
Активность:
0pJl9!Ta а собсна чем тебя группа не устраивает? если каждый раз приходится создавать группу и вылавливать оттуда юнита (допустим в цикле) то постарайся поставить вейт на некоторое время..хотя как знать.. у мну в одном спелл как раз такое: что каждые 0.10 секунды создается группа и из нее выбирается один юнит.. потом идут действия потом все ето ремувится... вроде не очень грузно получаецца.
Старый 12.05.2006, 22:01
Celebrate

offline
Опыт: 849
Активность:
0pJl9lTa зачем извращаться? Всё и так норм. работает. Особых тормозов я не замечал.
Старый 12.05.2006, 22:13
0pJl9lTa

offline
Опыт: 3,397
Активность:
felix_ff В асе сказжу :)
Celebrate хз, там много маленьких траблов, в результате которых группа не подходит.

Насчет радиуса бред, ибо мне не вжно кол-во юнитов, мне важно юниты каких игроков тут присутствуют. Вот :)

З.Ы. ай молодцы, уже 2 страницы наговорили :)
Старый 12.05.2006, 22:48
FellGuard
Losyash
offline
Опыт: 39,547
Активность:
Цитата:
то приказ идет всей групе (но макс. 12 юнитам)
Опять же через цикл.. И ну никак ты не исправиш этого - в варе различным объектамЮ, хоть и одного типа приказ идет индивидуально.

FellGuard добавил:
0pJl9lTa, что конкретно тебе нужно? Отлавливать кол-во юнитов в радиусе от точки?
Старый 12.05.2006, 22:52
0pJl9lTa

offline
Опыт: 3,397
Активность:
FellGuard отлавливаться владельцев, юниты которых расположены в радиусе от точки.
Старый 12.05.2006, 23:18
NETRAT

offline
Опыт: 83,712
Активность:
0pJl9lTa как варант - создать регион(можно круг) и отлавливать перемещения юнитов в этом регионе. В этом случае группы могут не понадобиться. Кстати говоря этот регион можно перемещать - то есть точка может быть динамической(хотя при этом группы могут быть более оптимальным решением)
Старый 12.05.2006, 23:35
Celebrate

offline
Опыт: 849
Активность:
0pJl9lTa кстати да, если у тебя юниты берутся в неизменяющейся зоне, то лучше будет создать регион и повесить на него триггеры.
Старый 13.05.2006, 01:09
0pJl9lTa

offline
Опыт: 3,397
Активность:
Celebrate Зона к сожалению изменяица :(
Старый 13.05.2006, 07:22
J
expert
offline
Опыт: 48,447
Активность:
Цитата:
Сообщение от 0pJl9lTa
Celebrate Зона к сожалению изменяица

ну и перемещай регион центром в позицию юнита в каждые 0.05 сек. хотя имхо групой проще и лучше.
Старый 13.05.2006, 08:29
NETRAT

offline
Опыт: 83,712
Активность:
0pJl9lTa если размеры не меняются или меняются незначительно то все же можно использовать этот вариант вкупе с проверками расстояния типа IsUnitInRange
Старый 13.05.2006, 12:03
0pJl9lTa

offline
Опыт: 3,397
Активность:
Кстати не понял идею с регионами. Смысл то какой? Все равно группа будет учавствовать.
Вообще ладно - оставлю с группами, но если ктото чтото придумает, буду благадарен если выложат :)
Старый 13.05.2006, 13:05
FellGuard
Losyash
offline
Опыт: 39,547
Активность:
0pJl9lTa, если у тебя не регион а радиус, то помести невидимого, с "локастом" юнита-дамми в нужную точку и повесь на него триггер с условиями
С - UnitWithinRange (удг_переменна, означающая радиус)
У - (что-то о юнитах, я так и не понял, чего тебе надо :))
Д - что хош делай, заноси юнита в группу, индексируй через массив. все одно.

Можно, опять же, создать регион и таскать его раз в сколько-то времени за юнитом (CenterRectOnAPoint), проверяя кол-во юнитов в нем (можно, кстати, присвоить этому кол-ву юнитов переменную, и при ее изменении при проверке запускать какого-то рода действия). Наверное, тут никак без цикла вида (PickEveryUnitInRect_And_DoAct).
Можно отрисовывать математически регион раз в ед. времени -
Сall DestroyRect(udg_Rect_Var)
Set udg_Rect_Var = (minX(...)minY(...)maxX(...)maxY(...))
на месте троеточих - Х,У юнита плюс сколько-то ед.
Вот вроде все, что думалось написал. Пойду еще думать :)
Старый 13.05.2006, 14:05
0pJl9lTa

offline
Опыт: 3,397
Активность:
FellGuard хз, событие юнит в некотором ренже - аццки глючное, и мне кажеца еще сильнее тормозит чем пик груп. Да и юнита двигать каждый раз.... + условия...

Не убивайтесь уж так :)
Через недельку скажу что нада была точна.
Старый 13.05.2006, 17:02
FellGuard
Losyash
offline
Опыт: 39,547
Активность:
Цитата:
Не убивайтесь уж так
Через недельку скажу что нада была точна.
Ахха

FellGuard добавил:
Лучше уж покажеш результат :)
Старый 13.05.2006, 17:25
NETRAT

offline
Опыт: 83,712
Активность:
Регион - и отлавливать события входа в регион и выхода из него. В этом случае группы совсем не понадобяться

FellGuard слишком геморройные и неэффективные выходы предлагаешь, а вопрос как раз в эффективности и оптимальности
Старый 13.05.2006, 23:18
exploder
iOS zealot
offline
Опыт: 19,394
Активность:
Может можно перебирать юнитов по их хэндлам (а дальше банальное сравнение координат)? Они вроде как последоватьно выдаются (я правда за этим не следил... помнится делал мапу для интрерса хэндлы выводил, но могу и ошибатся)?
Старый 14.05.2006, 00:42
FellGuard
Losyash
offline
Опыт: 39,547
Активность:
NETRAT, просто написал первое, тчо пришло в голову. С регионом уже советовали, вот я и не стал. ПИК ЭВРИ ЮНИТ - это цикл, не группа, я знаю. Просто, я так и не понял, чего же собственно от нас хочет 0pJl9lTa =)
Старый 14.05.2006, 12:16
felix_ff

offline
Опыт: 757
Активность:
Цитата:
Сообщение от FellGuard
NETRAT, просто написал первое, тчо пришло в голову. С регионом уже советовали, вот я и не стал. ПИК ЭВРИ ЮНИТ - это цикл, не группа, я знаю. Просто, я так и не понял, чего же собственно от нас хочет 0pJl9lTa =)


Да но пикает то он все равно по группе. или я в чем то ошибаюсь?
Старый 14.05.2006, 12:42
Celebrate

offline
Опыт: 849
Активность:
Цитата:
ну и перемещай регион центром в позицию юнита в каждые 0.05 сек

А разве при перемещении региона триггер регистрется на его новое положение?

Цитата:
ПИК ЭВРИ ЮНИТ - это цикл, не группа

Код:
native ForGroup                 takes group whichGroup, code callback returns nothing

<_<
Старый 14.05.2006, 20:12
Ответ

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

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

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

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



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