Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- scope BuildTower initializer onInit
- private function GridSimBuild takes nothing returns nothing
- // HERE I NEED TO REFER TO ORIGINAL BUILDER UNIT "u_builder"
- // BUT HOW???
- // I COULD USE A STRUCT LIKE:
- // private struct Data
- // unit u
- // endstruct
- // & IN FUNC "Ability2Unit":
- // local Data d = d.create()
- // set d.u = u_builder
- // call SetUnitUserData(u_dummyBuilder, d)
- // & IN THIS FUNC ("GridSimBuild"):
- // local Data d = Data(GetUnitUserData(GetTriggerUnit()))
- // local unit u_YAY = d.u
- // !!! BUT !!!
- // I ALREADY USE THE UNITUSERDATA FOR ANOTHER SYSTEM,
- // SO WHAT ELSE CAN I USE?
- endfunction
- private function Ability2Unit takes nothing returns nothing
- local trigger tri
- local unit u_builder = GetTriggerUnit()
- local unit u_dummyBuilder
- local player p = GetOwningPlayer(u_builder)
- set u_dummyBuilder = CreateUnit( p, 'hpea', 0, 0, 0 )
- set tri = CreateTrigger()
- call TriggerRegisterUnitEvent( tri, u_dummyBuilder, EVENT_UNIT_ISSUED_POINT_ORDER )
- call TriggerAddAction( tri, function GridSimBuild )
- set tri = null
- set p = null
- set u_builder = null
- set u_dummyBuilder = null
- endfunction
- private function onInit takes nothing returns nothing
- local trigger t = CreateTrigger()
- local integer i_player
- set i_player = 0
- loop
- exitwhen i_player > 11
- call TriggerRegisterPlayerUnitEvent(t, Player(i_player), EVENT_PLAYER_UNIT_SPELL_CHANNEL, null)
- set i_player = i_player+1
- endloop
- call TriggerAddAction(t, function Ability2Unit)
- set t = null
- endfunction
- endscope
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement