Well, I have this trigger that should transfer a certain unit along with its corresponding handle in the hashtable but it doesnt do so : it doesnt work after transferred the first time but when I transfer it back it works normaly. My only guess is the unit in the hashtable isnt being transfererd at all.
-
DropOffBuild
-
Events
- Unit - A unit Finishes construction
-
Conditions
-
Or - Any (Conditions) are true
-
Conditions
- (Owner of (Triggering unit)) Equal to Player 1 (Red)
- (Owner of (Triggering unit)) Equal to Player 6 (Orange)
-
Conditions
-
Or - Any (Conditions) are true
-
Conditions
- (Unit-type of (Triggering unit)) Equal to Great Hall
- (Unit-type of (Triggering unit)) Equal to War Mill
-
Conditions
-
Or - Any (Conditions) are true
-
Actions
- Set TempPoint = (Position of (Triggering unit))
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (Unit-type of (Triggering unit)) Equal to Great Hall
-
Then - Actions
- Unit - Create 1 Dummy [Lumber & Gold] for Neutral Passive at TempPoint facing Default building facing degrees
-
Else - Actions
- Unit - Create 1 Dummy [Lumber] for Neutral Passive at TempPoint facing Default building facing degrees
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (Owner of (Triggering unit)) Equal to Player 1 (Red)
-
Then - Actions
- Unit - Change ownership of (Last created unit) to Player 6 (Orange) and Change color
-
Else - Actions
- Unit - Change ownership of (Last created unit) to Player 1 (Red) and Change color
-
If - Conditions
- Set x = (X of TempPoint)
- Set y = (Y of TempPoint)
- Unit - Turn collision for (Last created unit) Off
- Custom script: call SetUnitX(GetLastCreatedUnit(), udg_x)
- Custom script: call SetUnitY(GetLastCreatedUnit(), udg_y)
- Set TempUGroup = (Units in (Playable map area) matching ((Matching unit) Equal to (Triggering unit)))
-
Unit Group - Pick every unit in TempUGroup and do (Actions)
-
Loop - Actions
- Hashtable - Save Handle Of(Last created unit) as 0 of (Key (Picked unit)) in (Last created hashtable)
-
Loop - Actions
- Custom script: call DestroyGroup (udg_TempUGroup)
- Custom script: call RemoveLocation (udg_TempPoint)
- Unit Group - Add (Triggering unit) to ResourceDropBuildings
-
Events
-
Then - Actions
- Selection - Remove (Picked unit) from selection for Player1
- Cinematic - Ping minimap for (All players) at (Position of (Picked unit)) for 3.00 seconds
- Set ExchangeSuccess = True
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- ((Picked unit) is in ResourceDropBuildings) Equal to True
-
Then - Actions
- Unit - Change ownership of (Load 0 of (Key (Picked unit)) in RecDropOffHastable) to Player2 and Change color
- Set TempUnit = (Load 0 of (Key (Picked unit)) in RecDropOffHastable)
- Set TempPoint = (Position of (Picked unit))
- Set x = (X of TempPoint)
- Set y = (Y of TempPoint)
- Custom script: call SetUnitX(udg_TempUnit, udg_x)
- Custom script: call SetUnitY(udg_TempUnit, udg_y)
- Else - Actions
-
If - Conditions
- Unit - Change ownership of (Picked unit) to Player2 and Change color
- Unit Group - Remove (Picked unit) from TempUGroup
- Unit Group - Remove (Picked unit) from ExchangeSelection1
- Unit Group - Remove (Picked unit) from ExchangeSelection2