Добавлен M1n3rva
Не удаляется эффект с юнита. Что делать и в чем причина? Подскажите нубу( Изначально там был таймер перед удалением эффектов ( TriggerSleepAction(0.4) )
function Trig_SR_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A006' ) ) then
return false
endif
return true
endfunction
function SR_HP takes nothing returns nothing
local timer t = GetExpiredTimer()
local integer srb = GetHandleId(t)
local unit sru = LUh(srb,1)
local real sra = LRh(srb,2)
local integer src = LIh(srb,3)
local real srd = GetUnitStateSwap(UNIT_STATE_LIFE, sru) - GetUnitStateSwap(UNIT_STATE_MAX_LIFE, sru)*0.1
local effect e
local effect e1
local effect e2
if src == 0 then
call SetUnitLifeBJ(sru,(GetUnitStateSwap(UNIT_STATE_LIFE, sru)+(GetUnitStateSwap(UNIT_STATE_MAX_LIFE, sru)*0.2)))
call AddSpecialEffectTargetUnitBJ( "origin", sru, "Abilities\\Spells\\Other\\Charm\\CharmTarget.mdl" ) //ЭФФЕКТИК РАЗ
set e = GetLastCreatedEffectBJ()
if GetUnitStateSwap(UNIT_STATE_LIFE, sru) == GetUnitStateSwap(UNIT_STATE_MAX_LIFE, sru)
call SIh(srb,3,1)
else
endif
else
if srd <= sra then
call SetUnitLifeBJ(sru, sra)
call FlushChildHashtable(udg_hash,srb)
call DestroyTimer(t)
else
call SetUnitLifeBJ(sru,(GetUnitStateSwap(UNIT_STATE_LIFE, sru)-(GetUnitStateSwap(UNIT_STATE_MAX_LIFE, sru)*0.1)))
call AddSpecialEffectTargetUnitBJ( "head", sru, "Abilities\\Spells\\Other\\BreathOfFire\\BreathOfFireDamage.mdl" ) //ЭФФЕКТИК ДВА
set e1 = GetLastCreatedEffectBJ()
call AddSpecialEffectTargetUnitBJ( "chest", sru, "Abilities\\Spells\\Other\\BreathOfFire\\BreathOfFireDamage.mdl") //ЭФФЕКТИК ТРИ
set e2 = GetLastCreatedEffectBJ()
endif
endif
set t = null
set sru = null
set sra = 0
set srb = 0
set src = 0
set srd = 0
call DestroyEffect(e) // УДАЛИЛ РАЗ(
call DestroyEffect(e1) // УДАЛИЛ ДВА(
call DestroyEffect(e2) // УДАЛИЛ ТРИ(
endfunction
function Trig_SR_Actions takes nothing returns nothing
local unit sru = GetSpellAbilityUnit()
local real sra = GetUnitStateSwap(UNIT_STATE_LIFE, sru)
local timer t = CreateTimer()
local integer srb = GetHandleId(t)
call SUh(srb,1,sru)
call SRh(srb,2,sra)
call TimerStart(t,0.5,true,function SR_HP)
set t = null
set sru = null
set sra = 0
set srb = 0
endfunction
//===========================================================================
function InitTrig_SR takes nothing returns nothing
set gg_trg_SR = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_SR, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_SR, Condition( function Trig_SR_Conditions ) )
call TriggerAddAction( gg_trg_SR, function Trig_SR_Actions )
endfunction
Принятый ответ
call DestroyEffect(AddSpecialEffect(e, x, y))
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Ред. NekoriDes
Ред. Кет
M1n3rva, почему?
и нет ошибок