Есть ли способ инициализировать триггер в шапке карты без вспомогательных триггеров извне? Тоесть, я хочу чтоб этот триггер регистрировал событие "Инициализация карты", находясь в шапке.
Ещё вопрос. Пытался сделать триггерный 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 градусов. Но это условие никогда не действительно. Я что-то делаю не так.
скалярное произведение единичных векторов равняется косинусу угла между ними, атан здесь не нужен
а = вектор от атакующего к цели
б = вектор от атакующего вперёд (cos(facing), sin(facing))
скалярное произведение нормализованных а и б нужно сравнить с половиной "ширины" нужного тебе конуса.
GF RaiseD, док мастер объяснять все просто и понятно
но в чём он прав так это в том что можно обойтись без арктангенса
но если не хочешь учить вектора то
от енума отнимай атакера
т.е. вместо
GetUnitY(attacker)-GetUnitY(enumUnit)
пиши
GetUnitY(enumUnit)-GetUnitY(attacker)
Загруженные файлы
Показан только небольшой набор комментариев вокруг указанного.
Перейти к актуальным.
Отредактирован Raised
ты её не через редактор а через игру открывай и тогда всё норм будет
через редактор из за либы может тупить
Отредактирован Raised
Отредактирован Raised
Отредактирован Raised
где func_name имя функции которая запустится при запуске карты (функция должна быть внутри библиотеки)
Отредактирован Raised
а = вектор от атакующего к цели
б = вектор от атакующего вперёд (cos(facing), sin(facing))
но в чём он прав так это в том что можно обойтись без арктангенса
но если не хочешь учить вектора то
от енума отнимай атакера
т.е. вместо