- Joined
- May 16, 2012
- Messages
- 644
Hello Hivers,
Recently i've found out about a snippet system called RegisterPlayerUnitEvent created by Magtheridon96 and i'm converting a few of my triggers to use it, but i'm having a problem in triggres that have calls of the CreateUnit native function. I added i few debug messeges int he code to figure out what was the problem but nothing is really worng it seems, the messeges go out when they are supposed to do but still the units that should be created, are not. any ideas on why?
Recently i've found out about a snippet system called RegisterPlayerUnitEvent created by Magtheridon96 and i'm converting a few of my triggers to use it, but i'm having a problem in triggres that have calls of the CreateUnit native function. I added i few debug messeges int he code to figure out what was the problem but nothing is really worng it seems, the messeges go out when they are supposed to do but still the units that should be created, are not. any ideas on why?
JASS:
scope BlackArrow initializer Init
private function OnDeath_Conditions takes nothing returns boolean
local unit u
local unit target = GetTriggerUnit()
call DisplayTextToPlayer(Player(0), 0, 0, "BlackArrowDeath")
if GetUnitAbilityLevel(target, 'A00O') == 1 then
if IsUnitType(target, UNIT_TYPE_MELEE_ATTACKER) then
set u = CreateUnit(GetOwningPlayer(udg_Sylvanas), 'u008', GetUnitX(target), GetUnitY(target), 0)
call UnitApplyTimedLife(u, 'BTLF', 20)
call DisplayTextToPlayer(Player(0), 0, 0, "CreateUnit")
else
set u = CreateUnit(GetOwningPlayer(udg_Sylvanas), 'n00P', GetUnitX(target), GetUnitY(target), 0)
call UnitApplyTimedLife(u, 'BTLF', 20)
call DisplayTextToPlayer(Player(0), 0, 0, "CreateUnit")
endif
elseif GetUnitAbilityLevel(target, 'A00O') == 2 then
if IsUnitType(target, UNIT_TYPE_MELEE_ATTACKER) then
set u = CreateUnit(GetOwningPlayer(udg_Sylvanas), 'u00A', GetUnitX(target), GetUnitY(target), 0)
call UnitApplyTimedLife(u, 'BTLF', 20)
call DisplayTextToPlayer(Player(0), 0, 0, "CreateUnit")
else
set u = CreateUnit(GetOwningPlayer(udg_Sylvanas), 'n00Q', GetUnitX(target), GetUnitY(target), 0)
call UnitApplyTimedLife(u, 'BTLF', 20)
call DisplayTextToPlayer(Player(0), 0, 0, "CreateUnit")
endif
elseif GetUnitAbilityLevel(target, 'A00O') == 3 then
if IsUnitType(target, UNIT_TYPE_MELEE_ATTACKER) then
set u = CreateUnit(GetOwningPlayer(udg_Sylvanas), 'u00B', GetUnitX(target), GetUnitY(target), 0)
call UnitApplyTimedLife(u, 'BTLF', 20)
call DisplayTextToPlayer(Player(0), 0, 0, "CreateUnit")
else
set u = CreateUnit(GetOwningPlayer(udg_Sylvanas), 'n00R', GetUnitX(target), GetUnitY(target), 0)
call UnitApplyTimedLife(u, 'BTLF', 20)
call DisplayTextToPlayer(Player(0), 0, 0, "CreateUnit")
endif
elseif GetUnitAbilityLevel(target, 'A00O') == 4 then
if IsUnitType(target, UNIT_TYPE_MELEE_ATTACKER) then
set u = CreateUnit(GetOwningPlayer(udg_Sylvanas), 'u00C', GetUnitX(target), GetUnitY(target), 0)
call UnitApplyTimedLife(u, 'BTLF', 20)
call DisplayTextToPlayer(Player(0), 0, 0, "CreateUnit")
else
set u = CreateUnit(GetOwningPlayer(udg_Sylvanas), 'n00S', GetUnitX(target), GetUnitY(target), 0)
call UnitApplyTimedLife(u, 'BTLF', 20)
call DisplayTextToPlayer(Player(0), 0, 0, "CreateUnit")
endif
endif
set u = null
set target = null
return false
endfunction
//===========================================================================
private function Init takes nothing returns nothing
/*
local trigger t = CreateTrigger()
set gg_trg_BlackArrow = CreateTrigger()
set udg_Sylvanas = gg_unit_Hvwd_0586
call DisableTrigger(gg_trg_BlackArrow)
call TriggerRegisterAnyUnitEventBJ(t, EVENT_PLAYER_UNIT_DEATH)
call TriggerAddCondition(t, Condition(function OnDeath_Conditions))
call TriggerRegisterAnyUnitEventBJ(gg_trg_BlackArrow, EVENT_PLAYER_UNIT_DAMAGED)
call TriggerAddCondition(gg_trg_BlackArrow, Condition(function Conditions))
*/
call RegisterPlayerUnitEvent(EVENT_PLAYER_UNIT_DEATH, function OnDeath_Conditions)
endfunction
endscope