• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Pause Action

Status
Not open for further replies.
Level 5
Joined
Jun 14, 2009
Messages
106
I have created a system which incorporates Paladon's Jump system in it and allows you to jump from tree to tree. It works, but I have only one problem, I want the unit to be paused while jumping on trees and unpaused only when he gets down from the trees altogether.

For some reason this is not happening even though I pause the unit at the start and unpause it only after it comes down again. So here is my question. Are there other ways besides the Unpause Unit action how to unpause a paused unit?
 
Level 30
Joined
Nov 29, 2012
Messages
6,637
I have created a system which incorporates Paladon's Jump system in it and allows you to jump from tree to tree. It works, but I have only one problem, I want the unit to be paused while jumping on trees and unpaused only when he gets down from the trees altogether.

For some reason this is not happening even though I pause the unit at the start and unpause it only after it comes down again. So here is my question. Are there other ways besides the Unpause Unit action how to unpause a paused unit?

Set its animation speed to 0% but you should show the trigger for further help.
 
Level 5
Joined
Jun 14, 2009
Messages
106
No no, you have misunderstood me. What I want to know is how my unit is getting unpaused without me using the Unpause Unit action. So I'm asking if there is a another way to unpause a unit, so I can find it in my triggers and correct it (its probably somewhere in Paladon's system, that's why I haven't found it). Sorry if my first post wasn't clear about this.
 
Level 6
Joined
Feb 5, 2012
Messages
1,685
Yes you can Pause and Unpause unit..

Just remember..

Make it MUI!

Look at BnG spells all of them are GUI coded yet they don't cause error even they dont have cooldown..

I have encountered that problem also and i found out that making it MUI will solve the problem..

I suggest also to use Stop instead of Pause.. there are some warcraft buffs that go buggy after the unit is paused..
 
Level 5
Joined
Jun 14, 2009
Messages
106
Guys, the problem is that I am making a system where if someone orders a unit to move or cast an ability, it gets glitchy. So I want to eliminate that completely by pausing the unit. I'll upload the triggers later on today so you can see them, cause I can't right now.
 
Level 5
Joined
Jun 14, 2009
Messages
106
Here are the triggers:


  • Jump Selection
    • Events
      • Player - Player 1 (Red) Selects a unit
    • Conditions
    • Actions
      • 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
          • Set PotentialJumper = (Triggering unit)
        • Else - Actions
          • Set PotentialJumper = No unit
  • Jump Order
    • Events
      • Player - Player 1 (Red) skips a cinematic sequence
    • Conditions
    • Actions
      • Unit - Order PotentialJumper to Special - Channel
  • Initial Jump
    • Events
      • Unit - A unit Begins casting an ability
    • Conditions
      • (Ability being cast) Equal to Tree Jumping
      • BossFightSwitch Equal to 0
    • Actions
      • Trigger - Turn off (This trigger)
      • Trigger - Turn off Jump Order <gen>
      • Set TreeJumper = (Casting unit)
      • Set TreeJumperOwner = (Owner of TreeJumper)
      • Unit - Pause TreeJumper
      • Destructible - Pick every destructible within 400.00 of (Position of TreeJumper) and do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Destructible-type of (Picked destructible)) Equal to Konoha Tree Wall
            • Then - Actions
              • Set EligibleTreeCount = (EligibleTreeCount + 1)
              • Set EligibleTree[EligibleTreeCount] = (Picked destructible)
            • Else - Actions
              • Do nothing
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • EligibleTreeCount Equal to 0
        • Then - Actions
          • Quest - Display to (All players) the Warning message: There are no large ...
          • Unit - Order (Casting unit) to Stop
          • Trigger - Turn on (This trigger)
          • Trigger - Turn on Jump Order <gen>
          • Unit - Unpause TreeJumper
          • Skip remaining actions
        • Else - Actions
          • Do nothing
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • EligibleTreeCount Greater than 0
        • Then - Actions
          • Set InitialTree = EligibleTree[(Random integer number between 1 and EligibleTreeCount)]
          • Set NextTreePosition = (Position of InitialTree)
        • Else - Actions
          • Do nothing
      • Set JDA_JumpHigh_Distance = 1.00
      • Set JDA_DestroyTrees_Dash = False
      • Set JDA_Collusion = False
      • Set JDA_TargetPoint = NextTreePosition
      • Set JDA_Unit = TreeJumper
      • Set JDA_Speed = 15.00
      • Set JDA_SpecialEffect = <Empty String>
      • Set JDA_Animation = walk
      • Set JDA_AnimationSpeed = 0.80
      • Trigger - Turn on Initial Landing <gen>
      • Trigger - Run Jump System 1 <gen> (checking conditions)
      • Sound - Play Naruto_leap_whoosh2 <gen>
  • Initial Landing
    • Events
      • Time - Every 0.02 seconds of game time
    • Conditions
    • Actions
      • Set DistanceFromTree = (Distance between (Position of TreeJumper) and (Position of InitialTree))
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • DistanceFromTree Less than 50.00
        • Then - Actions
          • Trigger - Turn off (This trigger)
          • Set CurrentTree = InitialTree
          • Set CurrentTreePosition = (Position of CurrentTree)
          • Destructible - Make CurrentTree Invulnerable
          • Camera - Set TreeJumperOwner's camera Far Z to 5000.00 over 0.00 seconds
          • Camera - Set TreeJumperOwner's camera Height Offset to 810.00 over 0.00 seconds
          • Camera - Set TreeJumperOwner's camera Angle of attack to 338.00 over 0.00 seconds
          • Camera - Set TreeJumperOwner's camera Distance to target to 1650.00 over 0.00 seconds
          • Camera - Set TreeJumperOwner's camera Field of view to 60.00 over 0.00 seconds
          • Camera - Lock camera target for TreeJumperOwner to TreeJumper, offset by (0.00, 0.00) using Default rotation
          • Camera - Set TreeJumperOwner's camera Rotation to ((Facing of TreeJumper) + 0.00) over 0.00 seconds
          • Visibility - Create an initially Enabled visibility modifier for TreeJumperOwner emitting Visibility from CurrentTreePosition to a radius of 5000.00
          • Set LandingVisibility = (Last created visibility modifier)
          • Set TreeJumperFacing = ((Facing of TreeJumper) + 0.00)
          • Trigger - Turn on Directing Jump Left <gen>
          • Trigger - Turn on Directing Jump Right <gen>
          • Trigger - Turn on Tree Chooser <gen>
          • Trigger - Turn on Forward Tree Jumping <gen>
          • Trigger - Turn on Jump Down <gen>
          • Set EligibleTreeCount = 0
        • Else - Actions
          • Do nothing
  • Directing Jump Left
    • Events
      • Player - Player 1 (Red) Presses the Left Arrow key
    • Conditions
    • Actions
      • Set TreeJumperFacing = ((Facing of TreeJumper) + 5.00)
      • Unit - Make TreeJumper face TreeJumperFacing over 0.00 seconds
      • Camera - Set TreeJumperOwner's camera Rotation to TreeJumperFacing over 0.50 seconds
  • Directing Jump Right
    • Events
      • Player - Player 1 (Red) Presses the Right Arrow key
    • Conditions
    • Actions
      • Set TreeJumperFacing = ((Facing of TreeJumper) - 5.00)
      • Unit - Make TreeJumper face TreeJumperFacing over 0.00 seconds
      • Camera - Set TreeJumperOwner's camera Rotation to TreeJumperFacing over 0.50 seconds
  • Tree Chooser
    • Events
      • Time - Every 0.08 seconds of game time
    • Conditions
    • Actions
      • Set EligibleTreeCount = 0
      • Set NearbyTreeCount = 0
      • Set LowestDistance = 0.00
      • Set ClosestTree = No destructible
      • Animation - Play NextTree's stand animation
      • Set NextTree = No destructible
      • -------- First Pick --------
      • Set TreeCheckerPoint = (CurrentTreePosition offset by 250.00 towards TreeJumperFacing degrees)
      • Destructible - Pick every destructible within 300.00 of TreeCheckerPoint and do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Destructible-type of (Picked destructible)) Equal to Konoha Tree Wall
              • (Picked destructible) Not equal to CurrentTree
              • ((Picked destructible) is alive) Equal to True
            • Then - Actions
              • Set EligibleTreeCount = (EligibleTreeCount + 1)
              • Set EligibleTree[EligibleTreeCount] = (Picked destructible)
            • Else - Actions
              • Do nothing
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • EligibleTreeCount Equal to 1
        • Then - Actions
          • Set NextTree = EligibleTree[EligibleTreeCount]
          • Set NextTreePosition = (Position of NextTree)
          • Animation - Play NextTree's stand hit animation
          • Skip remaining actions
        • Else - Actions
          • Do nothing
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • EligibleTreeCount Greater than 1
        • Then - Actions
          • Destructible - Pick every destructible within 300.00 of TreeCheckerPoint and do (Actions)
            • Loop - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Destructible-type of (Picked destructible)) Equal to Konoha Tree Wall
                  • (Picked destructible) Not equal to CurrentTree
                  • ((Picked destructible) is alive) Equal to True
                • Then - Actions
                  • Set NearbyTreeCount = (NearbyTreeCount + 1)
                  • Set EligibleTree[NearbyTreeCount] = (Picked destructible)
                  • Set TreeDistanceChecker[NearbyTreeCount] = (Distance between TreeCheckerPoint and (Position of EligibleTree[NearbyTreeCount]))
                • Else - Actions
                  • Do nothing
          • For each (Integer A) from 1 to NearbyTreeCount, do (Actions)
            • Loop - Actions
              • For each (Integer B) from 1 to NearbyTreeCount, do (Actions)
                • Loop - Actions
                  • Set DistanceDifference = (TreeDistanceChecker[(Integer A)] - TreeDistanceChecker[(Integer B)])
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • DistanceDifference Less than LowestDistance
                    • Then - Actions
                      • Set ClosestTree = EligibleTree[(Integer A)]
                    • Else - Actions
                      • Do nothing
          • Set NextTree = ClosestTree
          • Set NextTreePosition = (Position of NextTree)
          • Animation - Play NextTree's stand hit animation
          • Skip remaining actions
        • Else - Actions
          • Do nothing
      • -------- Second Pick --------
      • Set TreeCheckerPoint = (CurrentTreePosition offset by 750.00 towards TreeJumperFacing degrees)
      • Destructible - Pick every destructible within 500.00 of TreeCheckerPoint and do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Destructible-type of (Picked destructible)) Equal to Konoha Tree Wall
              • (Picked destructible) Not equal to CurrentTree
              • ((Picked destructible) is alive) Equal to True
            • Then - Actions
              • Set EligibleTreeCount = (EligibleTreeCount + 1)
              • Set EligibleTree[EligibleTreeCount] = (Picked destructible)
            • Else - Actions
              • Do nothing
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • EligibleTreeCount Equal to 1
        • Then - Actions
          • Set NextTree = EligibleTree[EligibleTreeCount]
          • Set NextTreePosition = (Position of NextTree)
          • Animation - Play NextTree's stand hit animation
          • Skip remaining actions
        • Else - Actions
          • Do nothing
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • EligibleTreeCount Greater than 1
        • Then - Actions
          • Destructible - Pick every destructible within 500.00 of TreeCheckerPoint and do (Actions)
            • Loop - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Destructible-type of (Picked destructible)) Equal to Konoha Tree Wall
                  • (Picked destructible) Not equal to CurrentTree
                  • ((Picked destructible) is alive) Equal to True
                • Then - Actions
                  • Set NearbyTreeCount = (NearbyTreeCount + 1)
                  • Set EligibleTree[NearbyTreeCount] = (Picked destructible)
                  • Set TreeDistanceChecker[NearbyTreeCount] = (Distance between TreeCheckerPoint and (Position of EligibleTree[NearbyTreeCount]))
                • Else - Actions
                  • Do nothing
          • For each (Integer A) from 1 to NearbyTreeCount, do (Actions)
            • Loop - Actions
              • For each (Integer B) from 1 to NearbyTreeCount, do (Actions)
                • Loop - Actions
                  • Set DistanceDifference = (TreeDistanceChecker[(Integer A)] - TreeDistanceChecker[(Integer B)])
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • DistanceDifference Less than LowestDistance
                    • Then - Actions
                      • Set ClosestTree = EligibleTree[(Integer A)]
                    • Else - Actions
                      • Do nothing
          • Set NextTree = ClosestTree
          • Set NextTreePosition = (Position of NextTree)
          • Animation - Play NextTree's stand hit animation
          • Skip remaining actions
        • Else - Actions
          • Do nothing
      • -------- Third Pick --------
      • Set TreeCheckerPoint = (CurrentTreePosition offset by 1400.00 towards TreeJumperFacing degrees)
      • Destructible - Pick every destructible within 800.00 of TreeCheckerPoint and do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Destructible-type of (Picked destructible)) Equal to Konoha Tree Wall
              • (Picked destructible) Not equal to CurrentTree
              • ((Picked destructible) is alive) Equal to True
            • Then - Actions
              • Set EligibleTreeCount = (EligibleTreeCount + 1)
              • Set EligibleTree[EligibleTreeCount] = (Picked destructible)
            • Else - Actions
              • Do nothing
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • EligibleTreeCount Equal to 1
        • Then - Actions
          • Set NextTree = EligibleTree[EligibleTreeCount]
          • Set NextTreePosition = (Position of NextTree)
          • Animation - Play NextTree's stand hit animation
          • Skip remaining actions
        • Else - Actions
          • Do nothing
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • EligibleTreeCount Greater than 1
        • Then - Actions
          • Destructible - Pick every destructible within 800.00 of TreeCheckerPoint and do (Actions)
            • Loop - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Destructible-type of (Picked destructible)) Equal to Konoha Tree Wall
                  • (Picked destructible) Not equal to CurrentTree
                  • ((Picked destructible) is alive) Equal to True
                • Then - Actions
                  • Set NearbyTreeCount = (NearbyTreeCount + 1)
                  • Set EligibleTree[NearbyTreeCount] = (Picked destructible)
                  • Set TreeDistanceChecker[NearbyTreeCount] = (Distance between TreeCheckerPoint and (Position of EligibleTree[NearbyTreeCount]))
                • Else - Actions
                  • Do nothing
          • For each (Integer A) from 1 to NearbyTreeCount, do (Actions)
            • Loop - Actions
              • For each (Integer B) from 1 to NearbyTreeCount, do (Actions)
                • Loop - Actions
                  • Set DistanceDifference = (TreeDistanceChecker[(Integer A)] - TreeDistanceChecker[(Integer B)])
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • DistanceDifference Less than LowestDistance
                    • Then - Actions
                      • Set ClosestTree = EligibleTree[(Integer A)]
                    • Else - Actions
                      • Do nothing
          • Set NextTree = ClosestTree
          • Set NextTreePosition = (Position of NextTree)
          • Animation - Play NextTree's stand hit animation
          • Skip remaining actions
        • Else - Actions
          • Do nothing
  • Tree Chooser Reseter
    • Events
    • Conditions
    • Actions
      • Set EligibleTreeCount = 0
      • Set NearbyTreeCount = 0
      • Set LowestDistance = 0.00
      • Set ClosestTree = No destructible
      • Animation - Play NextTree's stand animation
      • Set NextTree = No destructible
  • Forward Tree Jumping
    • Events
      • Player - Player 1 (Red) Presses the Up Arrow key
    • Conditions
    • Actions
      • If (NextTree Equal to No destructible) then do (Skip remaining actions) else do (Do nothing)
      • Trigger - Turn off (This trigger)
      • Set BackJumpCheck = 1
      • Set ChosenTree = NextTree
      • Set NextTreeJumpPosition = (Position of ChosenTree)
      • Set PreviousTree = CurrentTree
      • Destructible - Make CurrentTree Vulnerable
      • Destructible - Make ChosenTree Invulnerable
      • Set JDA_JumpHigh_Distance = 1.00
      • Set JDA_DestroyTrees_Dash = False
      • Set JDA_Collusion = False
      • Set JDA_TargetPoint = NextTreeJumpPosition
      • Set JDA_Unit = TreeJumper
      • Set JDA_Speed = 15.00
      • Set JDA_SpecialEffect = <Empty String>
      • Set JDA_Animation = walk
      • Set JDA_AnimationSpeed = 0.80
      • Trigger - Run Jump System 1 <gen> (checking conditions)
      • Trigger - Turn on Tree Landing <gen>
      • Trigger - Turn off Directing Jump Left <gen>
      • Trigger - Turn off Directing Jump Right <gen>
      • Trigger - Turn off Tree Chooser <gen>
      • Trigger - Run Tree Chooser Reseter <gen> (ignoring conditions)
      • Sound - Play Naruto_leap_whoosh2 <gen>
  • Backwards Tree Jumping
    • Events
      • Player - Player 1 (Red) Presses the Down Arrow key
    • Conditions
    • Actions
      • If (BackJumpCheck Equal to 0) then do (Skip remaining actions) else do (Do nothing)
      • Trigger - Turn off (This trigger)
      • Set BackJumpCheck = 0
      • Set ChosenTree = PreviousTree
      • Set NextTreeJumpPosition = (Position of ChosenTree)
      • Set JDA_JumpHigh_Distance = 1.00
      • Set JDA_DestroyTrees_Dash = False
      • Set JDA_Collusion = False
      • Set JDA_TargetPoint = NextTreeJumpPosition
      • Set JDA_Unit = TreeJumper
      • Set JDA_Speed = 15.00
      • Set JDA_SpecialEffect = <Empty String>
      • Set JDA_Animation = walk
      • Set JDA_AnimationSpeed = 0.80
      • Trigger - Run Jump System 1 <gen> (checking conditions)
      • Trigger - Turn on Tree Landing <gen>
      • Trigger - Turn off Directing Jump Left <gen>
      • Trigger - Turn off Directing Jump Right <gen>
      • Trigger - Turn off Tree Chooser <gen>
      • Trigger - Run Tree Chooser Reseter <gen> (ignoring conditions)
      • Sound - Play Naruto_leap_whoosh2 <gen>
  • Tree Landing
    • Events
      • Time - Every 0.02 seconds of game time
    • Conditions
    • Actions
      • Set DistanceFromTree = (Distance between (Position of TreeJumper) and (Position of ChosenTree))
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • DistanceFromTree Less than 50.00
        • Then - Actions
          • Trigger - Turn off (This trigger)
          • Set CurrentTree = ChosenTree
          • Set CurrentTreePosition = (Position of CurrentTree)
          • Set ChosenTree = No destructible
          • Visibility - Disable LandingVisibility
          • Visibility - Destroy LandingVisibility
          • Visibility - Create an initially Enabled visibility modifier for TreeJumperOwner emitting Visibility from CurrentTreePosition to a radius of 5000.00
          • Set LandingVisibility = (Last created visibility modifier)
          • Set TreeJumperFacing = ((Facing of TreeJumper) + 0.00)
          • Wait 0.50 seconds
          • Unit - Pause TreeJumper
          • Trigger - Turn on Directing Jump Left <gen>
          • Trigger - Turn on Directing Jump Right <gen>
          • Trigger - Turn on Tree Chooser <gen>
          • Trigger - Turn on Forward Tree Jumping <gen>
          • Trigger - Turn on Backwards Tree Jumping <gen>
          • Set EligibleTreeCount = 0
        • Else - Actions
          • Do nothing
  • Jump Down
    • Events
      • Player - Player 1 (Red) skips a cinematic sequence
    • Conditions
    • Actions
      • Trigger - Turn off (This trigger)
      • Set JDA_JumpHigh_Distance = 1.00
      • Set JDA_DestroyTrees_Dash = False
      • Set JDA_Collusion = False
      • Set JDA_TargetPoint = ((Position of TreeJumper) offset by 400.00 towards (Facing of TreeJumper) degrees)
      • Set JDA_Unit = TreeJumper
      • Set JDA_Speed = 15.00
      • Set JDA_SpecialEffect = <Empty String>
      • Set JDA_Animation = walk
      • Set JDA_AnimationSpeed = 0.80
      • Destructible - Make CurrentTree Vulnerable
      • Trigger - Run Jump System 1 <gen> (checking conditions)
      • Camera - Reset camera for TreeJumperOwner to standard game-view over 0.00 seconds
      • Visibility - Disable LandingVisibility
      • Visibility - Destroy LandingVisibility
      • Trigger - Turn off Forward Tree Jumping <gen>
      • Trigger - Turn off Backwards Tree Jumping <gen>
      • Trigger - Turn off Tree Chooser <gen>
      • Trigger - Turn off Directing Jump Left <gen>
      • Trigger - Turn off Directing Jump Right <gen>
      • Trigger - Turn on Initial Jump <gen>
      • Trigger - Turn on Jump Order <gen>
      • Unit - Unpause TreeJumper
      • Sound - Play Naruto_leap_whoosh2 <gen>
      • Set EligibleTreeCount = 0
      • Wait 1.00 seconds
      • Trigger - Turn on Jump Order <gen>
  • Jump System 1
    • Events
    • Conditions
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • JD_Integers[1] Equal to 0
        • Then - Actions
          • Trigger - Turn on Jump System 2 <gen>
        • Else - Actions
      • Set JD_Integers[1] = (JD_Integers[1] + 1)
      • Set JD_Integers[2] = (JD_Integers[2] + 1)
      • Set JD_TempPoint[1] = (Position of JDA_Unit)
      • Set JD_Distances[JD_Integers[2]] = (Distance between JD_TempPoint[1] and JDA_TargetPoint)
      • Set JD_ReachedDistance[JD_Integers[2]] = 0.00
      • Set JD_SpeedUnits[JD_Integers[2]] = JDA_Speed
      • Set JD_Unit[JD_Integers[2]] = JDA_Unit
      • Set JD_Angle[JD_Integers[2]] = (Angle from JD_TempPoint[1] to JDA_TargetPoint)
      • Set JD_Effect[JD_Integers[2]] = JDA_SpecialEffect
      • Set JD_Animations[JD_Integers[2]] = JDA_Animation
      • Set JD_TreesDestroy[JD_Integers[2]] = JDA_DestroyTrees_Dash
      • Set JD_HighSettings[JD_Integers[2]] = (JDA_JumpHigh_Distance x JD_Distances[JD_Integers[2]])
      • Unit - Turn collision for JDA_Unit Off
      • Animation - Change JDA_Unit's animation speed to (JDA_AnimationSpeed x 100.00)% of its original speed
      • Animation - Play JDA_Unit's JDA_Animation animation
      • Unit Group - Add JDA_Unit to JD_Group
      • Unit - Add Storm Crow Form to JDA_Unit
      • Unit - Remove Storm Crow Form from JDA_Unit
      • Custom script: call RemoveLocation (udg_JD_TempPoint[1])
      • Custom script: call RemoveLocation (udg_JDA_TargetPoint)
  • Jump System 2
    • Events
      • Time - Every 0.02 seconds of game time
    • Conditions
    • Actions
      • For each (Integer JD_Integers[3]) from 1 to JD_Integers[2], do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (JD_Unit[JD_Integers[3]] is in JD_Group) Equal to True
            • Then - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • JD_ReachedDistance[JD_Integers[3]] Less than JD_Distances[JD_Integers[3]]
                • Then - Actions
                  • Unit - Add Spell Immunity to JD_Unit[JD_Integers[3]]
                  • Animation - Queue JD_Unit[JD_Integers[3]]'s JD_Animations[JD_Integers[3]] animation
                  • Set JD_TempPoint[1] = (Position of JD_Unit[JD_Integers[3]])
                  • Set JD_TempPoint[2] = (JD_TempPoint[1] offset by JD_SpeedUnits[JD_Integers[3]] towards JD_Angle[JD_Integers[3]] degrees)
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • JD_TreesDestroy[JD_Integers[3]] Equal to True
                    • Then - Actions
                      • Destructible - Pick every destructible within 150.00 of JD_TempPoint[2] and do (Destructible - Kill (Picked destructible))
                    • Else - Actions
                  • Unit - Move JD_Unit[JD_Integers[3]] instantly to JD_TempPoint[2]
                  • Set JD_ReachedDistance[JD_Integers[3]] = (JD_ReachedDistance[JD_Integers[3]] + JD_SpeedUnits[JD_Integers[3]])
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • (Random integer number between 1 and 5) Equal to 1
                    • Then - Actions
                      • Special Effect - Create a special effect attached to the chest of JD_Unit[JD_Integers[3]] using JD_Effect[JD_Integers[3]]
                      • Special Effect - Destroy (Last created special effect)
                    • Else - Actions
                  • Set JD_RealTimer[JD_Integers[3]] = (JD_RealTimer[JD_Integers[3]] + (180.00 / (JD_Distances[JD_Integers[3]] / JD_SpeedUnits[JD_Integers[3]])))
                  • Set JD_JumpHigh[JD_Integers[3]] = ((Sin(JD_RealTimer[JD_Integers[3]])) x JD_HighSettings[JD_Integers[3]])
                  • Animation - Change JD_Unit[JD_Integers[3]] flying height to JD_JumpHigh[JD_Integers[3]] at 1000000000.00
                  • Custom script: call RemoveLocation (udg_JD_TempPoint[1])
                  • Custom script: call RemoveLocation (udg_JD_TempPoint[2])
                • Else - Actions
                  • Unit - Turn collision for JD_Unit[JD_Integers[3]] On
                  • Unit Group - Remove JD_Unit[JD_Integers[3]] from JD_Group
                  • Unit - Remove Spell Immunity from JD_Unit[JD_Integers[3]]
                  • Animation - Change JD_Unit[JD_Integers[3]]'s animation speed to 100.00% of its original speed
                  • Animation - Reset JD_Unit[JD_Integers[3]]'s animation
                  • Set JD_RealTimer[JD_Integers[3]] = 0.00
                  • Set JD_Integers[1] = (JD_Integers[1] - 1)
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • (Unit-type of JD_Unit[JD_Integers[3]]) Equal to Shadow Clone Missile
                    • Then - Actions
                      • Unit - Cause SCMissileCaster to damage circular area after 0.00 seconds of radius 100.00 at (Position of JD_Unit[JD_Integers[3]]), dealing 320.00 damage of attack type Chaos and damage type Normal
                      • Special Effect - Create a special effect at (Position of JD_Unit[JD_Integers[3]]) using war3campImported\shadowclone.mdx
                      • Special Effect - Destroy (Last created special effect)
                      • Unit - Remove JD_Unit[JD_Integers[3]] from the game
                    • Else - Actions
                      • Do nothing
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • (Unit-type of JD_Unit[JD_Integers[3]]) Equal to Fire Dragon Missile
                    • Then - Actions
                      • Unit - Cause FireDragonCaster to damage circular area after 0.00 seconds of radius 140.00 at (Position of JD_Unit[JD_Integers[3]]), dealing (280.00 x (Real((Level of Fire Style: Fire Dragon Jutsu for FireDragonCaster)))) damage of attack type Chaos and damage type Fire
                      • Special Effect - Create a special effect at (Position of JD_Unit[JD_Integers[3]]) using Abilities\Spells\Human\FlameStrike\FlameStrike1.mdl
                      • Unit - Kill JD_Unit[JD_Integers[3]]
                    • Else - Actions
                      • Do nothing
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • JD_Integers[1] Equal to 0
                    • Then - Actions
                      • Set JD_Integers[2] = 0
                      • Trigger - Turn off (This trigger)
                    • Else - Actions
            • Else - Actions


The last two triggers are Paladon's Jump System. Of all these triggers only the following are turned on before the system is initiated by the player:
Jump Selection
Jump Order
Initial Jump
Tree Chooser Reseter
Jump System 1

The rest are all turned off.

Here is a video of the system:


What I want is for the unit to be paused while it is jumping on the trees and only unpause once he has jumped down.
 
Level 29
Joined
Oct 24, 2012
Messages
6,543
some fixes.

change casting unit to triggering unit.
get rid of the do nothing actions. They are completely useless.
u should store the units starting height at the beginning of the trigger then after its done jumping set it back to its original height.
u need to redo half the system as the indexing / de-indexing is an outdated method and shouldnt be used anymore as it is very inefficient. my tutorial shows how to properly index/de-index http://www.hiveworkshop.com/forums/tutorial-submission-283/things-gui-user-should-know-233242/ basically with the indexing method ur using u loop through all the unused indexes. With the method in my tutorial that will never happen
in ur jump down trigger u dont need the wait action.
get rid of integer A and integer B and make ur own integer and use that as they are more efficient
 
Level 5
Joined
Jun 14, 2009
Messages
106
Thanks for the advice, however these fixes don't help me solve my most pressing problem. Have you found any clue as to why the unit is becoming unpaused?

Also, I am not touching the height of the unit in the triggers. The height is changed only becuase I made those large trees walkable. And the wait action in the Jump Down trigger is only used to give the unit enough time to run Paladon's system before reactivating the entire system again. This avoids a possible fatal bug which may occur if the user presses Escape twice in quick succession.

And about indexing, are you referring to the Tree Chooser trigger? Because the integers are being recycled at the start of the trigger so I don't think that empty indexes are being looped. Or do you mean that I didn't delete obsolete array indexes?
 
Level 29
Joined
Oct 24, 2012
Messages
6,543
ooo when i saw jump system i thought of the units jumping lol.

put a messaage in here this may be firing unwantedly
  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
  • If - Conditions
  • EligibleTreeCount Equal to 0
  • Then - Actions
  • Quest - Display to (All players) the Warning message: There are no large ...
  • Unit - Order (Casting unit) to Stop
  • Trigger - Turn on (This trigger)
  • Trigger - Turn on Jump Order <gen>
  • Unit - Unpause TreeJumper
  • Skip remaining actions
  • Else - Actions
 
Level 5
Joined
Jun 14, 2009
Messages
106
There already is a message there, the quest message. And that part is a failsafe just in case someone activates the system with no trees nearby, so it shuts down the entire system (see the skip remaining actions). No the error is not coming from there, I checked.
 
Level 29
Joined
Oct 24, 2012
Messages
6,543
are u skipping the cinematic event ? that is the only other trigger i see with unpause.
if its not that it has to be one of the camera options or something like that.

Also just noticed u have a lot of location leaks.
u should make this more efficient and see if it still happens. it could be bugging up somewere and mube ull spot it when updating the trigger.
ill still look for the reason y its unpausing
 
Level 5
Joined
Jun 14, 2009
Messages
106
Yes, skipping the cinematic event, starts the system. So you activate it by pressing escape and then jump down by pressing escape when you're ready. You use only arrow keys to jump from tree to tree.

Edit: This is getting curiouser and curiouser. I applied a Unit is Paused condition at the end of every trigger to check whether the unit is still paused. A each time, the value returned was that the unit is indeed paused. But it isn't!! I can still cast abilities and move it. What the heck is going on? Has my world editor gone mad?!
 
Last edited:
Level 5
Joined
Jun 14, 2009
Messages
106
That was the first thing I checked when I encountered this problem. If the unit variable is null, the unit won't be able to jump to the next tree after its first jump, but it can. So that is not the problem either. I have a feeling that I'm missing something very simple, so obvious that its staring me in the eye, but I still can't see it. Lol
 
Level 5
Joined
Jun 14, 2009
Messages
106
I guess you're right, even though that is my least favourite method for two reasons:
1. I didn't make Paladon's system so I don't want to mess with it too much just in case I mess it up.
2. I made this system over a year ago and realized about this bug now. I don't remember how I did it, so I'll have to understand the entire code again and how it all ties together.

I'll +rep you for your trouble and thanks anyway.

If anyone out there finds a solution please tell me.
 
Level 5
Joined
Jun 14, 2009
Messages
106
I've found the problem guys, or at least I think I did. Apparently you cannot pause units which are on walkable destructables. I confirmed this by making my unit jump onto a tree and then using a chat command to pause the unit. No matter how much I typed the message, the unit would not become paused, however the command worked when he was on the ground again.

This is probably some sort of world editor bug and now I have to find a way around it.
 
Level 5
Joined
Jun 14, 2009
Messages
106
No, I just confirmed that pause doesn't work cause I tried it when the unit was on a tree doing nothing. So instead I am deselecting the unit and making it unselectable. Besides, too many periodic triggers acting simultaneously cause lag.
 
Status
Not open for further replies.
Top