Killing All Units Owned By Player

Zaraf

New Member
Reaction score
22
I'm trying to create a trigger that is basically when a key unit dies, then all units of that player die as well. I thought it would be easy, just something like:

Event: Unit - Any Unit dies

Conditions: Unit type of Triggering unit == Raynor

Actions: Pick every unit of Owner of Triggering unit

Kill picked unit

I thought it would be this simple, but I can't seem to find a way to select Owner of triggering unit in the GUI.

Anyone have any ideas please? Thanks!
 

themean

Active Member
Reaction score
7
maybe you must use unit group
1 unit group for each player and when player create unit add to his unit group when unit die remove from his unit group
when your key unit die ,this started another trigger who kill all units in unit group
 

Dave312

Censored for your safe viewing
Reaction score
269
All I can say is that they are there. Owner of Unit is a function listed under Unit and Triggering Unit is also a function listed under Unit.
 

Sevion

The DIY Ninja
Reaction score
413
You would do something like this:

Trigger:
  • UntitledTrigger001
    • Events
      • TriggerAddEventUnitDied(null)
    • Local Variables
      • unit = null <unit>
    • Conditions
    • Actions
      • ForEachUnitInGroup(unit, (UnitGroup(null, (UnitGetOwner((EventUnit()))), (RegionEntireMap()), Excluded: Missile, Dead, Hidden, 0)))
        • actions
          • UnitKill(unit)


Forgive me, I'm viewing my trigger in raw form.
 

Zaraf

New Member
Reaction score
22
Here is the problem I'm running into:


Trigger:
  • Raynor Dies
    • Events
      • Unit - Any Unit dies
    • Local Variables
      • LocalUnitGroup = (Empty unit group) <Unit Group>
    • Conditions
      • (Unit type of (Triggering unit)) == Raynor
    • Actions
      • Unit Group - For each unit Unit in (Units in Unit Group owned by player (Owner of (Triggering unit)), with at most Any Amount) do (Actions)
        • Actions


I created a local unit group variable in the hopes of using it, but I realized that it would be kinda pointless and going around in a circle.

For the unit group here, I'm missing a vital piece of information: the UNIT.

Unit Group - For each unit Unit in (Units in Unit Group owned by player (Owner of (Triggering unit)), with at most Any Amount) do (Actions)

How am I suppose to add all of the units to a unit group if I can't even select the units owned by the player. Heck, I can't even add ALL units on the map to the unit group, which I could do and still make it work. But then I still have the problem of the first UNIT to define. What do I put there?

It's so annoying when the logic is soooo easy, yet the only thing stopping you is finding the right command in the GUI -_-
 

Im_On_56k

Hm...
Reaction score
116
Use the pick each unit function instead of the for each unit function. I guess you can use both, but you don't have to define a local unit variable to use the pick unit function. The unit part I believe you are talking about is just a reference to use. It's basically the picked unit.

For the unit group part of that function use Units In Region Matching Condition.

So it should turn out something like:

Code:
Unit Group - Pick each unit in (Any units in (Entire map) owned by player (Owner of (Triggering unit)) matching (No Value), with at most Any Amount) and do (Actions)
Finally just use remove/kill picked unit for the actions and anything else you are trying to do.
 

Sevion

The DIY Ninja
Reaction score
413
The For loop should force you to give it a unit variable. You use that variable to do your thing.
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top