Hey, chúc mừng cậu đã được huy chương
. Chúc trễ do vật lộn với đám JASS == (tự học kô hướng dẫn, đau đầu lắm cơ ==).
Anyway, cậu tìm giùm mình xem tại sao cái trigger này nó kô hoạt động vậy
function Trig_Boss_Respawn_Conditions takes nothing returns boolean
if ( not ( IsUnitType(GetTriggerUnit(), UNIT_TYPE_HERO) == true ) ) then
return false
endif
return true
endfunction
function Trig_Boss_Respawn_Func002002003001 takes nothing returns boolean
return ( IsUnitType(GetFilterUnit(), UNIT_TYPE_HERO) == true )
endfunction
function Trig_Boss_Respawn_Func002002003002 takes nothing returns boolean
return ( GetOwningPlayer(GetFilterUnit()) == Player(11) )
endfunction
function Trig_Boss_Respawn_Func002002003 takes nothing returns boolean
return GetBooleanAnd( Trig_Boss_Respawn_Func002002003001(), Trig_Boss_Respawn_Func002002003002() )
endfunction
function Trig_Boss_Respawn_Loop takes nothing returns nothing
local integer i
local real r
local integer i2
local texttag tt
set i = 0
set r = 0.00
set udg_GetLocalPlayer=GetLocalPlayer()
if GetLocalPlayer() == GetOwningPlayer(GetEnumUnit()) then
set i = ( 25 * GetUnitLevel(udg_tempUnit) )
call CreateTextTagUnitBJ( ( "+|cffffcc00" + ( I2S(i) + "|r" ) ), GetEnumUnit(), 0, 10.00, 100, 100, 100, 0 )
set tt = GetLastCreatedTextTag()
call SetTextTagVelocityBJ( tt, 64.00, 90 )
call SetTextTagPermanentBJ( tt, false )
call SetTextTagLifespanBJ( tt, 1.00 )
call SetTextTagFadepointBJ( tt, 0.50 )
call AdjustPlayerStateBJ( i, GetOwningPlayer(GetEnumUnit()), PLAYER_STATE_RESOURCE_GOLD )
set i2 = 1
loop
exitwhen i2 > GetUnitLevel(udg_tempUnit)
set r = ( ( r * 1.50 ) + 75.00 )
set i2 = i2 + 1
endloop
call CreateTextTagUnitBJ( ( "+|cffff00cc" + ( I2S(R2I(r)) + "|r" ) ), GetEnumUnit(), 0, 10.00, 100, 100, 100, 0 )
set tt = GetLastCreatedTextTag()
call SetTextTagVelocityBJ( tt, 64.00, 0.00 )
call SetTextTagPermanentBJ( tt, false )
call SetTextTagLifespanBJ( tt, 1.00 )
call SetTextTagFadepointBJ( tt, 0.50 )
call AddHeroXPSwapped( R2I(r), GetEnumUnit(), true )
endif
set tt = null
endfunction
function Trig_Boss_Respawn_Actions takes nothing returns nothing
local location u
local group ug
set udg_tempUnit = GetTriggerUnit()
set ug = GetUnitsInRangeOfLocMatching(600.00, u, Condition(function Trig_Boss_Respawn_Func002002003))
call ForGroupBJ( ug, function Trig_Boss_Respawn_Loop )
call DestroyGroup(ug)
call TriggerSleepAction( 120.00 )
set u = GetUnitLoc( udg_tempUnit )
call ReviveHeroLoc( udg_tempUnit, u , true )
call RemoveLocation(u)
set u = null
set ug = null
set udg_tempUnit = null
endfunction
//===========================================================================
function InitTrig_Boss_Respawn takes nothing returns nothing
set gg_trg_Boss_Respawn = CreateTrigger( )
call TriggerRegisterPlayerUnitEventSimple( gg_trg_Boss_Respawn, Player(11), EVENT_PLAYER_UNIT_DEATH )
call TriggerAddCondition( gg_trg_Boss_Respawn, Condition( function Trig_Boss_Respawn_Conditions ) )
call TriggerAddAction( gg_trg_Boss_Respawn, function Trig_Boss_Respawn_Actions )
endfunction