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

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

Ответ
 
Dreii
define{name=Dreii age=17}
offline
Опыт: 5,246
Активность:
Выбор юнитов на определенной высоте
Код:
call GroupEnumUnitsInRange(g,x,y,75.,null)

ВЫбирает юнитов в радиусе 75,тоесть если юнит А находится на высоте 150. нужно убить всех юнитов которые будут находится например на равный высоте юниту А либо больше.
Юнит А
Юнит Б
Нужо убить юнита Б если он находится на одной высоте с юнитом А в диапазоне 75 от него.
Как такое можно реализовать?
Старый 28.06.2011, 16:22
spellwerk

offline
Опыт: 4,869
Активность:
проверять высоту полета юнитов в радиусе
Старый 28.06.2011, 16:35
Nerevar
I'll be back!
offline
Опыт: 18,352
Активность:
function GetUnitZ takes unit u returns real
local location loc=GetUnitLoc(u)
return GetLocationZ(loc)+GetUnitFlyHeight(u)
call RemoveLocation(loc)
set loc=null
endfunction
Сравниваешь в фильтре высоты юнитов данной функцией
Старый 28.06.2011, 16:37
Dreii
define{name=Dreii age=17}
offline
Опыт: 5,246
Активность:
Spy_, Nerevar, я до этого догадался и сделал но я в математикие слаб.
Код:
if ze<=zd
    {
    BJDebugMsg("Высота таргета "+R2S(ze))
    BJDebugMsg("Высота стрелы "+R2S(zd))
    }

ze - высота по z того кого пикаем
zd - выоста дамми юнита

Все работает,но если я стреляю с пригорка то высота дамми изначально 536 а это меньше чем высота пикнутого юнита. так вот мне нужно чтот то от чегогото отнять что бы если разница в выосте у них не превышала 75.
например если больше 75 и меьше 75 то ..
я думаю что нужно онять zd-ze но не уверен
Старый 28.06.2011, 16:44
Nerevar
I'll be back!
offline
Опыт: 18,352
Активность:
If GetUntZ(target)-GetUnitZ(strela)>=-75 and GetUntZ(target)-GetUnitZ(strela)<=75 then
Как то так
Старый 28.06.2011, 17:08
Dreii
define{name=Dreii age=17}
offline
Опыт: 5,246
Активность:
Всем спс сам раозбрался

Dreii добавил:
Сделал так
Код:
if zk<=80 or (zk>=80 and zk<130)

где zk = zd-ze
zd - дамми стрела
ze - пикнутый юнит
130 сам подбирал по моделям в игре.
Старый 28.06.2011, 17:11
Ответ

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

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

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

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



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