Проще то проще, только вот почему-то нормального круга каста в тригорных заклинаниях можно по пальцам пересчитать. Хотя что может быть проще при добавлении юнитов в группу добавить радиуса с запасом, а потом отфильтровать через:
constant native IsUnitInRangeXY takes unit whichUnit, real x, real y, real distance returns boolean
Притом тот же реф или UjAPI позволяют получать размер круга и его не нужно хардкодить в спеле.
EugeAl, видать назревает непонимание в терминологии. Физический размер это диаметр окружности, которая используеется при расчёте проходимости. Возможно радиус, я точно не помню. Для дальнейших рассуждений возьмём диаметр.
Дальше проще всего показать на рисунках.
IsUnitInRange
Смотри, есть юниты A и C, половина физ размера для юнита A это радиус AB. Для юнита C это отрезок CD.
Ну и дальге нужно понять, что возврашает функция:
native IsUnitInRange takes unit whichUnit, unit otherUnit, real distance returns boolean
EugeAl, та, которая физический размер. Обе функции его учитывают:
constant native IsUnitInRange takes unit whichUnit, unit otherUnit, real distance returns boolean
constant native IsUnitInRangeXY takes unit whichUnit, real x, real y, real distance returns boolean
Напрямую в ваниле его не получить, так что это единственный способ сделать нормальный зацеп.
Я например её юзаю в свободных от осей прямоугольниках и в AOE, чтоб цеплять ровно в круг:
Уже почти седьмой год IntelliJ является моей боевой IDE. Многие вещи там сделаны довольно таки удобно. А если сравнивать с VSCode, то это верх дизайнерского изыска. За всё это дело приходится платить оперативой, что собственно не сложно.
Ну и не забываем про API для разработчиков. Когда кто-то напишет Language Server для JASS то пинганите. Я пока что не видел ни одного редактора, который разбирает жасс семантически. Только унылая подсветка по шаблонам.
Преимущество Toolbox в том, что он позволяет паралельно держать несколько версий IDE без особого напряга. При мажорных обновлениях не все плагины успевают подтянуться, так что иногда очень выручает.
EugeAl, я просто присрал плагин и чё-то мне кажется, там есть проблемы с цветами. Разбираться мне лень, лучше займусь slk. Версия уже отправлена на модерацию, скоро сможешь сам пощупать.
P. S. Конверт в принципе не сложно приделать, но пока это не вприоритете.
Результаты компиляции отличаются ли от результатов компиляции в редакторе карт? Конечный код работает ли быстрее в игре?
Это плагин для работы с кодом. Компиляцией занимается игра. Так что быстродействие зависит только того, каким образом написан код.
Если речь о препроцессоре vjass/ZINC, то теоретически можно более оптимально их скомпилировать, но приоритеты смещены в сторону AngelScript и транспиляцию в него.
Есть ли в программе русский язык, помимо английского?
Китайский точно есть, значит и русский можно сделать. Когда функционал устаканится, то займусь добавлением пакетов локализации.
function AddGold takes nothing returns boolean
local unit f = GetFilterUnit()
if GetUnitTypeId(f) == 'e00D' then
if GetResourceAmount(f) == 10 then
call KillUnit(f)
call BJDebugMsg("Kill!")
elseif GetResourceAmount(f) >= 10 and IsUnitDeadBJ(f) == false then
call AddResourceAmount(f, -10)
call SetPlayerState(GetOwningPlayer(f), PLAYER_STATE_RESOURCE_GOLD, GetPlayerState(GetOwningPlayer(f), PLAYER_STATE_RESOURCE_GOLD) + 10)
call CreateGoldTextTag(0, GetUnitX(f), GetUnitY(f), "+10")
endif
endif
set f = null
return false
endfunction
function Trig_Gold_Actions takes nothing returns nothing
local group g = CreateGroup()
call GroupEnumUnitsInRect(g, GetWorldBounds(), function GoldEnumFunc)
call AddGold()
endfunction
//===========================================================================
function InitTrig_Gold takes nothing returns nothing
set gg_trg_Gold = CreateTrigger()
call TriggerAddAction(gg_trg_Gold, function Trig_Gold_Actions)
call TimerStart(CreateTimer(), 2., true, function Trig_Gold_Actions)
endfunction
» WarCraft 3 / Угон транспорта
» WarCraft 3 / Угон транспорта
Ред. nazarpunk
» WarCraft 3 / Угон транспорта
IsUnitInRange
Ред. nazarpunk
» WarCraft 3 / Угон транспорта
Тупая проверка расстояния
IsUnitInrangeXY
» WarCraft 3 / Угон транспорта
» WarRaft / IntelliJASS
» WarRaft / IntelliJASS
» WarRaft / IntelliJASS
» WarRaft / IntelliJASS
» Unryze Jass API / UjAPI - AngelScript
» WarRaft / IntelliJASS
» WarRaft / BLP - Blizzard Lossless Picture
Ред. nazarpunk
» WarRaft / IntelliJASS
Ред. nazarpunk
» WarRaft / IntelliJASS
» WarCraft 3 / без вопроса
» WarRaft / IntelliJASS
» WarRaft / IntelliJASS
Ред. nazarpunk
» WarRaft / IntelliJASS
» WarRaft / IntelliJASS
Ред. nazarpunk
» WarRaft / IntelliJASS
Ред. nazarpunk
» WarCraft 3 / Код Jass
» WarCraft 3 / Как взломать карту Warcraft 3?
Ред. nazarpunk
» WarCraft 3 / Код Jass
» WarRaft / IntelliJASS
Ред. nazarpunk
» Администрация XGM / Поясните пожалуйста