Code
function Trig_a_Conditions takes nothing returns boolean
return GetSpellAbilityId() == 'A000'
endfunction
function Trig_Asuma_Spell_1_Cast_Actions takes nothing returns nothing
local unit u = GetSpellAbilityUnit()
local real array a
set a[1] = GetUnitX(u)
set a[2] = GetUnitY(u)
set a[3] = GetLocationX(GetSpellTargetLoc())
set a[4] = GetLocationX(GetSpellTargetLoc())
local real angle = Atan2(loc[3] - loc[1], loc[4] - loc[2])
set a[5] = (a[1] + 50. * Cos(angle))
set a[6] = (a[2] + 50. * Sin(angle))
local player p = GetOwningPlayer(u)
local unit dummy = CreateUnit (p, 'h001', a[5], a[6], angle)
endfunction
//===========================================================================
function InitTrig_Asuma_Spell_1_Cast takes nothing returns nothing
set gg_trg_Asuma_Spell_1_Cast = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Asuma_Spell_1_Cast, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_Asuma_Spell_1_Cast, Condition( function Trig_Asuma_Spell_1_Cast_Conditions ) )
call TriggerAddAction( gg_trg_Asuma_Spell_1_Cast, function Trig_Asuma_Spell_1_Cast_Actions )
endfunction
только начал учить Jass, перевел способность на Jass и заменил на локалки.
еще часть спела это каждые 0.02 секунды двигать юнита u по линии и наносить урон встречным юнитам, как это сделать правельно ?
знаю что через цыклы, но опять таки сделаю с кучей ошибок и WE заблокирует код(