Hi, im using a cool movement system with arrows i made. Units can walk over any doodad which has set walk over = True in object editor and it looks good. In single player it all works fine, but i tried it online and it started lagging as hell. Also sometimes the height of units were messed up.
It looks like the triggers runs for the second unit, even before the first unit has all his actions done.
I uploaded the map and the trigger below is the trigger from which i think is the bugged trigger.
Could anyone please help me fix this??
It looks like the triggers runs for the second unit, even before the first unit has all his actions done.
I uploaded the map and the trigger below is the trigger from which i think is the bugged trigger.
Could anyone please help me fix this??
-
quickchecker
-
Events
-
Time - Every 0.03 seconds of game time
-
-
Conditions
-
Actions
-
Unit Group - Pick every unit in group_living_units and do (Actions)
-
Loop - Actions
-
Set temp_unit = (Picked unit)
-
Set pnr = (Player number of (Owner of temp_unit))
-
Set temp_loc1 = (Position of temp_unit)
-
Custom script: set udg_temp_zloc1 = GetLocationZ(udg_temp_loc1)
-
Set temp_height = (Current flying height of temp_unit)
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
And - All (Conditions) are true
-
Conditions
-
temp_zloc1 Less than 1.00
-
temp_height Less than 1.00
-
-
-
-
Then - Actions
-
Unit - Explode temp_unit
-
-
Else - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
temp_height Greater than 1.00
-
-
Then - Actions
-
Set fall_speed[pnr] = (fall_speed[pnr] + 1.00)
-
Animation - Change temp_unit flying height to (temp_height - fall_speed[pnr]) at 0.00
-
Set temp_height = (Current flying height of temp_unit)
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
temp_height Less than or equal to 1.00
-
-
Then - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
fall_speed[pnr] Greater than (25.00 + jump_strenght[pnr])
-
-
Then - Actions
-
Unit - Set life of temp_unit to ((Life of temp_unit) - (Square root(((fall_speed[pnr] - 25.00) - jump_strenght[pnr]))))
-
-
Else - Actions
-
-
-
Else - Actions
-
-
-
Else - Actions
-
Set fall_speed[pnr] = 0.00
-
-
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
moving[pnr] Equal to True
-
-
Then - Actions
-
Set temp_loc2 = (temp_loc1 offset by run_speed[pnr] towards (Facing of temp_unit) degrees)
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(region_heightblok1 contains temp_loc2) Equal to True
-
-
Then - Actions
-
Set temp_max_lenght = global_heightblokker1
-
-
Else - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(region_heightblok2 contains temp_loc2) Equal to True
-
-
Then - Actions
-
Set temp_max_lenght = global_heightblokker2
-
-
Else - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(region_heightblok3 contains temp_loc2) Equal to True
-
-
Then - Actions
-
Set temp_max_lenght = global_heightblokker3
-
-
Else - Actions
-
Set temp_max_lenght = 90000.00
-
-
-
-
-
-
-
Custom script: set udg_temp_zloc2 = GetLocationZ(udg_temp_loc2)
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
And - All (Conditions) are true
-
Conditions
-
(temp_zloc1 + temp_height) Greater than or equal to (temp_zloc2 - 20.00)
-
(temp_height + lenght[pnr]) Less than temp_max_lenght
-
-
-
-
Then - Actions
-
Set tempX = (X of temp_loc2)
-
Set tempY = (Y of temp_loc2)
-
Custom script: call SetUnitX(udg_temp_unit, udg_tempX)
-
Custom script: call SetUnitY(udg_temp_unit, udg_tempY)
-
Animation - Change temp_unit flying height to (temp_height + (temp_zloc1 - temp_zloc2)) at 0.00
-
-
Else - Actions
-
-
Custom script: call RemoveLocation(udg_temp_loc2)
-
-
Else - Actions
-
-
Camera - Set (Owner of temp_unit)'s camera Rotation to (Facing of temp_unit) over 0.00 seconds
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
temp_height Less than 1.00
-
-
Then - Actions
-
Camera - Set (Owner of temp_unit)'s camera Height Offset to (temp_zloc1 + 200.00) over 0.00 seconds
-
-
Else - Actions
-
-
-
-
Custom script: call RemoveLocation(udg_temp_loc1)
-
-
-
-