send created units

andrei009

Member
Reaction score
1
Q1:how can i send all the units i created in the script to a target ?
i';m using
Trigger:
  • Unit - Create (bu[(Integer A)] / 2) Footman for Player 1 (Red) at (Position of (Triggering unit)) facing Default building facing degrees

how can i send now all the units that i've created ?

Q2: i have a problem when sending units to a target, when the target change the owner , all units that were attacking the target just stop . how can i send the units to attack a target(building) and still attacking even if the target change the owner?
 

skyblader

You're living only because it's illegal killing.
Reaction score
159
Q1.
Trigger:
  • Unit - Order (Last created unit) to Attack-Move To (Center of (Playable map area))


Q2.
Make the building hostile to the attacking units, or order them to attack again after the ownership has changed.
 

andrei009

Member
Reaction score
1
Q1.
Trigger:
  • Unit - Order (Last created unit) to Attack-Move To (Center of (Playable map area))
nope, this just moves the Last created unit , not Last Created units
Q2.
Make the building hostile to the attacking units, or order them to attack again after the ownership has changed.
i can't make the building hostile because it may change in attacker building and i don't know how to attack the target again...
 

skyblader

You're living only because it's illegal killing.
Reaction score
159
Q1. Either send the unit off immediately after creating 1, then create another, or you could make a region where all the units are created, pick the units in the region and issue the order to picked units.

Q2. Set the building in a variable.
 

Accname

2D-Graphics enthusiast
Reaction score
1,462
Question 1).
there are 2 options for you.
you can use a "unit group - issue order" action and issue the "last created unit group" to do something. this will leak if you do not use a unit group variable and a little line of jass to clean it, or you use an integer A iteration creating 1 unit after another for as often as you like and ordering the "last created unit" each time. the first action has the pros that the units would move in formation if they are less then 13.

by the way, you are leaking locations in your line, if you do not know what a "memory leak" is i suggest searching for it and reading some of the plenty turtorials about it.

Question 2).
if you order your units to attack-move to the location (though this might have drawbacks depending on your map concept) they will automatically attack enemy structures or units no matter whether they switched the owner or not.
another possibility is to store all units which target your structure (depending on how many structures of this kind there are you have 2 options here: if there is a limited amount of them you can index them and use unit groups with array, otherwise you would need to use hashtables) and when the owner of the structure is changed pick all units targeting this structure and re-order them to attack.
 

TomTTT

New Member
Reaction score
44
Make a loop within the loop you did?
Instead of your Integer A make Integer B and repeat it... something like:
Trigger:
  • For each (Integer A) from 1 to (Your Integer A), do (Actions)
    • Loop - Actions
      • For each (Integer B) from 1 to (bu[(Integer A)] / 2, do (Actions)
        • Loop - Actions
          • Unit - Create 1 Footman for Player 1 (Red) at (Position of(Triggering unit)) facing Default building facing degrees
          • Unit - Order (Last created unit) to Attack-Move To (Center of (Playable map area))

Maybe? :D
 

mylemonblue

You can change this now in User CP.
Reaction score
7
Place an invisible dummy unit where they spawn.

Trigger:
  • Spawn Monsters
    • Events
      • Time - Elapsed game time is 0.01 seconds
      • Time - LevelStart expires
    • Conditions
    • Actions
      • Countdown Timer - Destroy (Last created timer window)
      • Unit - Create 5 MonsterType[Level] for Neutral Hostile at (Random point in Region 000 <gen>) facing Default building facing (270.0) degrees
      • Countdown Timer - Start LevelStart as a One-shot timer that will expire in 90.00 seconds
      • Countdown Timer - Create a timer window for LevelStart with title Time until next lev...
      • Countdown Timer - Show (Last created timer window)
      • Set Level = (Level + 1)


Trigger:
  • Send
    • Events
      • Unit - A unit comes within 1024.00 of DUMMY 0051 <gen>
    • Conditions
      • (Owner of (Triggering unit)) Equal to (==) Neutral Hostile
    • Actions
      • Unit - Order (Triggering unit) to Attack-Move To (Position of DUMMY 0052 <gen>)


An example from the map I was using.
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top