Q/A

Добавлен , опубликован
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
28
RiseD, мою не можешь запустить?
ты её не через редактор а через игру открывай и тогда всё норм будет
через редактор из за либы может тупить
38
юнита надо летающим делать
15
Доброго времени суток. Можешь подсказать, почему не запускается(либо не работает) ИИ? Точно не могу определить, что же это именно.
21
Есть ли способ инициализировать триггер в шапке карты без вспомогательных триггеров извне? Тоесть, я хочу чтоб этот триггер регистрировал событие "Инициализация карты", находясь в шапке.
28
GF RaiseD, использовать библиотеки vjass
у библиотек есть initializer func_name
где func_name имя функции которая запустится при запуске карты (функция должна быть внутри библиотеки)
private func_name takes nothing returns nothing
21
Ещё вопрос. Пытался сделать триггерный Cleave и ограничить его действие следующим сектором:
кид
if bj_RADTODEG*Atan2(GetUnitY(attacker)-GetUnitY(enumUnit),GetUnitX(attacker)-GetUnitX(enumUnit)) >= GetUnitFacing(attacker)-65 and bj_RADTODEG*Atan2(GetUnitY(attacker)-GetUnitY(enumUnit),GetUnitX(attacker)-GetUnitX(enumUnit)) <= GetUnitFacing(attacker)+65 then

Я хотел таким образом ограничить клив сектором в 130 градусов. Но это условие никогда не действительно. Я что-то делаю не так.
29
скалярное произведение единичных векторов равняется косинусу угла между ними, атан здесь не нужен
а = вектор от атакующего к цели
б = вектор от атакующего вперёд (cos(facing), sin(facing))
скалярное произведение нормализованных а и б нужно сравнить с половиной "ширины" нужного тебе конуса.
28
GF RaiseD, док мастер объяснять все просто и понятно
но в чём он прав так это в том что можно обойтись без арктангенса
но если не хочешь учить вектора то
от енума отнимай атакера
т.е. вместо
GetUnitY(attacker)-GetUnitY(enumUnit)
пиши
GetUnitY(enumUnit)-GetUnitY(attacker)
29
Просто если я правильно понимаю все это дело происходит в стандартной системе координат т.е., и тут оно будет страдать в случае, если твой "конус" пересекает переход от 360 градусов к 0, в моем же случае этого не произойдет.
Мб я объясняю непонятно, в таком случае загугли скалярное произведение векторов, увидишь что A x B = |A| * |B| * cosAlpha (Alpha - угол между А и B), тогда если длина А = длина B = 1 -> A x B = cosAlpha, что тебе и нужно
github.com/DoctorGester/crumbling-island-arena/blob/master/game/... я реализовывал это здесь (не jass)
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.