• Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.
  • Create a faction for Warcraft 3 and enter Hive's 19th Techtree Contest: Co-Op Commanders! Click here to enter!
  • Create a void inspired texture for Warcraft 3 and enter Hive's 34th Texturing Contest: Void! Click here to enter!
  • The Hive's 21st Texturing Contest: Upgrade is now concluded, time to vote for your favourite set of icons! Click here to vote!

Runner dosen't walk on the road

Level 7
Joined
Aug 3, 2021
Messages
123
Hello its Pekisa7 again. Its about the runner again. He just dosen't run to the region i triggerd him to run to. When he gets to the redirect eas or redirect west he just goes and than stops near a tree or a cliff then goes back to were he came from. I created bread crubs for him but that dosen't work. Can someone help. Here are the triggers :
  • PathARedirect
    • Events
      • Unit - A unit enters RedirectWest <gen>
    • Conditions
      • (Entering unit) Equal to Runner
      • ExitCinematicRunning Equal to False
    • Actions
      • Set RunnerVariableTarget = RedirectWest <gen>
      • Unit - Order Runner to Move To (Center of RunnerVariableTarget)
      • Unit - Order Runner to Move To (Center of PathA01 <gen>)
      • Unit - Order Runner to Move To (Center of PathA02 <gen>)
      • Unit - Order Runner to Move To (Center of PathA03 <gen>)
      • Unit - Order Runner to Move To (Center of PathA04 <gen>)
      • Unit - Order Runner to Move To (Center of PathA05 <gen>)
      • Unit - Order Runner to Move To (Center of PathA06 <gen>)
      • Unit - Order Runner to Move To (Center of CenterPath <gen>)
      • Unit - Order Runner to Move To (Center of RunnerMoveTeleport <gen>)
      • For each (Integer A) from 1 to 8, do (Unit - Order Runner to Move To (Center of RunnerMoveTeleport <gen>))
      • Wait 2.00 seconds
      • Trigger - Turn off (This trigger)

  • PathBRedirect
    • Events
      • Unit - A unit enters RedirectEast <gen>
    • Conditions
      • (Entering unit) Equal to Runner
      • ExitCinematicRunning Equal to False
    • Actions
      • Set RunnerVariableTarget = RedirectEast <gen>
      • Unit - Order Runner to Move To (Center of RunnerVariableTarget)
      • Unit - Order Runner to Move To (Center of PathB01 <gen>)
      • Unit - Order Runner to Move To (Center of PathB02 <gen>)
      • Unit - Order Runner to Move To (Center of PathB03 <gen>)
      • Unit - Order Runner to Move To (Center of PathB04 <gen>)
      • Unit - Order Runner to Move To (Center of PathB05 <gen>)
      • Unit - Order Runner to Move To (Center of PathB06 <gen>)
      • Unit - Order Runner to Move To (Center of PathB07 <gen>)
      • Unit - Order Runner to Move To (Center of PathB08 <gen>)
      • Unit - Order Runner to Move To (Center of PathB09 <gen>)
      • Unit - Order Runner to Move To (Center of PathB010 <gen>)
      • Unit - Order Runner to Move To (Center of CenterPath <gen>)
      • Unit - Order Runner to Move To (Center of RunnerMoveTeleport <gen>)
      • For each (Integer A) from 1 to 12, do (Unit - Order Runner to Move To (Center of RunnerMoveTeleport <gen>))
      • Wait 2.00 seconds
      • Trigger - Turn off (This trigger)
 
Level 69
Joined
Jun 2, 2008
Messages
12,920
Im not a trigger head but doesn't it need if the runner goes to region 1, shouldn't there be a trigger after stating "then move to region 2" and so on.. because it seems that hes just moving towards one of them and then returning to his current location and not moving towards all the other paths you made.

I may be wrong but who knows.. I know theres ways you can make it be vJASS and LUA but im not sure how to do all that.

Im also thinking the runner just gets confused as there is so many regions to move to and no intervals in-between each of them.
 
Level 7
Joined
Aug 3, 2021
Messages
123
you are not queueing orders, you are overwriting single order. Runner will move to RunnerMoveTeleport <gen> as that is the last command you are issuing.
I deleted all path b and a triggers and left runner move teleport . He just stands there by a cliff and goes back.

Im not a trigger head but doesn't it need if the runner goes to region 1, shouldn't there be a trigger after stating "then move to region 2" and so on.. because it seems that hes just moving towards one of them and then returning to his current location and not moving towards all the other paths you made.

I may be wrong but who knows.. I know theres ways you can make it be vJASS and LUA but im not sure how to do all that.

Im also thinking the runner just gets confused as there is so many regions to move to and no intervals in-between each of them.
How to do those intevals and i dont think there are from to triggers.
 
Level 69
Joined
Jun 2, 2008
Messages
12,920
How to do those intevals and i dont think there are from to triggers.
Please put all your reply's in one post. But, im not too sure how to do it without being on ur map or on the editor as im at work at the moment. You could open a test map and implement those triggers into it and mess around with movement triggers are right now hes just going to 1 region and then returning to his original position it seems. You are missing the triggers that state " Go here" and/then "Once he hits region 1 then/move to region 2" and so on.
 

Uncle

Warcraft Moderator
Level 74
Joined
Aug 10, 2018
Messages
7,971
Here's a very basic system for creating "Waypoints" that a Unit will move between (Point 1 -> Point 2 -> Point 3, etc).
  • WS Initialize
    • Events
      • Time - Elapsed game time is 0.00 seconds
    • Conditions
    • Actions
      • Hashtable - Create a hashtable
      • Set WS_Hashtable = (Last created hashtable)
  • WS Get Next Waypoint
    • Events
      • Unit - A unit Begins casting an ability
    • Conditions
      • (Ability being cast) Equal to Move To Waypoint
    • Actions
      • Set WS_Unit = (Triggering unit)
      • Custom script: set udg_WS_Unit_Handle = udg_WS_Unit
      • -------- --------
      • Unit - Remove Move To Waypoint from WS_Unit
      • -------- --------
      • Set WS_Total_Waypoints = (Load -1 of (Key WS_Unit_Handle.) from WS_Hashtable.)
      • Set WS_Index = (Load 0 of (Key WS_Unit_Handle.) from WS_Hashtable.)
      • Set WS_Index = (WS_Index + 1)
      • Hashtable - Save WS_Index as 0 of (Key WS_Unit_Handle.) in WS_Hashtable.
      • -------- --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • WS_Index Less than or equal to WS_Total_Waypoints
        • Then - Actions
          • Unit - Add Move To Waypoint to WS_Unit
          • Set WS_Waypoints[0] = (Load WS_Index of (Key WS_Unit_Handle.) in WS_Hashtable.)
          • Unit - Order WS_Unit to Neutral Fire Lord - Volcano WS_Waypoints[0]
        • Else - Actions
          • For each (Integer WS_Index) from 1 to WS_Total_Waypoints, do (Actions)
            • Loop - Actions
              • Set WS_Waypoints[0] = (Load WS_Index of (Key WS_Unit_Handle.) in WS_Hashtable.)
              • Custom script: call RemoveLocation( udg_WS_Waypoints[0] )
          • Hashtable - Clear all child hashtables of child (Key WS_Unit_Handle.) in WS_Hashtable.
  • WS Order Unit To Move
    • Events
    • Conditions
    • Actions
      • Custom script: set udg_WS_Unit_Handle = udg_WS_Unit
      • -------- --------
      • Unit - Add Move To Waypoint to WS_Unit
      • -------- --------
      • Hashtable - Save WS_Total_Waypoints as -1 of (Key WS_Unit_Handle.) in WS_Hashtable.
      • Hashtable - Save 1 as 0 of (Key WS_Unit_Handle.) in WS_Hashtable.
      • -------- --------
      • For each (Integer WS_Index) from 1 to WS_Total_Waypoints, do (Actions)
        • Loop - Actions
          • Set WS_Waypoints[0] = (Load WS_Index of (Key WS_Unit_Handle.) in WS_Hashtable.)
          • Custom script: call RemoveLocation( udg_WS_Waypoints[0] )
          • Hashtable - Save Handle OfWS_Waypoints[WS_Index] as WS_Index of (Key WS_Unit_Handle.) in WS_Hashtable.
      • -------- --------
      • Unit - Order WS_Unit to Neutral Fire Lord - Volcano WS_Waypoints[1]
1752001178098.png

Here's an example of how to use the system:
  • Demo
    • Events
      • Player - Player 1 (Red) types a chat message containing test as An exact match
    • Conditions
    • Actions
      • Set WS_Unit = Runner
      • Set WS_Total_Waypoints = 4
      • Set WS_Waypoints[1] = (Center of PathB01 <gen>)
      • Set WS_Waypoints[2] = (Center of PathB02 <gen>)
      • Set WS_Waypoints[3] = (Center of PathB03 <gen>)
      • Set WS_Waypoints[4] = (Center of PathB04 <gen>)
      • Trigger - Run WS Order Unit To Move <gen> (ignoring conditions)
Here's the ability used in the triggers, it's based on the Channel ability.
1752001254907.png

The attached map requires the latest version of Warcraft 3 to open, but these triggers should work on just about any version.
 

Attachments

  • Simple Waypoint System 1.w3m
    19.8 KB · Views: 1
Last edited:
Level 7
Joined
Aug 3, 2021
Messages
123
Here's a very basic system for creating "Waypoints" for a Unit to move between (Point 1 -> Point 2 -> Point 3, etc).
  • WS Initialize
    • Events
      • Time - Elapsed game time is 0.00 seconds
    • Conditions
    • Actions
      • Hashtable - Create a hashtable
      • Set WS_Hashtable = (Last created hashtable)
  • WS Get Next Waypoint
    • Events
      • Unit - A unit Begins casting an ability
    • Conditions
      • (Ability being cast) Equal to Move To Waypoint
    • Actions
      • Set WS_Unit = (Triggering unit)
      • Custom script: set udg_WS_Unit_Handle = udg_WS_Unit
      • -------- --------
      • Unit - Remove Move To Waypoint from WS_Unit
      • -------- --------
      • Set WS_Total_Waypoints = (Load -1 of (Key WS_Unit_Handle.) from WS_Hashtable.)
      • Set WS_Index = (Load 0 of (Key WS_Unit_Handle.) from WS_Hashtable.)
      • Set WS_Index = (WS_Index + 1)
      • Hashtable - Save WS_Index as 0 of (Key WS_Unit_Handle.) in WS_Hashtable.
      • -------- --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • WS_Index Less than or equal to WS_Total_Waypoints
        • Then - Actions
          • Unit - Add Move To Waypoint to WS_Unit
          • Set WS_Waypoints[0] = (Load WS_Index of (Key WS_Unit_Handle.) in WS_Hashtable.)
          • Unit - Order WS_Unit to Neutral Fire Lord - Volcano WS_Waypoints[0]
        • Else - Actions
          • For each (Integer WS_Index) from 1 to WS_Total_Waypoints, do (Actions)
            • Loop - Actions
              • Set WS_Waypoints[0] = (Load WS_Index of (Key WS_Unit_Handle.) in WS_Hashtable.)
              • Custom script: call RemoveLocation( udg_WS_Waypoints[0] )
          • Hashtable - Clear all child hashtables of child (Key WS_Unit_Handle.) in WS_Hashtable.
  • WS Order Unit To Move
    • Events
    • Conditions
    • Actions
      • Custom script: set udg_WS_Unit_Handle = udg_WS_Unit
      • -------- --------
      • Unit - Add Move To Waypoint to WS_Unit
      • -------- --------
      • Hashtable - Save WS_Total_Waypoints as -1 of (Key WS_Unit_Handle.) in WS_Hashtable.
      • Hashtable - Save 1 as 0 of (Key WS_Unit_Handle.) in WS_Hashtable.
      • -------- --------
      • For each (Integer WS_Index) from 1 to WS_Total_Waypoints, do (Actions)
        • Loop - Actions
          • Set WS_Waypoints[0] = (Load WS_Index of (Key WS_Unit_Handle.) in WS_Hashtable.)
          • Custom script: call RemoveLocation( udg_WS_Waypoints[0] )
          • Hashtable - Save Handle OfWS_Waypoints[WS_Index] as WS_Index of (Key WS_Unit_Handle.) in WS_Hashtable.
      • -------- --------
      • Unit - Order WS_Unit to Neutral Fire Lord - Volcano WS_Waypoints[1]
View attachment 540643
Here's an example of how to use the system:
  • Demo
    • Events
      • Player - Player 1 (Red) types a chat message containing test as An exact match
    • Conditions
    • Actions
      • Set WS_Unit = Runner
      • Set WS_Total_Waypoints = 4
      • Set WS_Waypoints[1] = (Center of PathB01 <gen>)
      • Set WS_Waypoints[2] = (Center of PathB02 <gen>)
      • Set WS_Waypoints[3] = (Center of PathB03 <gen>)
      • Set WS_Waypoints[4] = (Center of PathB04 <gen>)
      • Trigger - Run WS Order Unit To Move <gen> (ignoring conditions)
Here's the ability used in the triggers, it's based on the Channel ability.
View attachment 540644
Thank you so much! I will check this out.
 
Level 30
Joined
Sep 26, 2009
Messages
2,626
@Pekisa7 I tried to open your map, but it just crashes my editor. I am on latest version. Are you on latest version? Do you use some other editor than the default blizzard one?

I deleted all path b and a triggers and left runner move teleport . He just stands there by a cliff and goes back.
Does the runner even see the target location? If it is too far through black fog of war, then the pathing engine won't know how to navigate the runner
 
Level 7
Joined
Aug 3, 2021
Messages
123
@Pekisa7 I tried to open your map, but it just crashes my editor. I am on latest version. Are you on latest version? Do you use some other editor than the default blizzard one?


Does the runner even see the target location? If it is too far through black fog of war, then the pathing engine won't know how to navigate the runner
I am on patch 1.31
 
Level 7
Joined
Aug 3, 2021
Messages
123
Strange, I would've expected to be able to open it normally. But Blizz being Blizz, I can't say if the issue is in something in map, or Blizzard broke backward compatibility
Strange, I would've expected to be able to open it normally. But Blizz being Blizz, I can't say if the issue is in something in map, or Blizzard broke backward compatibility
Typical Blizzard Entertaiment . They always manage to break something.

Here's a very basic system for creating "Waypoints" that a Unit will move between (Point 1 -> Point 2 -> Point 3, etc).
  • WS Initialize
    • Events
      • Time - Elapsed game time is 0.00 seconds
    • Conditions
    • Actions
      • Hashtable - Create a hashtable
      • Set WS_Hashtable = (Last created hashtable)
  • WS Get Next Waypoint
    • Events
      • Unit - A unit Begins casting an ability
    • Conditions
      • (Ability being cast) Equal to Move To Waypoint
    • Actions
      • Set WS_Unit = (Triggering unit)
      • Custom script: set udg_WS_Unit_Handle = udg_WS_Unit
      • -------- --------
      • Unit - Remove Move To Waypoint from WS_Unit
      • -------- --------
      • Set WS_Total_Waypoints = (Load -1 of (Key WS_Unit_Handle.) from WS_Hashtable.)
      • Set WS_Index = (Load 0 of (Key WS_Unit_Handle.) from WS_Hashtable.)
      • Set WS_Index = (WS_Index + 1)
      • Hashtable - Save WS_Index as 0 of (Key WS_Unit_Handle.) in WS_Hashtable.
      • -------- --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • WS_Index Less than or equal to WS_Total_Waypoints
        • Then - Actions
          • Unit - Add Move To Waypoint to WS_Unit
          • Set WS_Waypoints[0] = (Load WS_Index of (Key WS_Unit_Handle.) in WS_Hashtable.)
          • Unit - Order WS_Unit to Neutral Fire Lord - Volcano WS_Waypoints[0]
        • Else - Actions
          • For each (Integer WS_Index) from 1 to WS_Total_Waypoints, do (Actions)
            • Loop - Actions
              • Set WS_Waypoints[0] = (Load WS_Index of (Key WS_Unit_Handle.) in WS_Hashtable.)
              • Custom script: call RemoveLocation( udg_WS_Waypoints[0] )
          • Hashtable - Clear all child hashtables of child (Key WS_Unit_Handle.) in WS_Hashtable.
  • WS Order Unit To Move
    • Events
    • Conditions
    • Actions
      • Custom script: set udg_WS_Unit_Handle = udg_WS_Unit
      • -------- --------
      • Unit - Add Move To Waypoint to WS_Unit
      • -------- --------
      • Hashtable - Save WS_Total_Waypoints as -1 of (Key WS_Unit_Handle.) in WS_Hashtable.
      • Hashtable - Save 1 as 0 of (Key WS_Unit_Handle.) in WS_Hashtable.
      • -------- --------
      • For each (Integer WS_Index) from 1 to WS_Total_Waypoints, do (Actions)
        • Loop - Actions
          • Set WS_Waypoints[0] = (Load WS_Index of (Key WS_Unit_Handle.) in WS_Hashtable.)
          • Custom script: call RemoveLocation( udg_WS_Waypoints[0] )
          • Hashtable - Save Handle OfWS_Waypoints[WS_Index] as WS_Index of (Key WS_Unit_Handle.) in WS_Hashtable.
      • -------- --------
      • Unit - Order WS_Unit to Neutral Fire Lord - Volcano WS_Waypoints[1]
View attachment 540643
Here's an example of how to use the system:
  • Demo
    • Events
      • Player - Player 1 (Red) types a chat message containing test as An exact match
    • Conditions
    • Actions
      • Set WS_Unit = Runner
      • Set WS_Total_Waypoints = 4
      • Set WS_Waypoints[1] = (Center of PathB01 <gen>)
      • Set WS_Waypoints[2] = (Center of PathB02 <gen>)
      • Set WS_Waypoints[3] = (Center of PathB03 <gen>)
      • Set WS_Waypoints[4] = (Center of PathB04 <gen>)
      • Trigger - Run WS Order Unit To Move <gen> (ignoring conditions)
Here's the ability used in the triggers, it's based on the Channel ability.
View attachment 540644
The attached map requires the latest version of Warcraft 3 to open, but these triggers should work on just about any version.
Do I set Ws Waypoints for Path A too?

Here's a very basic system for creating "Waypoints" that a Unit will move between (Point 1 -> Point 2 -> Point 3, etc).
  • WS Initialize
    • Events
      • Time - Elapsed game time is 0.00 seconds
    • Conditions
    • Actions
      • Hashtable - Create a hashtable
      • Set WS_Hashtable = (Last created hashtable)
  • WS Get Next Waypoint
    • Events
      • Unit - A unit Begins casting an ability
    • Conditions
      • (Ability being cast) Equal to Move To Waypoint
    • Actions
      • Set WS_Unit = (Triggering unit)
      • Custom script: set udg_WS_Unit_Handle = udg_WS_Unit
      • -------- --------
      • Unit - Remove Move To Waypoint from WS_Unit
      • -------- --------
      • Set WS_Total_Waypoints = (Load -1 of (Key WS_Unit_Handle.) from WS_Hashtable.)
      • Set WS_Index = (Load 0 of (Key WS_Unit_Handle.) from WS_Hashtable.)
      • Set WS_Index = (WS_Index + 1)
      • Hashtable - Save WS_Index as 0 of (Key WS_Unit_Handle.) in WS_Hashtable.
      • -------- --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • WS_Index Less than or equal to WS_Total_Waypoints
        • Then - Actions
          • Unit - Add Move To Waypoint to WS_Unit
          • Set WS_Waypoints[0] = (Load WS_Index of (Key WS_Unit_Handle.) in WS_Hashtable.)
          • Unit - Order WS_Unit to Neutral Fire Lord - Volcano WS_Waypoints[0]
        • Else - Actions
          • For each (Integer WS_Index) from 1 to WS_Total_Waypoints, do (Actions)
            • Loop - Actions
              • Set WS_Waypoints[0] = (Load WS_Index of (Key WS_Unit_Handle.) in WS_Hashtable.)
              • Custom script: call RemoveLocation( udg_WS_Waypoints[0] )
          • Hashtable - Clear all child hashtables of child (Key WS_Unit_Handle.) in WS_Hashtable.
  • WS Order Unit To Move
    • Events
    • Conditions
    • Actions
      • Custom script: set udg_WS_Unit_Handle = udg_WS_Unit
      • -------- --------
      • Unit - Add Move To Waypoint to WS_Unit
      • -------- --------
      • Hashtable - Save WS_Total_Waypoints as -1 of (Key WS_Unit_Handle.) in WS_Hashtable.
      • Hashtable - Save 1 as 0 of (Key WS_Unit_Handle.) in WS_Hashtable.
      • -------- --------
      • For each (Integer WS_Index) from 1 to WS_Total_Waypoints, do (Actions)
        • Loop - Actions
          • Set WS_Waypoints[0] = (Load WS_Index of (Key WS_Unit_Handle.) in WS_Hashtable.)
          • Custom script: call RemoveLocation( udg_WS_Waypoints[0] )
          • Hashtable - Save Handle OfWS_Waypoints[WS_Index] as WS_Index of (Key WS_Unit_Handle.) in WS_Hashtable.
      • -------- --------
      • Unit - Order WS_Unit to Neutral Fire Lord - Volcano WS_Waypoints[1]
View attachment 540643
Here's an example of how to use the system:
  • Demo
    • Events
      • Player - Player 1 (Red) types a chat message containing test as An exact match
    • Conditions
    • Actions
      • Set WS_Unit = Runner
      • Set WS_Total_Waypoints = 4
      • Set WS_Waypoints[1] = (Center of PathB01 <gen>)
      • Set WS_Waypoints[2] = (Center of PathB02 <gen>)
      • Set WS_Waypoints[3] = (Center of PathB03 <gen>)
      • Set WS_Waypoints[4] = (Center of PathB04 <gen>)
      • Trigger - Run WS Order Unit To Move <gen> (ignoring conditions)
Here's the ability used in the triggers, it's based on the Channel ability.
View attachment 540644
The attached map requires the latest version of Warcraft 3 to open, but these triggers should work on just about any version.
Ehhh.... He just spawn and after 4 seconds he dissapears and he teleport to the region. How to fix this? And is the demo just a debug?
 

Uncle

Warcraft Moderator
Level 74
Joined
Aug 10, 2018
Messages
7,971
Ehhh.... He just spawn and after 4 seconds he dissapears and he teleport to the region. How to fix this? And is the demo just a debug?
The demo has the full system and an example of how to use it.

WS_Waypoints[1] is the first Point that your Runner will move to.
WS_Waypoints[2] is the second Point that your Runner will move to.
This continues going from [2] -> [3] -> [4] -> to however many Points you want.

Here's an example using your first trigger:
  • PathARedirect
    • Events
      • Unit - A unit enters RedirectWest <gen>
    • Conditions
      • (Entering unit) Equal to Runner
      • ExitCinematicRunning Equal to False
    • Actions
      • Set WS_Unit = Runner
      • Set WS_Total_Waypoints = 9
      • Set WS_Waypoints[1] = (Center of RedirectWest <gen>)
      • Set WS_Waypoints[2] = (Center of PathA01 <gen>)
      • Set WS_Waypoints[3] = (Center of PathA02 <gen>)
      • Set WS_Waypoints[4] = (Center of PathA03 <gen>)
      • Set WS_Waypoints[5] = (Center of PathA04 <gen>)
      • Set WS_Waypoints[6] = (Center of PathA05 <gen>)
      • Set WS_Waypoints[7] = (Center of PathA06 <gen>)
      • Set WS_Waypoints[8] = (Center of CenterPath <gen>)
      • Set WS_Waypoints[9] = (Center of RunnerMoveTeleport <gen>)
      • Trigger - Run WS Order Unit To Move <gen> (ignoring conditions)
      • Trigger - Turn off (This trigger)
When the Runner enters RedirectWest it will be Ordered to move to the center of RedirectWest, then to PathA01, then to PathA02, continuing all the way to the final Waypoint at the center of RunnerMoveTeleport. You have [9] total Waypoints which you must Set.

Of course this will only work if you've created the triggers and ability correctly. I cannot tell whether you did this without more information.
 
Last edited:
Level 7
Joined
Aug 3, 2021
Messages
123
The demo has the full system and an example of how to use it.

WS_Waypoints[1] is the first Point that your Runner will move to.
WS_Waypoints[2] is the second Point that your Runner will move to.
This continues going from [2] -> [3] -> [4] -> to however many Points you want.

Here's an example using your first trigger:
  • PathARedirect
    • Events
      • Unit - A unit enters RedirectWest <gen>
    • Conditions
      • (Entering unit) Equal to Runner
      • ExitCinematicRunning Equal to False
    • Actions
      • Set WS_Unit = Runner
      • Set WS_Total_Waypoints = 9
      • Set WS_Waypoints[1] = (Center of RedirectWest <gen>)
      • Set WS_Waypoints[2] = (Center of PathA01 <gen>)
      • Set WS_Waypoints[3] = (Center of PathA02 <gen>)
      • Set WS_Waypoints[4] = (Center of PathA03 <gen>)
      • Set WS_Waypoints[5] = (Center of PathA04 <gen>)
      • Set WS_Waypoints[6] = (Center of PathA05 <gen>)
      • Set WS_Waypoints[7] = (Center of PathA06 <gen>)
      • Set WS_Waypoints[8] = (Center of CenterPath <gen>)
      • Set WS_Waypoints[9] = (Center of RunnerMoveTeleport <gen>)
      • Trigger - Run WS Order Unit To Move <gen> (ignoring conditions)
      • Trigger - Turn off (This trigger)
When the Runner enters RedirectWest it will be Ordered to move to the center of RedirectWest, then to PathA01, then to PathA02, continuing all the way to the final Waypoint at the center of RunnerMoveTeleport. You have [9] total Waypoints which you must Set.

Of course this will only work if you've created the triggers and ability correctly. I cannot tell whether you did this without more infomration.
So i can't create another trigger with Redirect East than Path B? It must be in one trigger?

The demo has the full system and an example of how to use it.

WS_Waypoints[1] is the first Point that your Runner will move to.
WS_Waypoints[2] is the second Point that your Runner will move to.
This continues going from [2] -> [3] -> [4] -> to however many Points you want.

Here's an example using your first trigger:
  • PathARedirect
    • Events
      • Unit - A unit enters RedirectWest <gen>
    • Conditions
      • (Entering unit) Equal to Runner
      • ExitCinematicRunning Equal to False
    • Actions
      • Set WS_Unit = Runner
      • Set WS_Total_Waypoints = 9
      • Set WS_Waypoints[1] = (Center of RedirectWest <gen>)
      • Set WS_Waypoints[2] = (Center of PathA01 <gen>)
      • Set WS_Waypoints[3] = (Center of PathA02 <gen>)
      • Set WS_Waypoints[4] = (Center of PathA03 <gen>)
      • Set WS_Waypoints[5] = (Center of PathA04 <gen>)
      • Set WS_Waypoints[6] = (Center of PathA05 <gen>)
      • Set WS_Waypoints[7] = (Center of PathA06 <gen>)
      • Set WS_Waypoints[8] = (Center of CenterPath <gen>)
      • Set WS_Waypoints[9] = (Center of RunnerMoveTeleport <gen>)
      • Trigger - Run WS Order Unit To Move <gen> (ignoring conditions)
      • Trigger - Turn off (This trigger)
When the Runner enters RedirectWest it will be Ordered to move to the center of RedirectWest, then to PathA01, then to PathA02, continuing all the way to the final Waypoint at the center of RunnerMoveTeleport. You have [9] total Waypoints which you must Set.

Of course this will only work if you've created the triggers and ability correctly. I cannot tell whether you did this without more infomration.
And when a villager enters a runner teleport region I get a failed quest and that the villager enterd the city how do i fix that? I did everything above right I don't know whats up wiht that.
 

Uncle

Warcraft Moderator
Level 74
Joined
Aug 10, 2018
Messages
7,971
And when a villager enters a runner teleport region I get a failed quest and that the villager enterd the city how do i fix that? I did everything above right I don't know whats up wiht that.
I haven't seen your triggers, so I don't know what Quests you have in your map or any kind of details like that.

The system simply tells a Unit to move to different Points in a queued order. How you use it is up to you.

So i can't create another trigger with Redirect East than Path B? It must be in one trigger?
You can use any number of triggers and have as many Runners as you want.


Some notes and potential issues that I forgot to mention:
  • If the Unit gets stunned/silenced/interrupted it'll forget it's Order and stop moving. This is because it's trying to cast an Ability at the next Point.
  • If you give a Unit a new set of Waypoints before it's finished it's current Waypoints then there's a chance for memory leaks, particularly if there's less Waypoints than before. You could fix this with a For Loop that calls RemoveLocation() on all of the old Points prior to setting the new ones.
  • If the center of a Waypoint is blocked then the Unit may fail to cast the Ability. This will prevent it from Moving to the next Point. You should try to keep the Regions clear of obstructions. But to ensure success you'll want to have a Periodic trigger that keeps an eye on these Runners and resets their Orders if they seem stuck, idle, etc.
 
Last edited:
Level 7
Joined
Aug 3, 2021
Messages
123
I haven't seen your triggers, so I don't know what Quests you have in your map or any kind of details like that.

The system simply tells a Unit to move to different Points in a queued order. How you use it is up to you.


You can use any number of triggers and have as many Runners as you want.


Some notes and potential issues that I forgot to mention:
  • If the Unit gets stunned/silenced/interrupted it'll forget it's Order and stop moving. This is because it's trying to cast an Ability at the next Point.
  • If you give a Unit a new set of Waypoints before it's finished it's current Waypoints then there's a chance for memory leaks, particularly if there's less Waypoints than before. You could fix this with a For Loop that calls RemoveLocation() on all of the old Points prior to setting the new ones.
  • If the center of a Waypoint is blocked then the Unit may fail to cast the Ability. This will prevent it from Moving to the next Point. You should try to keep the Regions clear of obstructions. But to ensure success you'll want to have a Periodic trigger that keeps an eye on these Runners and resets their Orders if they seem stuck, idle, etc.
Here is my map so you can check wats wrong.

I haven't seen your triggers, so I don't know what Quests you have in your map or any kind of details like that.

The system simply tells a Unit to move to different Points in a queued order. How you use it is up to you.


You can use any number of triggers and have as many Runners as you want.


Some notes and potential issues that I forgot to mention:
  • If the Unit gets stunned/silenced/interrupted it'll forget it's Order and stop moving. This is because it's trying to cast an Ability at the next Point.
  • If you give a Unit a new set of Waypoints before it's finished it's current Waypoints then there's a chance for memory leaks, particularly if there's less Waypoints than before. You could fix this with a For Loop that calls RemoveLocation() on all of the old Points prior to setting the new ones.
  • If the center of a Waypoint is blocked then the Unit may fail to cast the Ability. This will prevent it from Moving to the next Point. You should try to keep the Regions clear of obstructions. But to ensure success you'll want to have a Periodic trigger that keeps an eye on these Runners and resets their Orders if they seem stuck, idle, etc.
Hey Uncle . I just added the runner variable to my Messenger reaces Loarderon Trigger and villagers, dogs , and children don't trigger the message anymore. So i fixed it. But runner still dosen't move on paths. He just still stands there . I did every trigger you told me. Something isn't right. You can check my map i attached it for you. How do you create those periodic triggers that follows the runner?
 

Uncle

Warcraft Moderator
Level 74
Joined
Aug 10, 2018
Messages
7,971
Two of your triggers aren't setup correctly, here are the fixed versions:
  • WS Get Next Waypoint
    • Events
      • Unit - A unit Begins casting an ability
    • Conditions
      • (Ability being cast) Equal to Waypoint
    • Actions
      • Set WS_Unit = (Triggering unit)
      • Custom script: set udg_WS_Unit_Handle = udg_WS_Unit
      • -------- ----------- --------
      • Unit - Remove Waypoint from WS_Unit
      • -------- ------------ --------
      • Set WS_TotalWayPoints = (Load -1 of (Key WS_Unit_Handle.) from WS_Hashtable.)
      • Set WS_Index = (Load 0 of (Key WS_Unit_Handle.) from WS_Hashtable.)
      • Set WS_Index = (WS_Index + 1)
      • Hashtable - Save WS_Index as 0 of (Key WS_Unit_Handle.) in WS_Hashtable.
      • -------- ----------- --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • WS_Index Less than or equal to WS_TotalWayPoints
        • Then - Actions
          • Unit - Add Waypoint to WS_Unit
          • Set WS_Waypoints[0] = (Load WS_Index of (Key WS_Unit_Handle.) in WS_Hashtable.)
          • Unit - Order WS_Unit to Neutral Fire Lord - Volcano WS_Waypoints[0]
        • Else - Actions
          • For each (Integer WS_Index) from 1 to WS_TotalWayPoints, do (Actions)
            • Loop - Actions
              • Set WS_Waypoints[0] = (Load WS_Index of (Key WS_Unit_Handle.) in WS_Hashtable.)
              • Custom script: call RemoveLocation( udg_WS_Waypoints[0] )
          • Hashtable - Clear all child hashtables of child (Key WS_Unit_Handle.) in WS_Hashtable.
  • WS Order Unit To Move
    • Events
    • Conditions
    • Actions
      • Custom script: set udg_WS_Unit_Handle = udg_WS_Unit
      • -------- -------- --------
      • -------- Clean up any leftover memory leaks: --------
      • For each (Integer WS_Index) from 1 to (Load -1 of (Key WS_Unit_Handle.) from WS_Hashtable.), do (Actions)
        • Loop - Actions
          • Set WS_Waypoints[0] = (Load WS_Index of (Key WS_Unit_Handle.) in WS_Hashtable.)
          • Custom script: call RemoveLocation( udg_WS_Waypoints[0] )
      • Hashtable - Clear all child hashtables of child (Key WS_Unit_Handle.) in WS_Hashtable.
      • -------- -------- --------
      • Hashtable - Save WS_TotalWayPoints as -1 of (Key WS_Unit_Handle.) in WS_Hashtable.
      • Hashtable - Save 1 as 0 of (Key WS_Unit_Handle.) in WS_Hashtable.
      • -------- --------- --------
      • For each (Integer WS_Index) from 1 to WS_TotalWayPoints, do (Actions)
        • Loop - Actions
          • Set WS_Waypoints[0] = (Load WS_Index of (Key WS_Unit_Handle.) in WS_Hashtable.)
          • Hashtable - Save Handle OfWS_Waypoints[WS_Index] as WS_Index of (Key WS_Unit_Handle.) in WS_Hashtable.
      • -------- --------- --------
      • Unit - Add Waypoint to WS_Unit
      • -------- -------- --------
      • Unit - Order WS_Unit to Neutral Fire Lord - Volcano WS_Waypoints[1]
You have to make sure that you do exactly what I did, one little mistake could break everything.
(Note that I changed the 2nd trigger slightly to address a memory leak issue)

Also, you can't have all of these other triggers still running:
1752070661381.png

A unit can only have one Order at a time.
If you issue a new Order it replaces the old one. My system should be the only thing telling the Runner what to do.
 
Last edited:
Level 7
Joined
Aug 3, 2021
Messages
123
Two of your triggers aren't setup correctly, here are the fixed versions:
  • WS Get Next Waypoint
    • Events
      • Unit - A unit Begins casting an ability
    • Conditions
      • (Ability being cast) Equal to Waypoint
    • Actions
      • Set WS_Unit = (Triggering unit)
      • Custom script: set udg_WS_Unit_Handle = udg_WS_Unit
      • -------- ----------- --------
      • Unit - Remove Waypoint from WS_Unit
      • -------- ------------ --------
      • Set WS_TotalWayPoints = (Load -1 of (Key WS_Unit_Handle.) from WS_Hashtable.)
      • Set WS_Index = (Load 0 of (Key WS_Unit_Handle.) from WS_Hashtable.)
      • Set WS_Index = (WS_Index + 1)
      • Hashtable - Save WS_Index as 0 of (Key WS_Unit_Handle.) in WS_Hashtable.
      • -------- ----------- --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • WS_Index Less than or equal to WS_TotalWayPoints
        • Then - Actions
          • Unit - Add Waypoint to WS_Unit
          • Set WS_Waypoints[0] = (Load WS_Index of (Key WS_Unit_Handle.) in WS_Hashtable.)
          • Unit - Order WS_Unit to Neutral Fire Lord - Volcano WS_Waypoints[0]
        • Else - Actions
          • For each (Integer WS_Index) from 1 to WS_TotalWayPoints, do (Actions)
            • Loop - Actions
              • Set WS_Waypoints[0] = (Load WS_Index of (Key WS_Unit_Handle.) in WS_Hashtable.)
              • Custom script: call RemoveLocation( udg_WS_Waypoints[0] )
          • Hashtable - Clear all child hashtables of child (Key WS_Unit_Handle.) in WS_Hashtable.
  • WS Order Unit To Move
    • Events
    • Conditions
    • Actions
      • Custom script: set udg_WS_Unit_Handle = udg_WS_Unit
      • -------- -------- --------
      • -------- Clean up any leftover memory leaks: --------
      • For each (Integer WS_Index) from 1 to (Load -1 of (Key WS_Unit_Handle.) from WS_Hashtable.), do (Actions)
        • Loop - Actions
          • Set WS_Waypoints[0] = (Load WS_Index of (Key WS_Unit_Handle.) in WS_Hashtable.)
          • Custom script: call RemoveLocation( udg_WS_Waypoints[0] )
      • Hashtable - Clear all child hashtables of child (Key WS_Unit_Handle.) in WS_Hashtable.
      • -------- -------- --------
      • Hashtable - Save WS_TotalWayPoints as -1 of (Key WS_Unit_Handle.) in WS_Hashtable.
      • Hashtable - Save 1 as 0 of (Key WS_Unit_Handle.) in WS_Hashtable.
      • -------- --------- --------
      • For each (Integer WS_Index) from 1 to WS_TotalWayPoints, do (Actions)
        • Loop - Actions
          • Set WS_Waypoints[0] = (Load WS_Index of (Key WS_Unit_Handle.) in WS_Hashtable.)
          • Hashtable - Save Handle OfWS_Waypoints[WS_Index] as WS_Index of (Key WS_Unit_Handle.) in WS_Hashtable.
      • -------- --------- --------
      • Unit - Add Waypoint to WS_Unit
      • -------- -------- --------
      • Unit - Order WS_Unit to Neutral Fire Lord - Volcano WS_Waypoints[1]
You have to make sure that you do exactly what I did, one little mistake could break everything.
(Note that I changed the 2nd trigger slightly to address a memory leak issue)

Also, you can't have all of these other triggers still running:
View attachment 540694
A unit can only have one Order at a time.
If you issue a new Order it replaces the old one. My system should be the only thing telling the Runner what to do.
Thank you so much it worked!

Two of your triggers aren't setup correctly, here are the fixed versions:
  • WS Get Next Waypoint
    • Events
      • Unit - A unit Begins casting an ability
    • Conditions
      • (Ability being cast) Equal to Waypoint
    • Actions
      • Set WS_Unit = (Triggering unit)
      • Custom script: set udg_WS_Unit_Handle = udg_WS_Unit
      • -------- ----------- --------
      • Unit - Remove Waypoint from WS_Unit
      • -------- ------------ --------
      • Set WS_TotalWayPoints = (Load -1 of (Key WS_Unit_Handle.) from WS_Hashtable.)
      • Set WS_Index = (Load 0 of (Key WS_Unit_Handle.) from WS_Hashtable.)
      • Set WS_Index = (WS_Index + 1)
      • Hashtable - Save WS_Index as 0 of (Key WS_Unit_Handle.) in WS_Hashtable.
      • -------- ----------- --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • WS_Index Less than or equal to WS_TotalWayPoints
        • Then - Actions
          • Unit - Add Waypoint to WS_Unit
          • Set WS_Waypoints[0] = (Load WS_Index of (Key WS_Unit_Handle.) in WS_Hashtable.)
          • Unit - Order WS_Unit to Neutral Fire Lord - Volcano WS_Waypoints[0]
        • Else - Actions
          • For each (Integer WS_Index) from 1 to WS_TotalWayPoints, do (Actions)
            • Loop - Actions
              • Set WS_Waypoints[0] = (Load WS_Index of (Key WS_Unit_Handle.) in WS_Hashtable.)
              • Custom script: call RemoveLocation( udg_WS_Waypoints[0] )
          • Hashtable - Clear all child hashtables of child (Key WS_Unit_Handle.) in WS_Hashtable.
  • WS Order Unit To Move
    • Events
    • Conditions
    • Actions
      • Custom script: set udg_WS_Unit_Handle = udg_WS_Unit
      • -------- -------- --------
      • -------- Clean up any leftover memory leaks: --------
      • For each (Integer WS_Index) from 1 to (Load -1 of (Key WS_Unit_Handle.) from WS_Hashtable.), do (Actions)
        • Loop - Actions
          • Set WS_Waypoints[0] = (Load WS_Index of (Key WS_Unit_Handle.) in WS_Hashtable.)
          • Custom script: call RemoveLocation( udg_WS_Waypoints[0] )
      • Hashtable - Clear all child hashtables of child (Key WS_Unit_Handle.) in WS_Hashtable.
      • -------- -------- --------
      • Hashtable - Save WS_TotalWayPoints as -1 of (Key WS_Unit_Handle.) in WS_Hashtable.
      • Hashtable - Save 1 as 0 of (Key WS_Unit_Handle.) in WS_Hashtable.
      • -------- --------- --------
      • For each (Integer WS_Index) from 1 to WS_TotalWayPoints, do (Actions)
        • Loop - Actions
          • Set WS_Waypoints[0] = (Load WS_Index of (Key WS_Unit_Handle.) in WS_Hashtable.)
          • Hashtable - Save Handle OfWS_Waypoints[WS_Index] as WS_Index of (Key WS_Unit_Handle.) in WS_Hashtable.
      • -------- --------- --------
      • Unit - Add Waypoint to WS_Unit
      • -------- -------- --------
      • Unit - Order WS_Unit to Neutral Fire Lord - Volcano WS_Waypoints[1]
You have to make sure that you do exactly what I did, one little mistake could break everything.
(Note that I changed the 2nd trigger slightly to address a memory leak issue)

Also, you can't have all of these other triggers still running:
View attachment 540694
A unit can only have one Order at a time.
If you issue a new Order it replaces the old one. My system should be the only thing telling the Runner what to do.
Do I do just create the Waypoints A and B for the second third and fourth runner . Or i need to do everything again for the second third and fourth runner?
 

Uncle

Warcraft Moderator
Level 74
Joined
Aug 10, 2018
Messages
7,971
Do I do just create the Waypoints A and B for the second third and fourth runner . Or i need to do everything again for the second third and fourth runner?
I'm not too sure what you mean when you say "do everything again".

But you will need to Set the WS_ variables and run the "WS Order Unit To Move" trigger again for each new Unit.

So again, these Actions will make a specific Unit move between the specified Waypoints (Points):
  • Actions
    • Set WS_Unit = (YOUR UNIT HERE)
    • Set WS_Total_Waypoints = (THE NUMBER OF WAYPOINTS)
    • Set WS_Waypoints[1] = (Center of SOME REGION <gen>)
    • Set WS_Waypoints[2] = (Center of SOME REGION <gen>)
    • Set WS_Waypoints[3] = (Center of SOME REGION <gen>)
    • -------- YOU CAN ADD AS MANY WAYPOINTS AS YOU'D LIKE... --------
    • Trigger - Run WS Order Unit To Move <gen> (ignoring conditions)
You can do this anywhere, at any time, and for any unit.
You can replace a Unit's current Waypoints with new Waypoints and you can have any number of Units using this at the same time.

(Actually, you can only do this after the Hashtable has been created. So any time after the 0.00 second mark of the game.)
 
Last edited:
Level 7
Joined
Aug 3, 2021
Messages
123
I'm not too sure what you mean when you say "do everything again".

But you will need to Set the WS_ variables and run the "WS Order Unit To Move" trigger again for each new Unit.

So again, these Actions will make a specific Unit move between the specified Waypoints (Points):
  • Actions
    • Set WS_Unit = (YOUR UNIT HERE)
    • Set WS_Total_Waypoints = (THE NUMBER OF WAYPOINTS)
    • Set WS_Waypoints[1] = (Center of SOME REGION <gen>)
    • Set WS_Waypoints[2] = (Center of SOME REGION <gen>)
    • Set WS_Waypoints[3] = (Center of SOME REGION <gen>)
    • -------- YOU CAN ADD AS MANY WAYPOINTS AS YOU'D LIKE... --------
    • Trigger - Run WS Order Unit To Move <gen> (ignoring conditions)
You can do this anywhere, at any time, and for any unit.
You can replace a Unit's current Waypoints with new Waypoints and you can have any number of Units using this at the same time.

(Actually, you can only do this after the Hashtable has been created. So any time after the 0.00 second mark of the game.)
On the runner spawning thread a lot of hive worshop map creators helped me with how to create nine runners. I created nine more runners for my map and I written the code runner_number equal to 2,3,4,5 ect. Also added the code Runner_Number = Runner_Number + 1 . Do i put those somewhere in your system? How will that work? Or do I just create more triggers waypoints with WS UNIT = Runner 2,3,4,5,6,7,8,9?
 

Uncle

Warcraft Moderator
Level 74
Joined
Aug 10, 2018
Messages
7,971
You would do this for each new Runner:
Create a new Runner -> Set WS_ variables -> Run "WS Order Unit To Move" trigger.

So just find where you're creating your Runner(s) and use the WS actions there.


BUT, if the Runners share the same Waypoints and you don't want to have to repeat yourself, you can create two new triggers like so:
  • Move West Runner
    • Events
    • Conditions
    • Actions
      • Set WS_Total_Waypoints = (THE NUMBER OF WAYPOINTS)
      • Set WS_Waypoints[1] = (Center of WEST REGION 1 <gen>)
      • Set WS_Waypoints[2] = (Center of WEST REGION 2 <gen>)
      • Set WS_Waypoints[3] = (Center of WEST REGION 3 <gen>)
      • -------- ADD MORE WAYPOINTS... --------
      • Trigger - Run WS Order Unit To Move <gen> (ignoring conditions)
  • Move East Runner
    • Events
    • Conditions
    • Actions
      • Set WS_Total_Waypoints = (THE NUMBER OF WAYPOINTS)
      • Set WS_Waypoints[1] = (Center of EAST REGION 1 <gen>)
      • Set WS_Waypoints[2] = (Center of EAST REGION 2 <gen>)
      • Set WS_Waypoints[3] = (Center of EAST REGION 3 <gen>)
      • -------- ADD MORE WAYPOINTS... --------
      • Trigger - Run WS Order Unit To Move <gen> (ignoring conditions)
Then when you create a Runner and you want it to travel WEST you would do this:
  • Unit - Create 1 Runner...
  • Set WS_Unit = (Last created unit)
  • Trigger - Run Move West Runner <gen> (ignoring conditions)
Or when you create a Runner and want it to travel EAST you would do this:
  • Unit - Create 1 Runner...
  • Set WS_Unit = (Last created unit)
  • Trigger - Run Move East Runner <gen> (ignoring conditions)
All of this is probably not even be necessary, though.
 
Last edited:
Level 7
Joined
Aug 3, 2021
Messages
123
You would do this for each new Runner:
Create a new Runner -> Set WS_ variables -> Run "WS Order Unit To Move" trigger.

So just find where you're creating your Runner(s) and use the WS actions there.


BUT, if the Runners share the same Waypoints and you don't want to have to repeat yourself, you can create two new triggers like so:
  • Move West Runner
    • Events
    • Conditions
    • Actions
      • Set WS_Total_Waypoints = (THE NUMBER OF WAYPOINTS)
      • Set WS_Waypoints[1] = (Center of WEST REGION 1 <gen>)
      • Set WS_Waypoints[2] = (Center of WEST REGION 2 <gen>)
      • Set WS_Waypoints[3] = (Center of WEST REGION 3 <gen>)
      • -------- ADD MORE WAYPOINTS... --------
      • Trigger - Run WS Order Unit To Move <gen> (ignoring conditions)
  • Move East Runner
    • Events
    • Conditions
    • Actions
      • Set WS_Total_Waypoints = (THE NUMBER OF WAYPOINTS)
      • Set WS_Waypoints[1] = (Center of EAST REGION 1 <gen>)
      • Set WS_Waypoints[2] = (Center of EAST REGION 2 <gen>)
      • Set WS_Waypoints[3] = (Center of EAST REGION 3 <gen>)
      • -------- ADD MORE WAYPOINTS... --------
      • Trigger - Run WS Order Unit To Move <gen> (ignoring conditions)
Then when you create a Runner and you want it to travel WEST you would do this:
  • Unit - Create 1 Runner...
  • Set WS_Unit = (Last created unit)
  • Trigger - Run Move West Runner <gen> (ignoring conditions)
Or when you create a Runner and want it to travel EAST you would do this:
  • Unit - Create 1 Runner...
  • Set WS_Unit = (Last created unit)
  • Trigger - Run Move East Runner <gen> (ignoring conditions)
All of this is probably not even be necessary, though.
I did as you said it dosen't work
  • Move West Runner 02
    • Events
    • Conditions
    • Actions
      • Set WS_TotalWayPoints = 9
      • Set WS_Waypoints[1] = (Center of RedirectWest <gen>)
      • Set WS_Waypoints[2] = (Center of PathA01 <gen>)
      • Set WS_Waypoints[3] = (Center of PathA02 <gen>)
      • Set WS_Waypoints[4] = (Center of PathA03 <gen>)
      • Set WS_Waypoints[5] = (Center of PathA04 <gen>)
      • Set WS_Waypoints[6] = (Center of PathA05 <gen>)
      • Set WS_Waypoints[7] = (Center of PathA06 <gen>)
      • Set WS_Waypoints[8] = (Center of CenterPath <gen>)
      • Set WS_Waypoints[9] = (Center of RunnerMoveTeleport <gen>)
      • Trigger - Run WS Order Unit To Move <gen> (checking conditions)
      • Trigger - Turn off (This trigger)
  • Move East Runner 02
    • Events
    • Conditions
    • Actions
      • Set WS_TotalWayPoints = 9
      • Set WS_Waypoints[1] = (Center of RedirectEast <gen>)
      • Set WS_Waypoints[2] = (Center of PathB01 <gen>)
      • Set WS_Waypoints[3] = (Center of PathB02 <gen>)
      • Set WS_Waypoints[4] = (Center of PathB03 <gen>)
      • Set WS_Waypoints[5] = (Center of PathB04 <gen>)
      • Set WS_Waypoints[6] = (Center of PathB05 <gen>)
      • Set WS_Waypoints[7] = (Center of PathB06 <gen>)
      • Set WS_Waypoints[8] = (Center of CenterPath <gen>)
      • Set WS_Waypoints[9] = (Center of RunnerMoveTeleport <gen>)
      • Trigger - Run WS Order Unit To Move <gen> (checking conditions)
      • Trigger - Turn off (This trigger)
  • Actions
    • Unit - Create 1 Runner for Player 15 (Turquoise) at (Center of RunnerStart <gen>) facing Default building facing degrees
    • Set WS_Unit = (Last created unit)
    • Trigger - Run Move West Runner 02 <gen> (ignoring conditions)
  • Create Runner 02
    • Events
    • Conditions
    • Actions
      • Unit - Create 1 Runner for Player 15 (Turquoise) at (Center of RunnerStart <gen>) facing Default building facing degrees
      • Set WS_Unit = (Last created unit)
      • Trigger - Run Move East Runner 02 <gen> (ignoring conditions)
 

Uncle

Warcraft Moderator
Level 74
Joined
Aug 10, 2018
Messages
7,971
You don't want to do this anymore:
  • Trigger - Turn off (This trigger)
But "it doesn't work" is not enough information.

Are you actually running the Create Runner 02 trigger? Because it has no Events.

And don't you already have triggers that create your Runners? You're supposed to use those.
 
Level 7
Joined
Aug 3, 2021
Messages
123
You don't want to do this anymore:
  • Trigger - Turn off (This trigger)
But "it doesn't work" is not enough information.

Are you actually running the Create Runner 02 trigger? Because it has no Events.

And don't you already have triggers that create your Runners? You're supposed to use those.
So i add move east runner 02 and move west runner 02 to my runners? Like in RunnerTimer Message?
 
Last edited:
Top