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

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

Ответ
 
ahm

offline
Опыт: 111
Активность:
Прерывистое передвижение мобов.
Survival-карта. Используется несложный цикл(создать моба в регионе->отправить его в центр).
У меня довольно много мобов и они идут как-то отрывисто(пройдут чуть-чуть, постоят подождут и не факт что дальше пойдут)
Проблема в следующем: как убрать эту прерывистость?

Код:
exitwhen c > max
сall CreateNUnitsAtLoc( 1, typ, Player(11), GetRandomLocInRect(udg_regions[1]), bj_UNIT_FACING )
set udg_units[udg_tmp_uni] = GetLastCreatedUnit()
set udg_tmp_uni = udg_tmp_uni + 1
call IssuePointOrderLocBJ( udg_units[udg_tmp_uni-1], "attack", GetRectCenter(gg_rct_attack) )
set c = c + 1
endloop
Старый 07.03.2009, 23:17
HTC
Мечта - та же реальность
offline
Опыт: 23,885
Активность:
Если ты их отядами отправляешь, то так и будет. (на код особо не смотрел)
Посмотри физический размер и круг выбора твоих юнитов. Может они друг об друга врезаются.
Старый 07.03.2009, 23:21
RazArt

offline
Опыт: 11,197
Активность:
Эм... А почему атака у тебя стоит?
Старый 08.03.2009, 00:12
agentex

offline
Опыт: 34,834
Активность:
Цитата:
Эм... А почему атака у тебя стоит?

потому что атака универсальный приказ, ее можно приказывать и в точку и на обьект

автор проверь карту на утечки, такие задержки могут быть изза них. Или еще если на карте много юнитов с одним приказом.
Старый 08.03.2009, 00:36
RazArt

offline
Опыт: 11,197
Активность:
agentex, и? А чем перейти нападая на противников не понравился? оО
Старый 08.03.2009, 00:41
agentex

offline
Опыт: 34,834
Активность:
Цитата:
agentex, и? А чем перейти нападая на противников не понравился? оО

нде.. а ты не пробовал нажать кнопочку "конвертировать в текст"? перейти на проивников в Гуи это "attack" в жассе
Старый 08.03.2009, 01:01
Vampirrr
O_o
offline
Опыт: 19,286
Активность:
agentex, а не attack-move?

пардон, заглючило меня что-то..нет такого приказа..

Отредактировано Vampirrr, 08.03.2009 в 04:40.
Старый 08.03.2009, 02:04
agentex

offline
Опыт: 34,834
Активность:
Vampirrr, такого приказа не существует.
Старый 08.03.2009, 02:56
IceInfernal
...где распостерся мрак
offline
Опыт: 2,317
Активность:
Они останавливаются, потому что слишком много юнитов за одного игрока.
Старый 08.03.2009, 13:43
Hellfim
Новичок
offline
Опыт: 79,707
Активность:
IceInfernal, не за одного игрока, а вообще на карте.
Старый 08.03.2009, 13:54
ahm

offline
Опыт: 111
Активность:
Получается , что нужно просто снизить кол-во юнитов на карте?
у в данный момент создаются пачка по 10 юнитов, одновременно на 8 сторонах, следующая пачка через 15 секунд.... итого 8*10=80 юнитов каждые 15 секунд с одинаковым приказом, это много?
Старый 08.03.2009, 14:05
Hellfim
Новичок
offline
Опыт: 79,707
Активность:
ahm, да, лучше повысь характеристики юнитам, чем тупо пускать мясо.
Старый 08.03.2009, 14:07
J
expert
offline
Опыт: 48,447
Активность:
ahm это из-за вычисления путей, физ размер многих юнитов мешает нормально путь вычислить, наверно если поставить физ размер на 0 то должно быть лучше, хотя не гарантирующую...
Старый 08.03.2009, 21:25
ahm

offline
Опыт: 111
Активность:
Цитата:
Сообщение от Hellfim
ahm, да, лучше повысь характеристики юнитам, чем тупо пускать мясо.

Цитата:
Сообщение от J
ahm это из-за вычисления путей, физ размер многих юнитов мешает нормально путь вычислить, наверно если поставить физ размер на 0 то должно быть лучше, хотя не гарантирующую...

Поставил физ. размер 0, стало лучше, но не достаточно, проблему решил уменьшением количества юнитов.
Но как организовать мясо не знаю, но хотелось бы...
Старый 09.03.2009, 22:32
J
expert
offline
Опыт: 48,447
Активность:
ну ты можеш каждую секунды или несколько отдавать всем юнитам приказ заного, только нужно еще чтобы не всем юнитам сразу отдавать приказ, иначе будет большая нагрузка на один моменть времени, а для каждой группы чуть позже чем для другой
Старый 09.03.2009, 23:02
ahm

offline
Опыт: 111
Активность:
Цитата:
Сообщение от J
ну ты можеш каждую секунды или несколько отдавать всем юнитам приказ заного, только нужно еще чтобы не всем юнитам сразу отдавать приказ, иначе будет большая нагрузка на один моменть времени, а для каждой группы чуть позже чем для другой

У меня 2 вопроса:
1) что лючше юзать "every time perod" или "sleepprocess"в цикле
2) что лючше юзать массив с юнитами или Кеш.
Старый 10.03.2009, 23:31
RazArt

offline
Опыт: 11,197
Активность:
  1. "every time perod"
  2. Массив с юнитами (лично мне удобнее)
Старый 10.03.2009, 23:33
agentex

offline
Опыт: 34,834
Активность:
Угу а еще лучше группу с юнитами
Старый 11.03.2009, 00:44
RazArt

offline
Опыт: 11,197
Активность:
Да точно, но собстно если там ещё есть параметры юнита (усталость, сытость и я хз что у автора), то лучше всё таки массивы
Старый 11.03.2009, 01:43
ahm

offline
Опыт: 111
Активность:
Цитата:
Сообщение от RazArt
Массив с юнитами (лично мне удобнее)

Если юнит умер, в массиве он остается и при проходе по массиву получается мы выполняем лишние действия.
При каждой смерти юнита можно оптимизировать массив, но это оч. ресурсозатратно
Старый 11.03.2009, 08:11
Ответ

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

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

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

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



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