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

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

Ответ
 
Buldozer
aka AxeAa
offline
Опыт: 1,047
Активность:
столкновения обьектов?
Как отслеживать столкновения обьектов с возвышеностями ,юнитами и декорациями.
Старый 10.10.2008, 20:47
Vadim

offline
Опыт: 603
Активность:
Юнита с возвышением - возвышенностями - GetUnitFlyHeight() <= 0, при етом тебе прийдется самостоятельно контролировать высоту полета твоего юнита.

Юнита с юнитами - событием TriggerRegisterUnitInRange(твой юнит, радиус, фильтер)

С расрушаем обьектом - подбирать всех разрушаемых обьектов в некотором радиусе от юнита. Следующая фия вернет ближнего дестрактабла:
Код:
globals
rect RFD = Rect(0,0,0,0)
destructable Dest = null
endglobals //Rect For Destructables

function FindDest takes nothing returns nothing
set Dest = GetEnumDestructable()
endfunction

function IsDestructableInXY takes real x, real y, real radius, boolexpr b returns destructable
call SetRect(RFD, x - radius, y - radius, x + radius, y + radius)
set Dest = null
call EnumDestructablesInRect(RFD, b, function FindDest)
return Dest
endfunction


Предполагается, что юнит не столкнется с 2 дестрактаблами одновременно, но можно легко переделать, чтоб добиться того что нужно тебе.
Старый 10.10.2008, 23:46
Hexus
Looking for a victim
offline
Опыт: 19,166
Активность:
GetUnitZ - отслеживать и сравнивать с GetLocationZ - будет столкновение с возвышенностью.
Старый 11.10.2008, 02:22
adic3x

offline
Опыт: 108,439
Активность:
Цитата:
GetUnitZ

такой фции нету

с юнитами пиком юнитов в радиусе, с терайном - двиганием точки... ща линк найду)

ADOLF добавил:
http://xgm.guru/forum/showthread.php?t=15889

тут и деструбы, и юниты, и терраин и куча моего крайне читабельного кода в котором ооочень сложно что то понять;)
Старый 11.10.2008, 09:20
GreatLosser

offline
Опыт: 5,086
Активность:
Зачем все это делать! Просто нужно при движении юнита отслеживать, находится ли он там, куда был передвинут триггером. Если разница есть хоть в одной координате, то разворачиваем его куда надо. Вообще-то недавно была тема с этим вопросом.

GreatLosser добавил:
А вот и она: http://xgm.guru/forum/showthread.php?t=19570
Там есть цитата из Moving System.
Старый 11.10.2008, 10:31
Ответ

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

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

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

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



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