Staredit Network

Staredit Network -> UMS Assistance -> Unit Giving Trigger
Report, edit, etc...Posted by ShadowBrood on 2004-10-24 at 23:12:00
Ok this is odd. I have always used this to select a person to be in control of a unit.
Trigger
Description:
Natural Selection
Players:
¤ All Players
Conditions:
¤ Player 1 Controls exactly 1 Zealot
Actions:
¤ Give All Dark Templar owned by Player 7 to Player 1

I have this same trigger running for 5 other players.
Now if Player 1 wasn't present, there wouldnt be a Zealot right? Instead it acts as if there was a Zealot there and gives the Dark Templar to Player 1, even if there is only Players 2, 3, 4, 5, and 6.

So... Can anyone help?

Ok, this might clear it up. The game starts with a Dark Templar owned by Player 7. Now, if Player 1 is present. The Dark Templar is given to him/her. If player 1 isn't present, it goes on to the next player, Player 2, and gives the Dark Templar to him. If Player 2 isn't there is goes on to Player 3 and so on and so forth.
Report, edit, etc...Posted by RexyRex on 2004-10-24 at 23:21:30
Staredit will give units to whatever player you tell it to, regardless if that player is there or not. So what you should do is make death counters to detect players.
Report, edit, etc...Posted by ShadowBrood on 2004-10-24 at 23:25:05
Hmmm how would I do that?

Note: the above trigger has worked in the past. That's the confusing thing to me.
That Zealot thing is firing it. If theres no Zealot, how could it fire?
Report, edit, etc...Posted by RexyRex on 2004-10-24 at 23:31:15
Two suggestions if this used to work:
1.) Redo the hypers? I doubt it, but this simple suggestion fixes many problems.
2.) Make sure there is no trigger creating a zealot for player 1 etc.

Can I see the map?
Report, edit, etc...Posted by DT_Battlekruser on 2004-10-24 at 23:40:43
3) None of this help is valid. He is sayign that there is no player 1 in the game and the fect player 1 has a zealot anyway has it. Two possible solutions.

1) Check you triggers

2) Make sure there is no action "create zealot for player 1". Even if a player is not there, untis can be made with trigger for them.
Report, edit, etc...Posted by ShadowBrood on 2004-10-24 at 23:44:39
Yup checked it. There is no trigger creating the Zealot.

ADDITION: Is it because I have the Zealot preplaced? Then when there is no Player 1 when the game starts it still sees it as there is a Zealot that belongs to it?
Report, edit, etc...Posted by RexyRex on 2004-10-24 at 23:46:25
I'll say it again: Can you post the map up so we can look at it and identify the problem? I don't think I'll steal it.

ADDITION: Try putting a Elasped time is at least 1 game second trigger instead of always, that might work.
Report, edit, etc...Posted by ShadowBrood on 2004-10-24 at 23:55:55
Nope sorry Rexy, but your "female ingenuity" didn't work for this bug. Try again next time tongue.gif .
Report, edit, etc...Posted by brutetal on 2004-10-25 at 00:34:57
QUOTE(ShadowBrood @ Oct 24 2004, 08:55 PM)
Nope sorry Rexy, but your "female ingenuity" didn't work for this bug.  Try again next time tongue.gif .
[right][snapback]89567[/snapback][/right]


lol thats just mean.

Anyways,
Staredit will usally always just fire the give trigger without the condition matching.
So you need to make sure you tell staredit to wait to have the condition to match and fire. I havent figured that out yet but theirs alot of ways that could.
Report, edit, etc...Posted by ShadowBrood on 2004-10-25 at 00:40:21
No, it's just bull censored.gif I get every day from a chick who's smarter than me at school. I've tried variations of the trigger, but it seems that it recognizes there being a Zealot in the game. Only problem is, it HAS to be there otherwise the whole rest of the map wont work. crazy.gif
Report, edit, etc...Posted by (U)Bolt_Head on 2004-10-25 at 00:41:59
QUOTE(RexyRex @ Oct 24 2004, 10:21 PM)
Staredit will give units to whatever player you tell it to, regardless if that player is there or not. So what you should do is make death counters to detect players.
[right][snapback]89544[/snapback][/right]


Uh. . . no and your advanced?

Just change the conditions and actions to refer to Current player. (or give the triggers to the player they refer to). If the player isn't there then he can't fire his own triggers now can he. No reason to make this difficult.

Edit: oh i guess i did read it wrong lol.
Report, edit, etc...Posted by ShadowBrood on 2004-10-25 at 00:43:33
Bolt, did you read the initial post? This worked for me in the past. Why I made this thread is because I didn't know why it wasn't working this time around.
Report, edit, etc...Posted by Cobra on 2004-10-25 at 00:44:46
Maybe you should show us the map. So we can mess arround with the triggers and possible see whats wrong.
Report, edit, etc...Posted by ShadowBrood on 2004-10-25 at 00:44:53
And another thing. I want it to detect if there is player 1 using that Zealot. If the Zealot isn't there, then it skips giving the Dark Templar to Player 1 and goes on to Player 2 and so on and so forth.
Report, edit, etc...Posted by brutetal on 2004-10-25 at 00:48:02
QUOTE(ShadowBrood @ Oct 24 2004, 09:44 PM)
And another thing.  I want it to detect if there is player 1 using that Zealot.  If the Zealot isn't there, then it skips giving the Dark Templar to Player 1 and goes on to Player 2 and so on and so forth.
[right][snapback]89589[/snapback][/right]


ok have it

CONDITION:
PLAYER 1 COMMANDS 0 DT

ACTION:
GIVE DT OWNED BY PLAYER 7 TO PLAYER 2
Report, edit, etc...Posted by SA_Max71 on 2004-10-25 at 00:49:29
QUOTE(ShadowBrood @ Oct 24 2004, 08:44 PM)
And another thing.  I want it to detect if there is player 1 using that Zealot.  If the Zealot isn't there, then it skips giving the Dark Templar to Player 1 and goes on to Player 2 and so on and so forth.
[right][snapback]89589[/snapback][/right]

Alright. I am assuming you aren't going to be using any neutral units (such as units player12 controls), so make this trigger:
Players:
All players
Condistion:
Neutral players command at least 1 any unit
Actions:
Remove all any units
Presever trigger.

This should fix this keep other players from getting a dt because it keeps player 1 from having a zealot if player one is not playing.
Report, edit, etc...Posted by ShadowBrood on 2004-10-25 at 00:49:54
No, what I'm saying is it detects if Player 1 is in the game by seeing if it owns a Zealot. If no Zealot for Player 1 is present, then it goes on to check if Player 2 is present.
Report, edit, etc...Posted by (U)Bolt_Head on 2004-10-25 at 00:50:40
QUOTE(ShadowBrood @ Oct 24 2004, 11:43 PM)
Bolt, did you read the initial post?  This worked for me in the past.  Why I made this thread is because I didn't know why it wasn't working this time around.
[right][snapback]89587[/snapback][/right]


Oh i guess so, i don't understand what your doing from reading your first post. I though you were trying to prevent them being given to a player when they were not present.

So err whats the zealot for, and how does it relate to your DT? Does only one player have the zealot and why would player 2 get it if p1 isn't there?

It almost sounds like your making like selection units like the starter for a defense map.

Edit Reread you first post, This time this is the way i understand it.
- You have a preplaced Zealot for player 1, if player 1 doesn't start the game there won't be a zealot there so you want to have another players triggers give the DT to the non existant player 1.
Report, edit, etc...Posted by ShadowBrood on 2004-10-25 at 00:57:56
Ok, this might clear it up. The game starts with a Dark Templar owned by Player 7. Now, if Player 1 is present. The Dark Templar is given to him/her. If player 1 isn't present, it goes on to the next player, Player 2, and gives the Dark Templar to him. If Player 2 isn't there is goes on to Player 3 and so on and so forth.

ADDITION: Yes thats right Bolt.

ADDITION: The edit to your post is what I'm referring to.
Report, edit, etc...Posted by (U)Bolt_Head on 2004-10-25 at 00:58:35
Ok fine, thats easy to understand (why were you talking about a zealot). Anyways just do this.

Force 1
Conditoins:
-Player 7 commands at least one DT
Actions:
-Give one DT owned by player 7 to Current player

That alone will give the DT to the lowest numbered player (because of trigger order). If now you didn't ask for this but this would give it to the next remaining player if the owner leaves the game.

Force 1
Conditions:
-Player 12 brings at least one DT to 'blah"
Actions:
-Give all DT owned by player 12 to player 7

Then after it is given back to player 7 The original trigger will give it to the next player. Now technacly you don't need a preserve trigger on ither one lol.

QUOTE(ShadowBrood @ Oct 24 2004, 11:57 PM)
Ok, this might clear it up.  The game starts with a Dark Templar owned by Player 7.  Now, if Player 1 is present.  The Dark Templar is given to him/her.  If player 1 isn't present, it goes on to the next player, Player 2, and gives the Dark Templar to him.  If Player 2 isn't there is goes on to Player 3 and so on and so forth.

ADDITION: Yes thats right Bolt.

ADDITION: The edit to your post is what I'm referring to.
[right][snapback]89597[/snapback][/right]

Err according to what you just explained that shouldn't be right at all. You don't want to give units to players who are not there do you?
Report, edit, etc...Posted by ShadowBrood on 2004-10-25 at 01:05:47
So in your first trigger it would give it to the next player going down a list of 8? What players does this trigger apply to?

ADDITION: [QUOTE]Err according to what you just explained that shouldn't be right at all. You don't want to give units to players who are not there do you?[/qoute]

Ok basically I just want the map to detect if Player 1 is there. If he/she is, then give the Dark Templar to him/her. If Player 1 isn;t then go to player 2 and so on.
Report, edit, etc...Posted by (U)Bolt_Head on 2004-10-25 at 01:09:40
Because of trigger order triggers are checked in the order of the players.
IE P1 > P2 > P3 > and so on.

When the game starts player 1 runs his triggers first by default. If he is there his trigger will detect the DTs presence and give the DT to player 1. The rest of the player's triggers will not fire because the DT is no longer owned by P7 and the conditions are false.

If player 1 later leaves then his DT will become owned by player 12 as an effect of the game. The second trigger will give the DT back to player 7. Now even though player 1 fired the first trigger at the start of the game doesn't mean the other players can't. After the DT is given to player 7 then the first trigger can fire for the next player in line the same way it did when the game started.

Oh yeah I forgot make sure the trigger i listed second is ON TOP of the other.

ADDITION:
QUOTE(ShadowBrood @ Oct 25 2004, 12:05 AM)
Ok basically I just want the map to detect if Player 1 is there. If he/she is, then give the Dark Templar to him/her.  If Player 1 isn;t then go to player 2 and so on.
[right][snapback]89600[/snapback][/right]

I know thats exactly what i explained how to do. I just improved on it a bit by adding the second trigger in there that will allow it to select the next player if the one owning the dt leaves the game. The first trigger alone will do what your asking.
Report, edit, etc...Posted by ShadowBrood on 2004-10-25 at 01:12:38
Ok the Dark Templar will only be used once in the begining to start the game. So I don't need it later. I need SC to detect if Player 1 is in the game so the Dark Templar isn't given to a non existant player and the game can't be played.
Report, edit, etc...Posted by brutetal on 2004-10-25 at 01:18:06
QUOTE(ShadowBrood @ Oct 24 2004, 10:12 PM)
Ok the Dark Templar will only be used once in the begining to start the game.  So I don't need it later.  I need SC to detect if Player 1 is in the game so the Dark Templar isn't given to a non existant player and the game can't be played.
[right][snapback]89602[/snapback][/right]


Do you really need player 1?
Report, edit, etc...Posted by (U)Bolt_Head on 2004-10-25 at 01:25:22
QUOTE(ShadowBrood @ Oct 25 2004, 12:12 AM)
Ok the Dark Templar will only be used once in the begining to start the game.  So I don't need it later.  I need SC to detect if Player 1 is in the game so the Dark Templar isn't given to a non existant player and the game can't be played.
[right][snapback]89602[/snapback][/right]


God damnit, i give up. I told you how to do that and i went back and explained it about as detailed as I could.

QUOTE(brutetal @ Oct 25 2004, 12:18 AM)
Do you really need player 1?
[right][snapback]89606[/snapback][/right]

Uhh Yes he needs human players or no one can play the game. Were not talking about "Player 1" we actually talking about the first human player.
Next Page (1)