MasterRofl
New Member
- Reaction score
- 8
Map on second page
Why does this work
and this not work?
Why does this work
Trigger:
- Revive Hero
- Events
- Time - Map_Revive_Timers[1] expires
- Time - Map_Revive_Timers[2] expires
- Time - Map_Revive_Timers[3] expires
- Time - Map_Revive_Timers[4] expires
- Time - Map_Revive_Timers[6] expires
- Time - Map_Revive_Timers[7] expires
- Time - Map_Revive_Timers[8] expires
- Time - Map_Revive_Timers[9] expires
- Conditions
- Actions
- Unit Group - Pick every unit in Map_Revivable_Heroes and do (Actions)
- Loop - Actions
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- (Remaining time for Map_Revive_Timers[((Player number of (Owner of (Picked unit))) - 1)]) Less than 1.00
- Then - Actions
- Hero - Instantly revive (Picked unit) at (Center of Hero Spawn <gen>), Show revival graphics
- Countdown Timer - Destroy Map_Revive_Timer_Windows[((Player number of (Owner of (Picked unit))) - 1)]
- Unit Group - Remove (Picked unit) from Map_Revivable_Heroes
- Else - Actions
- If - Conditions
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- Loop - Actions
- Unit Group - Pick every unit in Map_Revivable_Heroes and do (Actions)
- Events
and this not work?
JASS:
scope ReviveHero initializer Init
private function Callback takes nothing returns nothing
local location HeroSpawnCenter = GetRectCenter(gg_rct_Hero_Spawn)
if ( TimerGetRemaining(udg_Map_Revive_Timers[GetPlayerId(GetOwningPlayer(GetEnumUnit()))]) < 1.00 ) then
call ReviveHeroLoc( GetEnumUnit(), HeroSpawnCenter, true )
call DestroyTimerDialog( udg_Map_Revive_Timer_Windows[GetPlayerId(GetOwningPlayer(GetEnumUnit()))] )
call GroupRemoveUnit( udg_Map_Revivable_Heroes, GetEnumUnit() )
endif
call RemoveLocation(HeroSpawnCenter)
set HeroSpawnCenter = null
endfunction
private function Actions takes nothing returns nothing
call ForGroup( udg_Map_Revivable_Heroes, function Callback )
endfunction
private function Init takes nothing returns nothing
local trigger t = CreateTrigger()
call TriggerRegisterTimerExpireEvent( t, udg_Map_Revive_Timers[1] )
call TriggerRegisterTimerExpireEvent( t, udg_Map_Revive_Timers[2] )
call TriggerRegisterTimerExpireEvent( t, udg_Map_Revive_Timers[3] )
call TriggerRegisterTimerExpireEvent( t, udg_Map_Revive_Timers[4] )
call TriggerRegisterTimerExpireEvent( t, udg_Map_Revive_Timers[6] )
call TriggerRegisterTimerExpireEvent( t, udg_Map_Revive_Timers[7] )
call TriggerRegisterTimerExpireEvent( t, udg_Map_Revive_Timers[8] )
call TriggerRegisterTimerExpireEvent( t, udg_Map_Revive_Timers[9] )
call TriggerAddAction( t, function Actions )
endfunction
endscope