- Joined
- Apr 21, 2013
- Messages
- 1,194
I've got a little system where the program lets the player do some parkour moves when we are close to certain "units". I've tried an implementation of this but I think it can be improved. Anyways, naturally I have some problems again, here are my triggers, why does this trigger work as one shot? Am I missing something?
The problem is, when I first run into the obstacle the loop works just fine but it won't work after the first time.
Notes:
-isParkour boolean is to know if we are doing a parkour move in order not to mess up things
-isWalking boolean is to know if our character is running or walking. If he is walking he can't do parkour.
-The movespeed settings are for the movement system which are no problem for us in the loop or init.
Notes:
-The bottom if statement is working too, it is to get our character back to running or walking depending on his previous state.
Another question I can ask will be this; is there a way to get unit types to execute the parkour movements instead of making events for each of the units?
The problem is, when I first run into the obstacle the loop works just fine but it won't work after the first time.
Notes:
-isParkour boolean is to know if we are doing a parkour move in order not to mess up things
-isWalking boolean is to know if our character is running or walking. If he is walking he can't do parkour.
-The movespeed settings are for the movement system which are no problem for us in the loop or init.
-
Speed Vault
-
Events
-
Unit - A unit comes within 150.00 of Wooden Fence Unit 0021 <gen>
-
-
Conditions
-
And - All (Conditions) are true
-
Conditions
-
(Triggering unit) Equal to Achilles
-
isParkour Equal to False
-
-
-
-
Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
IsWalking Equal to False
-
-
Then - Actions
-
Set isParkour = True
-
Set moveSpeed = 0.00
-
Animation - Reset Achilles's animation
-
Custom script: call SetUnitAnimationByIndex(udg_Achilles, 142)
-
Trigger - Turn on Speed Vault Loop <gen>
-
-
Else - Actions
-
-
-
Notes:
-The bottom if statement is working too, it is to get our character back to running or walking depending on his previous state.
-
Speed Vault Loop
-
Events
-
Time - Every 0.03 seconds of game time
-
-
Conditions
-
Actions
-
Set parkLoc1 = (Position of Achilles)
-
Set parkLoc2 = (parkLoc1 offset by (322.00 x 0.03) towards (Facing of Achilles) degrees)
-
Unit - Move Achilles instantly to parkLoc2
-
Custom script: call RemoveLocation(udg_parkLoc1)
-
Custom script: call RemoveLocation(udg_parkLoc2)
-
Set speedVaultDist = (speedVaultDist + 3.00)
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
speedVaultDist Greater than or equal to 150.00
-
-
Then - Actions
-
Trigger - Turn off (This trigger)
-
Set isParkour = False
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
IsWalking Equal to True
-
-
Then - Actions
-
Set moveSpeed = 150.00
-
Custom script: call SetUnitAnimationByIndex(udg_Achilles, 1)
-
-
Else - Actions
-
Set moveSpeed = 322.00
-
Custom script: call SetUnitAnimationByIndex(udg_Achilles, 128)
-
-
-
-
Else - Actions
-
-
-
Another question I can ask will be this; is there a way to get unit types to execute the parkour movements instead of making events for each of the units?