- Joined
- Nov 18, 2012
- Messages
- 272
I created a Jump System and, whatever I do, it ends up with the unit not landing to the perfect landing height (It's always 0.09 or 0.10 from the ground). This is quite a problem since some triggers require exact numbers.
What causes the problem? Leaks? Error in code?
Edit:Here's the code:
What causes the problem? Leaks? Error in code?
Edit:Here's the code:
-
Acttual Jump
-
Events
- Time - Every 0.02 seconds of game time
- Conditions
-
Actions
-
For each (Integer J_Int) from 1 to J_MaxInts, do (Actions)
-
Loop - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- J_JumpHeight[J_Int] Less than J_MaxJumpHeight[J_Int]
-
Then - Actions
- Set J_JumpHeight[J_Int] = (J_JumpHeight[J_Int] + ((J_MaxJumpHeight[J_Int] + J_JumpLandingHeight[J_Int]) x (J_JumpTimer[J_Int] x 0.02)))
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- J_JumpHeight[J_Int] Equal to J_JumpLandingHeight[J_Int]
-
Then - Actions
- Set J_JumpHeight[J_Int] = (J_JumpHeight[J_Int] + 1.00)
- Else - Actions
-
If - Conditions
- Unit - Move J_JumpingUnit[J_Int] instantly to ((Position of J_JumpingUnit[J_Int]) offset by (J_JumpDistance[J_Int] x (J_JumpTimer[J_Int] / 100.00)) towards J_JumpAngle[J_Int] degrees)
- Animation - Change J_JumpingUnit[J_Int] flying height to (J_Default[J_Int] + J_JumpHeight[J_Int]) at 1000.00
- Animation - Play J_JumpingUnit[J_Int]'s walk animation
-
Else - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- J_JumpHeight[J_Int] Greater than or equal to J_MaxJumpHeight[J_Int]
- J_JumpHeight[J_Int] Less than (J_MaxJumpHeight[J_Int] x 2.00)
-
Then - Actions
- Set J_JumpHeight[J_Int] = (J_JumpHeight[J_Int] + (J_MaxJumpHeight[J_Int] x (J_JumpTimer[J_Int] x 0.02)))
- Unit - Move J_JumpingUnit[J_Int] instantly to ((Position of J_JumpingUnit[J_Int]) offset by (J_JumpDistance[J_Int] x (J_JumpTimer[J_Int] / 100.00)) towards J_JumpAngle[J_Int] degrees)
- Animation - Change J_JumpingUnit[J_Int] flying height to ((J_MaxJumpHeight[J_Int] + J_JumpLandingHeight[J_Int]) - (J_JumpHeight[J_Int] - (J_MaxJumpHeight[J_Int] + (Default flying height of J_JumpingUnit[J_Int])))) at 1000.00
-
Else - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- J_JumpHeight[J_Int] Greater than or equal to (J_MaxJumpHeight[J_Int] x 2.00)
-
Then - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (Current flying height of J_JumpingUnit[J_Int]) Greater than (J_JumpHeight[J_Int] - 1.00)
- (Current flying height of J_JumpingUnit[J_Int]) Less than (J_JumpHeight[J_Int] + 1.00)
-
Then - Actions
- Unit - Turn collision for J_JumpingUnit[J_Int] Off
- Unit Group - Remove J_JumpingUnit[J_Int] from J_Jumpers
- Set J_JumpingUnit[J_Int] = No unit
- Game - Display to (All players) the text: Boop
-
Else - Actions
- Animation - Change J_JumpingUnit[J_Int] flying height to J_JumpLandingHeight[J_Int] at 1000.00
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Else - Actions
- Do nothing
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- J_JumpingUnit[J_Int] Equal to No unit
- J_Int Equal to J_MaxInts
-
Then - Actions
- Set J_MaxInts = (J_MaxInts - 1)
- Set J_JumpHeight[J_Int] = 0.00
- Set J_JumpingUnit[J_MaxInts] = No unit
- Set J_JumpLandingHeight[J_Int] = 0.00
- Set J_MaxJumpHeight[J_Int] = 0.00
- Set J_Default[J_Int] = 0.00
- Set J_JumpAngle[J_Int] = 0.00
- Set J_JumpDistance[J_Int] = 0.00
- Set J_JumpPoint[J_MaxInts] = (R_Point offset by ((Current movement speed of (Picked unit)) / 1.00) towards J_JumpAngle[J_MaxInts] degrees)
- Custom script: call RemoveLocation (udg_J_JumpPoint[udg_J_Int])
-
Else - Actions
- Do nothing
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Loop - Actions
-
For each (Integer J_Int) from 1 to J_MaxInts, do (Actions)
-
Events