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

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

Закрытая тема
 
Hate
конь вакуумный
offline
Опыт: 42,843
Активность:
Удар с боку?
уже довольно много обмусолено про удары в спину, и есть функции нахождения позиции со спины, однако есть ли такие для определения позиции что атакующий сбоку? Ошень надо. Поиском не нагуглил. В математике DNIWE.
Старый 21.10.2012, 22:37
Nerevar
I'll be back!
offline
Опыт: 17,452
Активность:
то есть удар в спину можешь отловить,а удар сбоку нет? ну если спина -160...-200 от взгляда,то сбоку +110...+70\-110...-70 от взгляда
Старый 21.10.2012, 22:57
Hate
конь вакуумный
offline
Опыт: 42,843
Активность:
функция нахождения удара со спины то не моя, я ж написал что в математике днище.
» сама функция для нахождения позиции за спиной такая
function IsUnitBack takes unit uF, unit uWhichBack returns boolean
real r1 = bj_RADTODEG * Atan2(GetUnitY(uWhichBack) - GetUnitY(uF), GetUnitX(uWhichBack) - GetUnitX(uF)) + 360
real r2 = GetUnitFacing(uWhichBack) + 360
   if GetUnitY(uWhichBack) < GetUnitY(uF) then
       set r1 = r1 + 360
   endif
   return (r1<=(r2+60) and r1>=(r2-60))
endfunction
Старый 21.10.2012, 23:13
16GB
GhostOne User
offline
Опыт: 59,317
Активность:
ololo
я так проверял в спину, а сбоку по идеи будет тоже тока, 2 условия с левого и с правого экспериментируй
if RAbsBJ((GetUnitFacing(d)-GetUnitFacing(u))) <= 105. then
Старый 21.10.2012, 23:26
quq_CCCP
Я белый и пушистый!
offline
Опыт: 95,825
Активность:
Hate, ОpenDota не ненслышал, 3 скилл бриста, там как раз находят бока...
Старый 22.10.2012, 06:35
Hate
конь вакуумный
offline
Опыт: 42,843
Активность:
quq_CCCP:
Hate, ОpenDota не ненслышал, 3 скилл бриста, там как раз находят бока...
что за брист? в доту не играл.
Старый 22.10.2012, 15:11
просто Юрок
...
offline
Опыт: 11,271
Активность:
Hate:
что за брист?
Вот он. 3 скилл- пассивка, уменьшает урон, нанесённый по бокам и в спину.
Миниатюры
Кликните на картинку для увеличения
Название:  06837569.jpg
Просмотров: 44
Размер:  43.0 Кбайт  
Старый 22.10.2012, 16:12
Hate
конь вакуумный
offline
Опыт: 42,843
Активность:
смотрел опен доту, но через тот код он ловит спину, да. Так что отловить бока пока не получилось.
Старый 23.10.2012, 01:31
DemoN2099
annihilator
offline
Опыт: 4,418
Активность:
Hate, либо дважды эту функцию для левого бока и для правого, либо эту функцию с расширенным углом выбора и потом "вырезание" из полученного сектора области спины.
Старый 23.10.2012, 06:06
Hate
конь вакуумный
offline
Опыт: 42,843
Активность:
DemoN2099:
Hate, либо дважды эту функцию для левого бока и для правого, либо эту функцию с расширенным углом выбора и потом "вырезание" из полученного сектора области спины.
а теперь на русском
Старый 23.10.2012, 10:36
DemoN2099
annihilator
offline
Опыт: 4,418
Активность:
Hate:
а теперь на русском
Первый способ - эту функцию продублировать - для левого бока и для правого, просто нужно поменять углы. А второй способ я чо-то подумал и сам не понял как сделать.
Старый 23.10.2012, 13:29
DioD

offline
Опыт: 45,184
Активность:
держи мануал
Миниатюры
Кликните на картинку для увеличения
Название:  DNIWHE.jpg
Просмотров: 61
Размер:  26.0 Кбайт  
Старый 23.10.2012, 14:36
Hate
конь вакуумный
offline
Опыт: 42,843
Активность:
DioD:
держи мануал
... который я не понимаю ибо
В математике DNIWE.
Старый 23.10.2012, 15:09
DioD

offline
Опыт: 45,184
Активность:
там же нарисовано, будь мужиком, не понимаешь возьми очки.
Старый 23.10.2012, 15:19
Hate
конь вакуумный
offline
Опыт: 42,843
Активность:
DioD:
там же нарисовано, будь мужиком, не понимаешь возьми очки.
тоесть если я надену очки я внезапно стану понимать эту свалку цифр?)
Старый 23.10.2012, 15:23
DioD

offline
Опыт: 45,184
Активность:
там всего одна цифра 45 как бы...
Старый 23.10.2012, 15:34
Hate
конь вакуумный
offline
Опыт: 42,843
Активность:
я не понимаю сам метод действий. эти вычисления написанные на картинке мне ничего не говорят.
Старый 23.10.2012, 15:36
Hanabishi
COOL STATUS
offline
Опыт: отключен
function Actions takes nothing returns nothing
    local real a = Atan2(GetUnitY(GetAttacker())-GetUnitY(GetTriggerUnit()),GetUnitX(GetAttacker())-GetUnitX(GetTrigger​Unit()))-GetUnitFacing(GetTriggerUnit())*bj_DEGTORAD
    if ((a>-bj_PI/4)and(a<bj_PI/4))or((a>3*bj_PI/4)and(a<5*bj_PI/4)) then
        //сбоку
    endif
endfunction

Отредактировано Hanabishi, 23.10.2012 в 16:18.
Старый 23.10.2012, 15:39
quq_CCCP
Я белый и пушистый!
offline
Опыт: 95,825
Активность:
Hate, все дело в угле поворота, у круга 360 градусов, так?
У юнита ты всегда можеш взять угол поворота морды, правдо же? ну добавь половинку круга к углу поворота хари, те.180 градусов, и ты получиш спину, + 45 к спине, это 1 бок, - 45 второй, беги тестить...
Старый 23.10.2012, 15:42
Hate
конь вакуумный
offline
Опыт: 42,843
Активность:
Hanabishi:
function Actions takes nothing returns nothing
    local real a = GetUnitFacing(GetTriggerUnit())*bj_DEGTORAD-Atan2(GetUnitY(GetAttacker())-GetUnitY(GetTriggerUnit())​,GetUnitX(GetAttacker())-GetUnitX(GetTriggerUnit()))
    local real f
    if ((a>-bj_PI/4)and(a<bj_PI/4))or((a>3*bj_PI/4)and(a<5*bj_PI/4)) then
        //сбоку
    endif
endfunction
если юнит стоит лицом вниз к карте, то показывает как буд то удар был сбоку :c
Старый 23.10.2012, 15:46
Закрытая тема

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

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

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

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



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