Ok my question may be a bit diffucult to get out.
Ok here goes..
When their are 3 players in a game but it is inteened for 4 players in a game how do you make it were the units won't build unless their is a player to control it.
For example:
in ling blood type games it is intended for what 7 players i belive. Now when only 5 people join and start game the other to players won't make lings. How do you make it that way?
See when i start my game up even by my self all 3 of the players start by them selves with no one to control them.
ok any help will be good thanks.
Make a detecting unit (preplaced) for each player. Then for the conditions that create the units, make 'Current Player Commands exactly 1 Detect Player' as another condition.
A player that isn't there won't have any preplaced units. Thus, they will not get units because all conditions weren't satisfied (They won't have the detecting unit).
I have the same problem haha, i posted a thread just before you xD, we need a trigger to deactivate those players who left or something
ADDITION:
damn nice solution, it will also work for me i think, thanks Lethal
i don't understand what your saying leathle
omg...you guys...triggers dont work for people that are not there...do they?
so i dont think they wont creat them if you put the triggers in the player's triggers, not the forces.
they create computer forces and the trigger still goes
leathle the player detect thing just didn't work. here is my triggers for creating units and see if this can help you guys figure out whats goin on.
players:
force 1
conditions:
always
current player commands exactly 1 player detect
ations:
create 1 zergling at loaction for player 1
create 1 zergling at loaction for player 2
create 1 zergling at loaction for player 3
create 1 zergling at loaction for player 4
preserve trigger.
Make it like this:
Players:
Player 1
Condtions:
Current Player Commands exactly 1 Player Detect
Actions:
Create 1 Zergling at Location for Player 1
(If you have Hyper Triggers, Add a wait so units don't spawn 10+ per second)
Preserve Trigger
Do the same for Players 2, 3, and 4, but change the Player 1 to Player 2, Player 3, and Player 4
Actually, as said before, triggers shouldn't run for a player that isn't there. Try this, but I believe you could just place Always in the conditions instead (Make sure the players is Player 1, Player 2, etc, though).
QUOTE
Make it like this:
Players:
Player 1
Condtions:
Current Player Commands exactly 1 Player Detect
Actions:
Create 1 Zergling at Location for Player 1
(If you have Hyper Triggers, Add a wait so units don't spawn 10+ per second)
Preserve Trigger
Do the same for Players 2, 3, and 4, but change the Player 1 to Player 2, Player 3, and Player 4
Actually, as said before, triggers shouldn't run for a player that isn't there. Try this, but I believe you could just place Always in the conditions instead (Make sure the players is Player 1, Player 2, etc, though).
There is no need for a
player detect condition anymore since you're having each indivisual spawning trigger owned and executed by each player. Just like you said, a player cannot execute a trigger if he/she/it does not exist.
yay it worked now to another problem about the same thing..
ok i wanna use hypers but like lethal said something will spawn 10 per second now how would i make the trigger hyper and were would i put the waiting time at?
To make hypers...just do this:
Player:
Any player without waits (preferably a computer)
Conditions:
Always
Actions:
Wait 0 seconds x 63 (that means make 63 of these actions)
PreserveTrigger
You should make 3 copies of that trigger.
After you make that...as Letal said lings would spawn like 10 a second. That's why you have to put either a big fat wait...or just use a deathcount. I'm assuming you'll use a wait. Just make a trigger to create '1' 'unit' and 'spawn location' and other actions you want....then add that big fat wait. Remember: 1000 milliseconds is 1 second. If you want to use deathcounts....I believe 10 deathcounts is about 1 second...
never ever use waits...trust me..unless that the only trigger on the player....
use deaths counters. i believe its 12 deaths per second with hypers. so if you spawn 1 per second, everytime you reach 12 you make one and set deaths back to 0.
It's recommended that you try to restrict your use of wait actions when using hypertriggers as well. In particular, make sure whichever player owns the hypertriggers does not have any wait actions other than those in the hypertriggers.
Without hypers, your trigger might look like this:
| Trigger |
| Description: |
| this trigger will create everyone's lings in one go, and only for players in-game. |
|
| Players: |
| ¤ Force 1 (or every player that spawns lings) |
| Conditions: |
| ¤ Always. |
| Actions: |
¤ Create 1 zergling for current player at "out of the way place"
|
¤ Move all zergling for player 1 at "out of the way place" to "player 1's spawn location"
|
¤ Move all zergling for player 2 at "out of the way place" to "player 2's spawn location"
|
¤ ...[continue in the same way for each player]
|
| ¤ Preserve trigger. |
With hypers, you should have a trigger which always adds to a death counter for a player who must be in the game (e.g. a computer, or "All players"):
| Trigger |
null| Players: |
| ¤ player 8 |
| Conditions: |
| ¤ Always. |
| Actions: |
¤ add 1 to deaths of "rhynadon" for player 8.
|
| ¤ Preserve trigger. |
Then the first trigger above would have to be modified:
1) the condition should be changed to "player 8 has suffered at least 12 deaths of rhynadon"
2) there has to be another action added - "subtract 12 deaths of "rhynadon" for player 8" (it would also work if you set deaths to 0)
And that's it.
Notice that in the first trigger, without hypertriggers, there's no need for a wait action at the end if you want the lings to spawn once a second.
QUOTE(cuinhell(ds) @ Mar 22 2005, 07:19 PM)
leathle the player detect thing just didn't work. here is my triggers for creating units and see if this can help you guys figure out whats goin on.
players:
force 1
conditions:
always
current player commands exactly 1 player detect
ations:
create 1 zergling at loaction for player 1
create 1 zergling at loaction for player 2
create 1 zergling at loaction for player 3
create 1 zergling at loaction for player 4
preserve trigger.
[right][snapback]170584[/snapback][/right]
Just change the action of that trigger to create for current player (just one of them). And get rid of the stupid player detect thing.
WALA done.
Everyone is making this WAY to complicated. You don't need to detect weathor or not the players are there. All you have to do is only create units for the players that own them, If the player isn't there his trigger won't fire.
LethaL: Your suggestions would work but there horrable ideas.
PS. Biscit it is easyer to use a centering location instead of creating the units elsewhere and moving them.
Man, what's wrong with you guys. You treat waits and switches like they're sin and if you use them then God will smite you off the planet. Settle down -_-
In case you don't understand how to use deathcounts as a wait, you can simply use a transmission. The wait inside it still works even with hyper triggers.
QUOTE(Ultimo @ Mar 23 2005, 12:09 AM)
Man, what's wrong with you guys. You treat waits and switches like they're sin and if you use them then God will smite you off the planet. Settle down -_-
[right][snapback]170798[/snapback][/right]
People fear that of witch they do not understand. Very few people understand waits, so their solution is to not use it. Then they press there fears on the inoccent making things worse for everyone.
QUOTE((U)Bolt_Head @ Mar 23 2005, 04:58 PM)
PS. Biscit it is easyer to use a centering location instead of creating the units elsewhere and moving them.
[right][snapback]170791[/snapback][/right]
Yep, it would be easier.
For everyone else:
The problem with wait actions is that wait actions are 'blocking' actions. This means that two wait actions cannot run at the same time for any given player. If a trigger is told to wait while another trigger is already waiting, it will not start its wait action until the other trigger finishes waiting. So it will wait for longer than you wanted it to.
This is why you have to be careful with triggers with wait actions in them. In particular, maps with hypertriggers should not have any other wait actions at all for the player controlling the hypertriggers because they will interfere.
That's not to say that you can't use wait actions or that you shouldn't at all, just that you should be aware that they can interfere with one another.
QUOTE(in_a_biskit @ Mar 23 2005, 03:57 AM)
Yep, it would be easier.
For everyone else:
The problem with wait actions is that wait actions are 'blocking' actions. This means that two wait actions cannot run at the same time for any given player. If a trigger is told to wait while another trigger is already waiting, it will not start its wait action until the other trigger finishes waiting. So it will wait for longer than you wanted it to.
This is why you have to be careful with triggers with wait actions in them. In particular, maps with hypertriggers should not have any other wait actions at all for the player controlling the hypertriggers because they will interfere.
That's not to say that you can't use wait actions or that you shouldn't at all, just that you should be aware that they can interfere with one another.
[right][snapback]170853[/snapback][/right]
very well said Biskit, I would give you karma but we they kinda removed it.