if target != null and target != caster then
call UnitDamageTargetBJ(caster, target, 100., ATTACK_TYPE_CHAOS, DAMAGE_TYPE_UNIVERSAL)
endif
set target = null
function PolarProjectionX takes real x, real dist, real angle returns real
return x + dist * Cos(angle * bj_DEGTORAD)
endfunction
function PolarProjectionY takes real y, real dist, real angle returns real
return y + dist * Sin(angle * bj_DEGTORAD)
endfunction
function Trig_Hit_Actions takes nothing returns nothing
local unit caster = GetTriggerUnit()
local real face = GetUnitFacing(caster)
local real x = PolarProjectionX(GetUnitX(caster), 100., face)
local real y = PolarProjectionY(GetUnitY(caster), 100., face)
local group targets = CreateGroup()
local unit target
call GroupEnumUnitsInRange(targets, x, y, 100., null)
set target = FindClosestToXY(targets, x, y)
if target != null then
call UnitDamageTargetBJ(caster, target, 100., ATTACK_TYPE_CHAOS, DAMAGE_TYPE_UNIVERSAL)
set target = null
endif
set caster = null
call DestroyGroup(targets)
set targets = null
endfunction
function GetDistancePoints takes real x1, real y1, real x2, real y2 returns real
return SquareRoot((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2))
endfunction
function GetDistanceUnitPoint takes unit u, real x, real y returns real
local real dx = GetUnitX(u) - x
local real dy = GetUnitY(u) - y
return SquareRoot(dx * dx + dy * dy)
endfunction
function GetDistanceUnits takes unit u1, unit u2 returns real
local real dx = GetUnitX(u1) - GetUnitX(u2)
local real dy = GetUnitY(u1) - GetUnitY(u2)
return SquareRoot(dx * dx + dy * dy)
endfunction
Узнать ближайшего юнита к (x, y)
globals
real X
real Y
unit ClosestUnit
real Distance
endglobals
function FindClosestToXYCallback takes nothing returns nothing
local real d = GetDistanceUnitPoint(GetEnumUnit(), X, Y)
if d <= Distance then
set Distance = d
set ClosestUnit = GetEnumUnit()
endif
endfunction
function FindClosestToXY takes group g, real x, real y returns unit
set X = x
set Y = y
set ClosestUnit = null
set Distance = 999999.
call ForGroup(g, function FindClosestToXYCallback)
return ClosestUnit
endfunction
Ред. PT153
» WarCraft 3 / Почему не работает абилка?(чекните GetDistance)
Тебе нужна функция GetLearnedSkill().
Ред. PT153
» WarCraft 3 / Почему не работает абилка?(чекните GetDistance)
» WarCraft 3 / Почему не работает абилка?(чекните GetDistance)
» WarCraft 3 / Почему не работает абилка?(чекните GetDistance)
» WarCraft 3 / Почему не работает абилка?(чекните GetDistance)
Ред. PT153
» WarCraft 3 / Почему не работает абилка?(чекните GetDistance)
» WarCraft 3 / Почему не работает абилка?(чекните GetDistance)
Ты не наносишь урон, а отнимаешь здоровье, килл твоему кастеру не засчитается.
» WarCraft 3 / Получение координат каждого юнита в группе
Ред. PT153
» WarCraft 3 / Получение координат каждого юнита в группе
return SquareRoot((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2))
endfunction
local real dx = GetUnitX(u) - x
local real dy = GetUnitY(u) - y
return SquareRoot(dx * dx + dy * dy)
endfunction
local real dx = GetUnitX(u1) - GetUnitX(u2)
local real dy = GetUnitY(u1) - GetUnitY(u2)
return SquareRoot(dx * dx + dy * dy)
endfunction
» WarCraft 3 / Получение координат каждого юнита в группе
» WarCraft 3 / Импорт звуков
» WarCraft 3 / Где взять норм варкрафт
» WarCraft 3 / Камень включён
» WarCraft 3 / Где взять норм варкрафт
» WarCraft 3 / Что за ошибка?
» WarCraft 3 / Где взять норм варкрафт
» WarCraft 3 / Что за ошибка?
» WarCraft 3 / Аринас 1x1
» WarCraft 3 / Как на Jass'е вернуть уникальное ID юнита и записать в локалку?
» Администрация XGM / Глючит лента новостей при обновлении ресурса
» WarCraft 3 / Критует редактор при открытии старых карт
» WarCraft 3 / Андуин - Набор иконок
» WarCraft 3 / lua таблица в таблице
» WarCraft 3 / lua таблица в таблице
Ред. PT153
» WarCraft 3 / lua таблица в таблице