Удачи. Для начать можешь с перехода на радианы и отказа от Location.
function Test takes nothing returns nothing
local unit caster = GetSpellAbilityUnit()
local real cx = GetUnitX(caster)
local real cy = GetUnitY(caster)
local real tx = GetSpellTargetX()
local real ty = GetSpellTargetY()
local real a90 = bj_PI * .5
local real d = Atan2(cy - ty, cx - tx)
local real x = (tx + 150 * Cos(d + a90)) - 300 * Cos(d + bj_PI)
local real y = (ty + 150 * Sin(d + a90 )) - 300 * Sin(d + bj_PI)
local real x2 = (tx + 150 * Cos(d - a90 )) - 300 * Cos(d - bj_PI)
local real y2 = (ty + 150 * Sin(d - a90 )) - 300 * Sin(d - bj_PI)
call CreateUnit(GetOwningPlayer(caster), Unit2Id, x, y, d + a90)
call CreateUnit(GetOwningPlayer(caster), Unit2Id, x2, y2, d - a90)
set caster = null
endfunction
А ты искал? Есть интерактивная статья где всё описано. Есть способности, где полярка практически в каждой второй используется. Есть статья, про движение снарядов. Ну и есть практически любое заклинание с движением.
local real x = GetLocationX(tar) + 0 * Cos(angle * bj_DEGTORAD - 0)
local real y = GetLocationY(tar) + 0 * Sin(angle * bj_DEGTORAD - 0)
local unit Unit = CreateUnitAtLoc(GetOwningPlayer(caster),UnitId, Location(x, y), angle - 0)
Можно же упростить:
local real tx = GetSpellTargetX()
local real ty = GetSpellTargetY()
local real x = tx * Cos(angle * bj_DEGTORAD)
local real y = ty * Sin(angle * bj_DEGTORAD)
local unit Unit = CreateUnitAtLoc(GetOwningPlayer(caster), UnitId, x, y, angle)
Начата работа над поддержкой ZINC, так что если у вас есть код на этом диалекте, то можете ставить лайки скидывать публичные репозитории с ним. Будем ставить над ними эксперименты.
Почему то многие забывают, что мировозрение ЗАКОНОПОСЛУШНО доброе. А это значит, что если кто-то нарушит закон, который кстати может быть вполне разным, то его необходимо анально наказать по всей строгости.
Не за что. Могу ещё посоветовать наш канал в дискорде, посвящённый редактору. Там могут помочь со всякой мелочью, ради которой не хочется создавать вопрос.
Ред. nazarpunk
» WarCraft 3 / Как раскрыть функцию с полярным смещением
Ред. nazarpunk
» WarCraft 3 / Создание юнита (Полярное смещение)
» WarCraft 3 / Как раскрыть функцию с полярным смещением
» WarRaft / IntelliJASS
» WarRaft / IntelliJASS
Прокрутить к ресурсу
2.0.11
» WarCraft 3 / Как раскрыть функцию с полярным смещением
» WarCraft 3 / Кисть размером 0.5 или как изменить ландшафт на пол-клетки
» WarCraft 3 / Кисть размером 0.5 или как изменить ландшафт на пол-клетки
» WarCraft 3 / Visual Studio Code: ujass
Прокрутить к ресурсу
» WarCraft 3 / Как вкатиться в WarCraft III и не привлечь внимание санитаров
» WarRaft / IntelliJASS
ставить лайкискидывать публичные репозитории с ним. Будем ставить над ними эксперименты.» WarCraft 3 / Вопрос по hex редактору
» Блог им. TerrorGold / Многострадальные паладины
» Администрация XGM / Кнопка "Get From Marketplace" IntelliJ
» WarCraft 3 / Как выбрать определенный тип юнита в радиусе (GUI)?
» WarCraft 3 / Обучение jass
» WarCraft 3 / Как пофиксить черную мини-карту
» WarCraft 3 / Обучение jass
» Мир безумного / Unigine SDK 2.18
» Мир безумного / Unigine SDK 2.18
Ред. nazarpunk
» Мир безумного / Unigine SDK 2.18
» WarRaft / IntelliJASS
Прокрутить к ресурсу
2.0.9
» WarCraft 3 / Срабатывание спецэффекта перед Remove
Ред. nazarpunk
» WarCraft 3 / Не работает способность
» WarCraft 3 / Не работает способность