[Trigger] Need help creating race specific worker

Liquidor

New Member
Reaction score
0
Hi guys,

Basically I need to create workers for 6 players depending on 2 factors: Is Playing and Race selection.

I got 6 regions named PXStart where X is 1-6 and the players can select all 4 races.

How should I do this in a trigger without spamming 100s of If-else's like below?
Note that this trigger below doesn't even take in account for "Is Playing" :-/ and it's only for player 1, imagine the spam needed for all 6 players, I'm sure it can be done in loops or similar?

Trigger:
  • Player Group - Pick every player in Player Group - Player 1 (Red) and do (Actions)
    • Loop - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Race of Player 1 (Red)) Equal to Human
        • Then - Actions
          • Unit - Create 1 Peasant for Player 1 (Red) at (Center of P1Start <gen>) facing Default building facing degrees
        • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Race of Player 1 (Red)) Equal to Orc
            • Then - Actions
              • Unit - Create 1 Peon for Player 1 (Red) at (Center of P1Start <gen>) facing Default building facing degrees
            • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Race of Player 1 (Red)) Equal to Undead
                • Then - Actions
                  • Unit - Create 1 Acolyte for Player 1 (Red) at (Center of P1Start <gen>) facing Default building facing degrees
                • Else - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • (Race of Player 1 (Red)) Equal to Night Elf
                    • Then - Actions
                      • Unit - Create 1 Wisp for Player 1 (Red) at (Center of P1Start <gen>) facing Default building facing degrees
                    • Else - Actions




-------------------------------------------
I'm not sure if people follow what I'm trying to achieve so here's a recap.

Force 1
1) Player
2) Player
3) Player
4) Computer

Force 2
5) Player
6) Player
7) Player
8) Computer

Map Initialization:
- Create 1 worker for each player.
- The unit that is created depends on the race that is selected by the player (4 default races).
- Each player got their own region where that unit should spawn.

That's basically what I'm trying to do.
The issues I got now when trying to create the loops:
What region belongs to what player?
Is there a player on the slot?
What race did the player pick?

I hope this helps you helping me :)
 

Shura

New Member
Reaction score
45
Run a loop with Integer A from 1 to 6, and then refer to the players through their player index, using Integer A.
 

Liquidor

New Member
Reaction score
0
Run a loop with Integer A from 1 to 6, and then refer to the players through their player index, using Integer A.

player index?
If you mean slots then I can't because there's a computer on slot 4 and 8

Team 1:
Player 1
Player 2
Player 3
Computer

Team 2:
Player 4
Player 5
Player 6
Computer

Or what do you mean?
They also have different spawn locations, should I use an array for that?
 

Liquidor

New Member
Reaction score
0
I've tried now and I just can't seem to find the right method.
I really don't want to have 50 different loops just to create 1 unit based on race :-/

Any help please?
I'm |-| this close to be done with my map, but still need this thing figured out.
 

HeX.16

Isn't Trollin You Right Now
Reaction score
131
Wait so your your problem is that you want to spawn 5 "workers" for each race? I would keep all the ifs and just change the spawn "1" unit X for XXX player to spawn "5" unit X for XXX player
 

Liquidor

New Member
Reaction score
0
Not sure what you mean.

6 players.
4 races.
1 worker per player based on the race.

That gives a lot of If-else :S
There has to be a better way
 

egomanyak

New Member
Reaction score
8
Just 4 action and 1 event ( map inita :p)

DONT TRY WITH TEST MAP
it works on online and single player
but not on test map :) (i think its because only picks blue as computer)

dont forget to change region, and units
 

Attachments

  • systeee.w3x
    13.6 KB · Views: 154

Liquidor

New Member
Reaction score
0
Just 4 action and 1 event ( map inita :p)

DONT TRY WITH TEST MAP
it works on online and single player
but not on test map :) (i think its because only picks blue as computer)

dont forget to change region, and units

Hi champ, thanks for your attempt, but it's not good enough sorry.

I had something similar to what you did, but the issue is that every player has each own starting region.
And doesn't "Pick every player in (All players)" also pick computer slots? If not then that's great, but still missing a solution to the issue about regions.
 

egomanyak

New Member
Reaction score
8
Hi champ, thanks for your attempt, but it's not good enough sorry.

I had something similar to what you did, but the issue is that every player has each own starting region.
And doesn't "Pick every player in (All players)" also pick computer slots? If not then that's great, but still missing a solution to the issue about regions.

Try this
 

Attachments

  • systeee.w3x
    13.9 KB · Views: 161

Liquidor

New Member
Reaction score
0
Hey, that's great !
Exactly what I needed.

I didn't know of the controller variable and the start location.
Instead of regions I'll just use the start location.

Thanks a lot.
Ehm +rep for you my friend ;)
 
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