• 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.

Point To Point Unit System

Level 12
Joined
Feb 23, 2008
Messages
587
Send a Unit To one point, and then send him to the next spot as soon as he gets there.
Keep in mind that when you send a unit to a point war craft will stop that unit with in 20 of that point. If its much less then 20 away and it notices, then it doesn't move at all.

The Steps Used
Setup
Start
Check If Unit Reached Point


Setup
First Create An Array of Points.
Second crate a Counter (To Keep Track of what your on)
Third Create a TotalPoints (So you know how many points)

  • Set up Points
    • Events
      • Map initialization
    • Conditions
    • Actions
      • Set CustomPoint[0] = (Point(0.00, 1000.00))
      • Set CustomPoint[1] = (Point(1000.00, 0.00))
      • Set CustomPoint[2] = (Point(1000.00, 1000.00))
      • Set CustomPoint[3] = (Point(2000.00, 2000.00))
      • Set CustomPoint[4] = (Point(0.00, 0.00))
      • Set TotalPoints = 5
      • Set CurrentPoint = 0

Start
Forth Create A Unit And Send it To the first point
5th Turn on the trigger Check if Unit Reached Point

  • Start
    • Events
      • Player - Player 1 (Red) types a chat message containing Start as An exact match
    • Conditions
    • Actions
      • Unit - Create 1 Footman for Player 1 (Red) at (Center of (Playable map area)) facing Default building facing degrees
      • Set MyUnit = (Last created unit)
      • Unit - Order MyUnit to Move To CustomPoint[CurrentPoint]
      • Trigger - Turn on Check If Unit Reached Point <gen>

Check If Unit Reached Point
Every (.1) sec (or your choice of how often)
Check If the unit is with in 20 of x and 20 of y.
If So Then Current Point + 1.
And send unit to next point.
Then check if You have made it too all your points, and if you have turn off Check If Unit Reached Point

  • Check If Unit Reached Point
    • Events
      • Time - Every 0.10 seconds of game time
    • Conditions
      • (X of (Position of MyUnit)) Greater than ((X of CustomPoint[CurrentPoint]) - 20.00)
      • (X of (Position of MyUnit)) Less than ((X of CustomPoint[CurrentPoint]) + 20.00)
      • (Y of (Position of MyUnit)) Greater than ((Y of CustomPoint[CurrentPoint]) - 20.00)
      • (Y of (Position of MyUnit)) Less than ((Y of CustomPoint[CurrentPoint]) + 20.00)
    • Actions
      • Set CurrentPoint = (CurrentPoint + 1)
      • Trigger - Run Send Unit To Point <gen> (checking conditions)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • CurrentPoint Equal to (TotalPoints - 1)
        • Then - Actions
          • Trigger - Turn off Check If Unit Reached Point <gen>
        • Else - Actions
This is a system i came up with when working on projects that required units to have many different points, and points that were defined in game. I found it to be more easy to deal with then creating moving and working with triggered regions.

From User Request, I have made a MUI Version. Basically you can use it to work with alot of units at the same time. I have decided that Going into much detail of it wont be very useful, as the main concept was explained, and they need to be customized to your game.

With MUI Version, You take in array of points, and divide it. (about 8k) with all your units you plan to use. so 8k / 100 units = 80 points per unit.

Next You add the points you need, Then you run a trigger that will loop in till all of the units have go to there last point. I have in example of that trigger in The map below thats MUI.

Any questions or comments are welcome.
 

Attachments

  • Point To Point Unit System.w3x
    17.5 KB · Views: 525
  • Point To Point Unit System MUI.w3x
    20.8 KB · Views: 400
Last edited:
Level 6
Joined
Feb 12, 2008
Messages
207
Hum, I'm scripting a boss on my bro's rpg. And he casts a Doom Portal, wich sucks all nearby units slowly. The problem is that when moving instantly as you say, the unit gets freezed. So what i need is that the units being sucked could "ran away" from the portal, but still being dragged into the portal. I've only seen something near this on hungry hungry felhounds, so I'm starting to think its not possible to do.
Do you know of any way to do this rover? Thanks in advance :D
 
Level 12
Joined
Feb 23, 2008
Messages
587
This, wouldn't be the way to do that. What you need, is something i think that Slides it backwards, In other words Teleports it backwards, but after it does that have the unit still move to where the player asked it to move. At least I think that could solve your problem

MUI Version added.
 
Last edited:
Top