Event Response - Triggering player: when does it return a player?

meehael

New Member
Reaction score
6
Hello everyone,

I have some trouble with a map I'm making at the moment. It is a multiplayer map for 12 players. When you choose this map to play, select your race and the map loads up, I created a dialog with four buttons which immediately pops up, offering you to pick a class for the race you just chose, before you really begin playing the map.

I created event for the trigger: Time Elapsed: 1 sec.
Conditions: since there are 12 players, it should check whether a player is playing or not, before showing the dialog to that player.
Actions: create those four dialog buttons and show the dialog to the active player.

It looks something like this:
Event: Time Elapsed: 1 sec
Condition: none
Action:
If/Then/Else multiple actions:
If Condition: Player 1 (red) slot is playing
Then Actions:
-create four dialog buttons and show the dialog to player 1 (red)

If/Then/Else multiple actions:
If Condition: Player 2 (blue) slot is playing
Then Actions:
-create four dialog buttons and show the dialog to player 2 (blue)
.
.
.
and so on, up until player 12

Problem is: if, for ex., two of us are playing, then the trigger will run for both of us, of course, and the dialog will show twice for both of us, won't it!

So I was wondering if I could somehow include the "Triggering player event response"? It seemed somehow natural in this case (by the name, anyway), but it doesn't work like it should. The active player to whom the trigger triggers should get some kind of a marker, and then I could use that marker for comparison. Something like this:
Event: Elapsed Time: 1 sec
Condition: Triggering player is Player 1 (red)
Actions:.....

I'm thinking that if I'm the red player, and the other player is blue, and if the trigger triggers for me, I should get the marker Triggering player, no? And since I'm red, other conditions will never come true. The same goes for blue player.

But it doesn't work.

Does anyone know how could I solve this problem?

Thanks,
Regards!
 

Bonzo

New Member
Reaction score
4
I wouldnt do it with a dialog.
My suggestion is to create a shop for each player (what shop depends on the race) and give it an item for each class. Now use the event "A unit sells an item" then check the item type and create the matchin building for the owner of selling unit or anything else you want to do after a player has chosen a class.

Greets Bonzo
 

AceHart

Your Friendly Neighborhood Admin
Reaction score
1,495
> it should check whether a player is playing or not, before showing the dialog to that player


Dialog - Clear
Dialog - Set title
Dialog - Add button
Set Button[1] = (Last created button)
Dialog - Add button
Set Button[2] = (Last created button)
Pick every player in (All players) and do
- Dialog - Show to (Picked player)


Event:
- A dialog button is clicked for ...
Conditions:
Actions:
If (Clicked button) equal to Button[1] then ... whatever needs doing for (Triggering player)
If ... and so on for all other buttons
 

meehael

New Member
Reaction score
6
Interesting solution, acehart. I'll go and try to this right now, thnx!

@bonzo: an interesting suggestion, thnx!
 

meehael

New Member
Reaction score
6
hey acehart,

don't you think it will show the dialog multiple times, again? the event will kick in once for each player, and thus showing the dialog to each player multiple times?

thnx
 

Siretu

Starcraft 2 Editor Moderator
Reaction score
293
There's no triggering player since Triggering player refers to the event, there's no player in the event and does therefore not work.
 
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