Need trigger help... very very very very basic

Scones1

New Member
Reaction score
0
I am a total noob... Im looking for a trigger so that when a unit enters region, it will remove unit and create a new unit in an individual region.

Something like:
Event"A unit enters region A"
Cond "triggering unit owned by Player 1"
Action: Remove trggering unit
Create one drone in region Player1 for triggering player facing 180 degrees"

I basically want all players to have their own spaces on the map, and thats the bit that is giving me problems... :D

Thanks a lot
 

Dave312

Censored for your safe viewing
Reaction score
269
The easiest way would be to just create multiple copies of that trigger, one for each player. If your after a more complicated solution, you could use arrays to store the regions with the index representing the player number (call with RegionArray[Triggering Player])
 

GFreak45

I didnt slap you, i high 5'd your face.
Reaction score
130
uhhh no it wouldnt, that would be way too much work... create a variable with a 15 array size for regions, save each players region as Your_Variable[player number] then have an event for every region they enter and move the unit to the center of Your_Variable[Player Number of owner of triggering unit]

your events would look like:
Trigger:
  • Events
    • A unit enters Entrance 1 (name of the region)
    • A unit enters Entrance 2
    • A unit enters Entrance 3
    • A unit enters Entrance 4
    • then do your conditions and actions, whenever they enter one of those regions they will be moved to their zone
 

Dave312

Censored for your safe viewing
Reaction score
269
If he is after something very simple then it would be much easier. Ever heard of copy and paste? It is much quicker to set up.
 

Siretu

Starcraft 2 Editor Moderator
Reaction score
293
uhhh no it wouldnt, that would be way too much work... create a variable with a 15 array size for regions, save each players region as Your_Variable[player number] then have an event for every region they enter and move the unit to the center of Your_Variable[Player Number of owner of triggering unit]

your events would look like:
Trigger:
  • Events
    • A unit enters Entrance 1 (name of the region)
    • A unit enters Entrance 2
    • A unit enters Entrance 3
    • A unit enters Entrance 4
    • then do your conditions and actions, whenever they enter one of those regions they will be moved to their zone

Why would you move the unit to the center? He wants to remove it and create a new unit.

I am not quite sure of the requirements you have. Can all players enter all the regions? In that case you don't even need a variable. The easiest way would be something like:

Event:
A unit enters Region 1
A unit enters Region 2
A unit enters Region 3
A unit enters Region 4
And so on...
Actions:
Remove (Triggering Unit)
Create one drone at (Center of (Triggering Region)) with default facing.

Maybe I am misunderstanding something? Do you want the drone to be created in the same region?
 

Scones1

New Member
Reaction score
0
Sorry i might have been a bit vague :)

all player start with a selector unit. There are multiple regions they can go to select a character, and depending on which character they choose, that character will be created in their individual space.

I could do it no problem if they were all being sent to the same space, but I'm unsure how to select individual players using triggers.
 

GFreak45

I didnt slap you, i high 5'd your face.
Reaction score
130
then my region trigger would work, just set them at map init then when a unit moves to region for unit type 1 move destroy the triggering unit and create a new one at the center of their region
 

Scones1

New Member
Reaction score
0
I dunno what you mean though.... I don't know how you select the player.

How will the map editor know which player is which? wouldn't all the players be sent to the same region?

Thats basically what I'm asking :p
 

GFreak45

I didnt slap you, i high 5'd your face.
Reaction score
130
based on the player number... ie:
Trigger:
  • Initialization
    • Events
      • Map Initialization
    • Conditions
    • Actions
      • Set RegionVariable[1] = Player 1's region
      • Set RegionVariable[2] = Player 2's region
      • then do that for every player


Trigger:
  • Moving units
    • Events
      • A unit enters region1
    • Conditions
    • Actions
      • Unit - Create 1 (your unit) at center of RegionVariable[Owner of Triggering Unit]
      • Unit - Remove triggering unit


PS. post your triggers in these tags: [noparse]
Trigger:
  • it goes here
[/noparse]
 

Siretu

Starcraft 2 Editor Moderator
Reaction score
293
I think GFreak is correct. Let me clarify: You have a bunch of regions that will trigger the trigger when a unit enters it? You also have a bunch of DIFFERENT regions. One for each player. The new unit will be transported to their own region when they enter one of the first regions?

Let's say we have 3 regions(Region A, Region B, Region C) that you can enter and 3 players. First of all, you need a region variable array. Let's call it player_regions. Make the size the amount of players.

Somewhere at the start of the game, set player_regions[1] to player 1's region, player_regions[2] to player 2's region and so on.

Then a trigger like this:



Trigger:
  • Enter region
    • Events
      • Unit - Any Unit Enters Region A
      • Unit - Any Unit Enters Region B
      • Unit - Any Unit Enters Region C
    • Local Variables
    • Conditions
    • Actions
      • Unit - Create 1 Unit for player (Triggering player) at (Center of player_regions[(Triggering Player)]) using default facing (No Options)
      • Unit - Remove (Triggering unit) from the game


If you want to spawn different units depending on which region you enter, use this code instead:
Trigger:
  • Enter region
    • Events
      • Unit - Any Unit Enters (Entire map)
      • Unit - Any Unit Enters (Entire map)
      • Unit - Any Unit Enters (Entire map)
    • Local Variables
      • type = No Game Link <Game Link - Unit>
    • Conditions
    • Actions
      • General - Switch (Actions) depending on (Triggering region)
        • Cases
          • General - If (Region A)
            • Actions
              • Variable - Set type = Marine
          • General - If (Region B)
            • Actions
              • Variable - Set type = Thor
          • General - If (Region C)
            • Actions
              • Variable - Set type = Dark templar
        • Default
      • Unit - Create 1 type for player (Triggering player) at (Center of Region) using default facing (No Options)
      • Unit - Remove (Triggering unit) from the game

Edit: Too late. GFreak's trigger is just the same thing.
Edit 2: I added another version of mine to account for different unit's.
 

Scones1

New Member
Reaction score
0
I understand how it works :D But I can't find where to create the actual variables now! :p I can see set, but i presume you need to make them first!
 

Siretu

Starcraft 2 Editor Moderator
Reaction score
293
There are local and global variables. Local variables can only be accessed in the trigger they were created in. In this case, we want a local variable so find local variables in the trigger(it's between events and conditions) then press ctrl+b(or right click>New>New variable or something)

You then have to make sure you change the variable "type" from integer to the Unit-type.
 
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