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

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

Ответ
 
Igores
НИИ 4А-Во! Кафедра Джасс.
offline
Опыт: 5,325
Активность:
Нужна функция
Есть идеи как сделать функцию setunitZ? С мгновенным перемещением юнита по оси z.
Старый 05.03.2009, 14:39
Hellfim
Новичок
offline
Опыт: 79,707
Активность:
Igores
call SetUnitFlyHeight(whichUnit, newHeight, rate)
Старый 05.03.2009, 14:41
NETRAT

offline
Опыт: 83,712
Активность:
zomg
Код:
native SetUnitFlyHeight takes unit whichUnit,real newHeight,real rate returns nothing
Старый 05.03.2009, 14:42
PlayerDark
Coraline
offline
Опыт: 10,569
Активность:
Что тут сложного ?
Код:
function SetUnitZ takes unit u, real z returns nothing 
call UnitAddAbility(u,'Aave')
call UnitRemoveAbility(u,'Aave')
call SetUnitFlyHeight(u,z,0)
endfunction
Старый 05.03.2009, 14:43
adic3x

offline
Опыт: 108,439
Активность:
функция приведенная PlayerDark'ок неправильная, добавление/удаление абилы дб единоразовым
Старый 05.03.2009, 15:07
PlayerDark
Coraline
offline
Опыт: 10,569
Активность:
ADOLF когда ты это будешь делать ???
Старый 05.03.2009, 15:08
adic3x

offline
Опыт: 108,439
Активность:
Цитата:
ADOLF когда ты это будешь делать ???

несовсем понял вопрос, однако если в игре будем изменяться высота юнитов резонно добавлять/удалять абилу при их создании...
Старый 05.03.2009, 15:32
PlayerDark
Coraline
offline
Опыт: 10,569
Активность:
Те отлавливать вход юнита в игру ? Лично мне кажется более рациональным использовать одну функцию чем создавать еще один триггер и инициализацию всех юнитов на карте ForGroup'ом.
Старый 05.03.2009, 15:37
NETRAT

offline
Опыт: 83,712
Активность:
о, ненене, Девид Блейн
один раз всегда рациональнее чем много...
не надо никаких ForGroup...
тупо добавить в карту триггер Unit enters region и раздавать всем абилки морфа, потом отобрать и все
Старый 05.03.2009, 15:41
PlayerDark
Coraline
offline
Опыт: 10,569
Активность:
NETRAT дык ранее созданные юниты триггером UnitEntersRegion не отлавливаются. К тому же зачем нам нужны все юниты летающие ? Я не знаю какие лаги это может вызвать.

PlayerDark добавил:
Вобщем я больше не буду спорить. Если мне надо периодически двигать по зет всех юнитов то инит имеет место. Если мне просто нужно иногда предвинуть какого нибудь юнита, я буду юзать мою функцию.
Старый 05.03.2009, 15:48
alexkill

offline
Опыт: 18,872
Активность:
Цитата:
К тому же зачем нам нужны все юниты летающие?

Если не ошибаюсь, автору это нужно для его АоС (враги создаются на протяжении всей карты и каждый может подвергнуться воздействию соотв-й способности). То есть вариант, предложенный NT, в данном случае оптимален.
Цитата:
Я не знаю какие лаги это может вызвать.

Лагов не возникнет.
Старый 05.03.2009, 15:56
adic3x

offline
Опыт: 108,439
Активность:
Цитата:
дык ранее созданные юниты триггером UnitEntersRegion не отлавливаются

и с каких это пор такое твориться? все прикрасно отлавливается, алсо надо смотреть по месту, во многих картах юниты вооюще создаются только функцией

алсо можно добавлять/удалять абилу в начале действия спелов (к примеру), и пике юнитов и т.д., вызывать это при каждом перемещение - быдлокодинг и моральное уродство индусский кодинг
Старый 05.03.2009, 15:56
Igores
НИИ 4А-Во! Кафедра Джасс.
offline
Опыт: 5,325
Активность:
Ха-ха-ха!:-) Так и думал, что все будут советовать одно и то же:-):-):-)
кажись некоторые не поняли вопроса, скажу еще раз: мне нужно мгновенное перемещение по оси Z. МГНОВЕННОЕ! Насчет добавления способности для полетов, можно не говорить, не в ней вопрос.
Старый 05.03.2009, 16:04
DFlyer
<3 MJ
offline
Опыт: 42,879
Активность:
Igores
В функции СетЮнитФлайХейт параметр rate отвечает за "скорость". Укажи его как большое число (или маленькое, точно не помню, поэкспериментируй), будет выглядеть мгновенно.
Старый 05.03.2009, 16:08
adic3x

offline
Опыт: 108,439
Активность:
ответ во втором посте?
Старый 05.03.2009, 16:10
alexkill

offline
Опыт: 18,872
Активность:
Igores
Нулевое значение параметра rate указанной функции позволит тебе изменять высоту мгновенно.
Старый 05.03.2009, 16:11
NETRAT

offline
Опыт: 83,712
Активность:
а) все юниты отлавливаются событием unit enters region, естественно ты должен этот триггер создать на инициализации
б) юниты после этого не станут летающими, им просто можно будет менять высоту полета
в) поверь, лагов будет намного меньше чем в твоей функции

Igores там есть такой замечательный параметр rate, он отвечает за "интенсивность" перемещения, мнгновенное перемещение юнита по оси Z реализовать невозможно

NETRAT добавил:
alexkill насколько я помню, ноль там не будет работать

NETRAT добавил:
эта функция как-бэ немножко глюченая, но иного способа изменить высоту юнита быть не может
Старый 05.03.2009, 16:17
Igores
НИИ 4А-Во! Кафедра Джасс.
offline
Опыт: 5,325
Активность:
Хз, вроде пробовал раньше ноль ставить, юнит вообще не менял высоту. Ясно, похоже это никак нельзя реализовать, без смены скорости взлета.
Старый 05.03.2009, 16:22
alexkill

offline
Опыт: 18,872
Активность:
NT, поверь моему опыту по работе с этой функцией ). Ноль - как раз то, что надо.
Цитата:
Хз, вроде пробовал раньше ноль ставить, юнит вообще не менял высоту

наверняка забыл добавить абилку морфа
Старый 05.03.2009, 16:38
timon1994
только учусь
offline
Опыт: 952
Активность:
rate=высота/сек
Старый 05.03.2009, 16:38
Ответ

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

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

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

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



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