Try removing (Status of player A) == Unused first.
I have a feeling that having a Computer slot is considered a Used slot.
Try that first.
EDIT:
Also, you don't have to make Target Unit and Target Location variables into arrays if you're not going to use them with arrays. Although if you have a reason to having them as variables with array, then go ahead, I highly recommend you to use them.
No offense, but do you think anyone cares that a new guy who noone knows about (your avatar is kewl tho) is making a new map? You're better off posting a tutorial about how to do it :)
What was that for? Increasing post count?
Anyway, I think you should have posted this in Off-Topic or Project Brainstorming...
I'm going to check your map out if you ever do manage to do that.
Aight, the ZZMS variable isn't the best idea in a map that keeps on growing but it is the slimmest way to do this.
I think adding more unit types would be simple enough though.
Feel free to use your other concept (Though if you will, I'll show you how to do it properly)
If you are going to use your original concept, expect additional 10 lines of actions for every trigger that will find the player's unit type.
Also, looking back at this, I find it strange that I had written a whole tutorial just for my damn trigger and just for helping you.
Maybe I'm going to be a teacher one day :P
Ah, are you new with triggering? A person coming from WC3 would have known these things.
I didn't use any advanced actions, events or variables. I just added a few simple actions and smart tricks that makes it shorter.
Anyways, here's a guide to that damn trigger. These things you learn can be applied to other triggers.
Variables:
Temporary Integer = Temporary because it should only be used for instant instances. (The ones where it isn't waited to be used) Random Integer = Sets it to 1-4. Absolutely random, and patterns are just coincidence.
Hero[x] = Sets it to the Last Created Unit. x = Player Number. So Hero[1] is the sole unit of Player 1.
Random Unit Type[x] = This is where you set the unit types. Like set Random Unit Type[2] to Zergling. x = Unit types. 1 = Zealot; 2 = Zergling and etc. I suggest you stay with that order.
Zealot, Zergling, Marine, Stalker[x][y] = A boolean (T/F). It's pretty much like your original Zealot, Zergling etc., booleans but compressed into 4 arrays. (Arrays are used to put multiple values into one variable) x = This is where the player number is. y = Unit types and if they're true or false.
For example:
Player 2 is spawned into a Zergling
Zergling is the 2nd word of the variable "Zealot, Zergling, Marine, Stalker[x][y]"
This means that it will set the variable "Temporary Integer" into 1, and then you do the actions below, then after that is completed, it sets the variable into 2, and then uses that number again on the actions below.
If = If the conditions are all positive, then it will do the actions in Then.
Then = The actions inside this only occurs when If is all positive.
Else = The actions inside this only occurs when at least one of the conditions in If is negative.
IF
(Triggeringunit)==Hero[TemporaryInteger]
In other words, this condition is used up 4 times in the run of the trigger.
If, let's say, Hero[4] is TRUE while the others are FALSE, then number 4 is carried over to the THEN actions. It will be known as (Temporary Integer) through the run of the THEN actions.
Sets the variable "Random Integer" to a random number from 1 to 4. This is required. You are setting a variable into one of those 4 numbers. Once this action is completed (the set variable action) then you'll have one non-random value from 4 numbers. Example, the "Random Integer" sets its value into 3. In the whole trigger, the number 3 will be used. NOT a random integer from 1 to 4.
In the Trigger, "Set Variables", you'll notice I had set some of the variables. This is required because there is no other time that these variables will be set into a value, other than in that Trigger.
Okay, so you've placed Unit Type values in the variables in numerical order.
Then you pick a random value in Random Unit Type using the "Random Integer" variable.
Then the current "Temporary Integer" is used to know which player is getting the unit.
Then you'll create a unit of a random unit type for a player in integer form called "Temporary Integer"
If you had a hard time seeing what that meant, just take this example.
....... Create a unit of unit type .......
Variables are...
Random Integer = Number 3 of 1 to 4
Random Unit Type[1] = Zealot
Random Unit Type[2] = Zergling
Random Unit Type[3] = Marine
Random Unit Type[4] = Stalker
Temporary Integer = 2
Remember the Unit variable with arrays called Hero[Array]?
It will set the unit of that player to the Last Created Unit, which happens to be just above this action. (Create Unit For Player action)
0
For your first problem. Look for Portrait in Triggers.
0
Okay, I'm getting even more confused.
Why don't you just tell me what the trigger does in-game perspective.
0
Try removing (Status of player A) == Unused first.
I have a feeling that having a Computer slot is considered a Used slot.
Try that first.
EDIT:
Also, you don't have to make Target Unit and Target Location variables into arrays if you're not going to use them with arrays. Although if you have a reason to having them as variables with array, then go ahead, I highly recommend you to use them.
0
Can you explain it further more. I'm having a hard time triggering for you when I'm unsure of what you said.
0
What was that for? Increasing post count?
Anyway, I think you should have posted this in Off-Topic or Project Brainstorming...
I'm going to check your map out if you ever do manage to do that.
0
I usually get banned by moderators when they spend too much time in the forums. Other than that, I don't.
I've been playing the world editor for 5 years now. I map-make and usually never release 70% of the maps that I spend more than a day with.
If anyone wants to invite me to their project, I'll consider joining. I don't know a bit of this "Data Editor" though.
0
Oh, I've played that game. I have to say that your map has so many... mysteries inside it.
Nice to see a well-known mapmaker into the SC2 community.
0
Exactly. Why play COD in Starcraft when you can play the actual thing?
0
Aight, the ZZMS variable isn't the best idea in a map that keeps on growing but it is the slimmest way to do this.
I think adding more unit types would be simple enough though.
Feel free to use your other concept (Though if you will, I'll show you how to do it properly)
If you are going to use your original concept, expect additional 10 lines of actions for every trigger that will find the player's unit type.
Also, looking back at this, I find it strange that I had written a whole tutorial just for my damn trigger and just for helping you.
Maybe I'm going to be a teacher one day :P
0
You can either follow that and hopefully understand the mechanics of my trigger one by one or...
Just ask me bit by bit. Your call. I'm getting tired of explaining them further more.
0
Ah, are you new with triggering? A person coming from WC3 would have known these things.
I didn't use any advanced actions, events or variables. I just added a few simple actions and smart tricks that makes it shorter.
Anyways, here's a guide to that damn trigger. These things you learn can be applied to other triggers.
Variables:
Temporary Integer = Temporary because it should only be used for instant instances. (The ones where it isn't waited to be used)
Random Integer = Sets it to 1-4. Absolutely random, and patterns are just coincidence.
Hero[x] = Sets it to the Last Created Unit.
x = Player Number. So Hero[1] is the sole unit of Player 1.
Random Unit Type[x] = This is where you set the unit types. Like set Random Unit Type[2] to Zergling.
x = Unit types. 1 = Zealot; 2 = Zergling and etc. I suggest you stay with that order.
Zealot, Zergling, Marine, Stalker[x][y] = A boolean (T/F). It's pretty much like your original Zealot, Zergling etc., booleans but compressed into 4 arrays. (Arrays are used to put multiple values into one variable)
x = This is where the player number is.
y = Unit types and if they're true or false.
For example:
Player 2 is spawned into a Zergling
Zergling is the 2nd word of the variable "Zealot, Zergling, Marine, Stalker[x][y]"
Therefore,
Zealot, Zergling, Marine, Stalker[2][1] = False
Zealot, Zergling, Marine, Stalker[2][2] = True
Zealot, Zergling, Marine, Stalker[2][3] = False
Zealot, Zergling, Marine, Stalker[2][4] = False
Actions:
This means that it will set the variable "Temporary Integer" into 1, and then you do the actions below, then after that is completed, it sets the variable into 2, and then uses that number again on the actions below.
If = If the conditions are all positive, then it will do the actions in Then.
Then = The actions inside this only occurs when If is all positive.
Else = The actions inside this only occurs when at least one of the conditions in If is negative.
IF
In other words, this condition is used up 4 times in the run of the trigger.
(Triggering unit) == Hero[1]
(Triggering unit) == Hero[2]
(Triggering unit) == Hero[3]
(Triggering unit) == Hero[4]
If, let's say, Hero[4] is TRUE while the others are FALSE, then number 4 is carried over to the THEN actions. It will be known as (Temporary Integer) through the run of the THEN actions.
THEN
Sets the variable "Random Integer" to a random number from 1 to 4. This is required. You are setting a variable into one of those 4 numbers. Once this action is completed (the set variable action) then you'll have one non-random value from 4 numbers. Example, the "Random Integer" sets its value into 3. In the whole trigger, the number 3 will be used. NOT a random integer from 1 to 4.
In the Trigger, "Set Variables", you'll notice I had set some of the variables. This is required because there is no other time that these variables will be set into a value, other than in that Trigger.
Okay, so you've placed Unit Type values in the variables in numerical order.
Then you pick a random value in Random Unit Type using the "Random Integer" variable.
Then the current "Temporary Integer" is used to know which player is getting the unit.
Then you'll create a unit of a random unit type for a player in integer form called "Temporary Integer"
If you had a hard time seeing what that meant, just take this example.
....... Create a unit of unit type .......
Variables are...
Random Integer = Number 3 of 1 to 4
Random Unit Type[1] = Zealot
Random Unit Type[2] = Zergling
Random Unit Type[3] = Marine
Random Unit Type[4] = Stalker
Temporary Integer = 2
Then...
Random Unit Type[Random Integer] = Marine
This Marine is given to Player 2.
Remember the Unit variable with arrays called Hero[Array]?
It will set the unit of that player to the Last Created Unit, which happens to be just above this action. (Create Unit For Player action)
This one is slightly harder to understand unless you've fully understood how the following works.
For Each Temporary Integer from 1 to 4 and blah blah.
Random Integer = Random integer from 1 to 4
Arrays
Pretty hard to explain so I'll give an example of this:
Variable - Set Zealot, Zergling, Marine, Stalker[2][3] = true
Zealot = 1
Zergling = 2
Marine = 3
Stalker = 4
This means Player 2 has Marine as True.
The actions after this is pretty self explanatory.
Alright, enough typing, time to play PS3.
0
Triggers > Unit > Set Unit State
You can do things like:
There's a lot of options there, you'll like it.
0
Your system was a little fat, so I took the liberty to slim it down.
Below is everything that your trigger was. (Except for the Region variables)
Just let me know if you still want help with your triggers.
0
Can I see that other trigger?
0
A dedicated team at this kind of time?