I'm working on a map and I need to make a Winning condition for the 3 modes I have in it, Free For All, 2v2, and 4v4. No matter what I do for some reason the Win triggers I make won't work and the last player or team standing has to quit the game, instead of the game saying they win. Could anyone help me? If there is more information needed I will try to update it.
Below is the attachment for the map. The trigger system uses Boolean and Integers to see who wins or loses. The Boolean identifies what game mode it's in while the integers count up the amount of players. The trigger has undergone many changes and I am stuck. The Winning triggers are also turned off initially, but when a game mode is picked it activates the Win condition for that game mode. The Lose condition always remains the same and when you lose your Pylon you automatically lose.
I would greatly appreciate anyone who could help me resolve this issue and give credit for it in the map.
Could anyone help me figure it out? Like just giving me hints as far as what I should be basing the Winning conditions off of? It would be much appreciated.
i took a look at your map, and its gonna be tough for someone to figure out whats going on cause most things are just represented by integers and its a bit too much to shift through to figure out whats going on.
if you could try to explain what you want the win/lose conditions to be in more detail i could try helping you
From the short time I've had with it, it seems like he wants a player to be defeated when their pylon dies, and he is trying to use a variable to track how many players still have their pylons alive. He also compares the number of active players to the number of defeated players, and if there is a difference of only 1 between them (the winning player) he wants to declare victory for the undefeated player.
That seems to be the intent, but it's really mixed up and seems to be doing it in a way that's harder than necessary. It'll take me some time to sort through in detail, but maybe that'll help others looking at it.
well im too lazy to sort though his triggers so imma just copy n paste how a trigger that makes a player lose when they lose a specific unit look
Untitled Trigger 001
Events
Unit - <Unit that if dies causes player to lose> dies
Local Variables
Conditions
Actions
Game - End game in Defeat for player (Triggering player) (Show dialogs, Show score screen)
General - If (Conditions) then do (Actions) else do (Actions)
If
(Number of players in (Allies of player (Triggering player))) == 0
Then
Player Group - Pick each player in (Enemies of player (Triggering player)) and do (Actions)
Actions
Game - End game in Victory for player (Picked player) (Show dialogs, Show score screen)
Else
OK, so I'm not sure why you did some things the way you did them (not saying you're wrong, just that I can't figure it out yet). I'm going to attach a screenshot of how I would have gone about your "do you win?" trigger, but keep in mind that I haven't (and can't, I think) test this out as it seems like it would require another player to test correctly.
Edit: guy above me has decent ideas as well. I'm not sure which will be more useful so I'll still show you what I did.
Although, I have another question. When you add a local variable, all texts, messages etc... gets broken. Why? By the way, by adding a local variable, that trigger works... Like:
Local Variables
Objective = Defend Me! <Game Link - Unit>
Conditions
(Unit type of (Triggering unit)) == Objective
This works and when you lose your "Defend Me!" (Pylon) game ends. Although all other texts and messages gets broken as I've said.
Can u explain a bit more by what you mean broken? It might be because you are setting it as a string type of variable when a certain function needs text, or its just bugged there always that possibility
Have you run the map? For example, on your right, (tips) you can look at some written stuff. Or on error box, there are messages appearing. When I define a local variable to that trigger in question, all those written stuff turns into Param/blahblahblah for example. I wonder why this happens, as I'm referring to a local variable, not even global... Editor bug? *edit: btw, variable is unit type, not string... I'm confused a little bit, going to try avoiding all kinds of variables from now on...*
And @HandLMaps, just add this to your trigger's event list:
Yeah, only time I used Local Variables that was an integer was when it was going to be used for "For Each Integer" blah blah trigger. Instead of wasting a Global Integer and making me look through more triggers. Last night I kind of got to thinking of maybe just having it so every 0.001 seconds it checks for if the player has 0 enemies left, if he does then he wins.
Edit: I am going to attach the new system of Win/Lose I have for the game.
To Find it in the Triggers look under these folders:
Version 1.0 - Base Triggers -> Version 1.0 Win/Lose Settings -> Win Lose Folder
I completely changed the trigger... Hopefully someone would be able to tell me if that looks right.
(Point of the game is to be the last Person/Team (Depending on if you are in FFA or a Team Based mode) remaining.)
Lose condition was working with a simple event - "Game - Map initialization". Also changed Win condition but haven't tried it. Will take a look at new version soon.
By the way, you are trying to reach the conclusion with longer ways. Relax, take a minute to breath, and you'll see that there are many other shorter ways :)
Can you please explain what you want the win/lose conditions to be. For example do u want a player to lose when they lose all their buildings or they have no more minerals left etc.. From the looks of it you are making the Triggers more complex then they need to be.
Edit: added a copy/paste of triggers
4v4 Win/lose trigger
4v4 win/ Lose
Events
Unit - Any Unit dies
Local Variables
Conditions
(Unit type of (Triggering unit)) == The unit you want to trigger a player losing
Actions
Game - End game in Defeat for player (Triggering player) (Show dialogs, Show score screen)
Player Group - Pick each player in (Enemies of player (Triggering player)) and do (Actions)
Actions
General - If (Conditions) then do (Actions) else do (Actions)
If
(Number of players in (Allies of player (Triggering player))) == 0
Then
Game - End game in Victory for player (Picked player) (Show dialogs, Show score screen)
Else
FFA win/lose trigger
FFA win/ Lose
Events
Unit - Any Unit dies
Local Variables
Conditions
(Unit type of (Triggering unit)) == The unit you want to trigger a player losing
Actions
Game - End game in Defeat for player (Triggering player) (Show dialogs, Show score screen)
Player Group - Pick each player in (Enemies of player (Triggering player)) and do (Actions)
Actions
General - If (Conditions) then do (Actions) else do (Actions)
If
(Number of players in (Enemies of player (Triggering player))) == 1
Then
Game - End game in Victory for player (Picked player) (Show dialogs, Show score screen)
Else
The way tho triggers work is that when a player loses they leave the game, even if they have a teammate who is still alive. Also you would need another trigger to turn one of those top triggers on or off depending on which settings you want
I'm working on a map and I need to make a Winning condition for the 3 modes I have in it, Free For All, 2v2, and 4v4. No matter what I do for some reason the Win triggers I make won't work and the last player or team standing has to quit the game, instead of the game saying they win. Could anyone help me? If there is more information needed I will try to update it.
Below is the attachment for the map. The trigger system uses Boolean and Integers to see who wins or loses. The Boolean identifies what game mode it's in while the integers count up the amount of players. The trigger has undergone many changes and I am stuck. The Winning triggers are also turned off initially, but when a game mode is picked it activates the Win condition for that game mode. The Lose condition always remains the same and when you lose your Pylon you automatically lose.
I would greatly appreciate anyone who could help me resolve this issue and give credit for it in the map.
Post your trigger so i can see what is wrong with it.
You also need to give a description of what your winning condition is supposed to be, kinda hard to help you if i dont know the problem.
Also, when using different "modes", make all winning triggers initially off and enable the one that fits with the mode.
Could anyone help me figure it out? Like just giving me hints as far as what I should be basing the Winning conditions off of? It would be much appreciated.
@HandLMaps: Go
Downloading the map now, I'll take a look but no guarantees of course :D
@HandLMaps:
i took a look at your map, and its gonna be tough for someone to figure out whats going on cause most things are just represented by integers and its a bit too much to shift through to figure out whats going on.
if you could try to explain what you want the win/lose conditions to be in more detail i could try helping you
@gizmachu: Go
From the short time I've had with it, it seems like he wants a player to be defeated when their pylon dies, and he is trying to use a variable to track how many players still have their pylons alive. He also compares the number of active players to the number of defeated players, and if there is a difference of only 1 between them (the winning player) he wants to declare victory for the undefeated player.
That seems to be the intent, but it's really mixed up and seems to be doing it in a way that's harder than necessary. It'll take me some time to sort through in detail, but maybe that'll help others looking at it.
well im too lazy to sort though his triggers so imma just copy n paste how a trigger that makes a player lose when they lose a specific unit look
Untitled Trigger 001
Events
Unit - <Unit that if dies causes player to lose> dies
Local Variables
Conditions
Actions
Game - End game in Defeat for player (Triggering player) (Show dialogs, Show score screen)
General - If (Conditions) then do (Actions) else do (Actions)
If
(Number of players in (Allies of player (Triggering player))) == 0
Then
Player Group - Pick each player in (Enemies of player (Triggering player)) and do (Actions)
Actions
Game - End game in Victory for player (Picked player) (Show dialogs, Show score screen)
Else
OK, so I'm not sure why you did some things the way you did them (not saying you're wrong, just that I can't figure it out yet). I'm going to attach a screenshot of how I would have gone about your "do you win?" trigger, but keep in mind that I haven't (and can't, I think) test this out as it seems like it would require another player to test correctly.
Edit: guy above me has decent ideas as well. I'm not sure which will be more useful so I'll still show you what I did.
Yeah, get rid of conditions and specifically identify the unit. Then copy-paste it and be sure that you change the specified unit with each paste.
edit: Just add "Game - Map initialization" to your trigger's event list.
Although, I have another question. When you add a local variable, all texts, messages etc... gets broken. Why? By the way, by adding a local variable, that trigger works... Like:
Local Variables
Objective = Defend Me! <Game Link - Unit>
Conditions
(Unit type of (Triggering unit)) == Objective
This works and when you lose your "Defend Me!" (Pylon) game ends. Although all other texts and messages gets broken as I've said.
@lyravega:
Can u explain a bit more by what you mean broken? It might be because you are setting it as a string type of variable when a certain function needs text, or its just bugged there always that possibility
this is getting a bit off topic, but w.e. lol
Have you run the map? For example, on your right, (tips) you can look at some written stuff. Or on error box, there are messages appearing. When I define a local variable to that trigger in question, all those written stuff turns into Param/blahblahblah for example. I wonder why this happens, as I'm referring to a local variable, not even global... Editor bug? *edit: btw, variable is unit type, not string... I'm confused a little bit, going to try avoiding all kinds of variables from now on...*
And @HandLMaps, just add this to your trigger's event list:
Game - Map initialization
Sometimes we look at the wrong things I think :P
@lyravega:
Yeah, only time I used Local Variables that was an integer was when it was going to be used for "For Each Integer" blah blah trigger. Instead of wasting a Global Integer and making me look through more triggers. Last night I kind of got to thinking of maybe just having it so every 0.001 seconds it checks for if the player has 0 enemies left, if he does then he wins.
Edit: I am going to attach the new system of Win/Lose I have for the game.
To Find it in the Triggers look under these folders:
Version 1.0 - Base Triggers -> Version 1.0 Win/Lose Settings -> Win Lose Folder
I completely changed the trigger... Hopefully someone would be able to tell me if that looks right.
(Point of the game is to be the last Person/Team (Depending on if you are in FFA or a Team Based mode) remaining.)
@HandLMaps: Go
Lose condition was working with a simple event - "Game - Map initialization". Also changed Win condition but haven't tried it. Will take a look at new version soon.
By the way, you are trying to reach the conclusion with longer ways. Relax, take a minute to breath, and you'll see that there are many other shorter ways :)
@HandLMaps:
Can you please explain what you want the win/lose conditions to be. For example do u want a player to lose when they lose all their buildings or they have no more minerals left etc.. From the looks of it you are making the Triggers more complex then they need to be.
Edit: added a copy/paste of triggers
4v4 Win/lose trigger
4v4 win/ Lose
Events
Unit - Any Unit dies
Local Variables
Conditions
(Unit type of (Triggering unit)) == The unit you want to trigger a player losing
Actions
Game - End game in Defeat for player (Triggering player) (Show dialogs, Show score screen)
Player Group - Pick each player in (Enemies of player (Triggering player)) and do (Actions)
Actions
General - If (Conditions) then do (Actions) else do (Actions)
If
(Number of players in (Allies of player (Triggering player))) == 0
Then
Game - End game in Victory for player (Picked player) (Show dialogs, Show score screen)
Else
FFA win/lose trigger
FFA win/ Lose
Events
Unit - Any Unit dies
Local Variables
Conditions
(Unit type of (Triggering unit)) == The unit you want to trigger a player losing
Actions
Game - End game in Defeat for player (Triggering player) (Show dialogs, Show score screen)
Player Group - Pick each player in (Enemies of player (Triggering player)) and do (Actions)
Actions
General - If (Conditions) then do (Actions) else do (Actions)
If
(Number of players in (Enemies of player (Triggering player))) == 1
Then
Game - End game in Victory for player (Picked player) (Show dialogs, Show score screen)
Else
The way tho triggers work is that when a player loses they leave the game, even if they have a teammate who is still alive. Also you would need another trigger to turn one of those top triggers on or off depending on which settings you want