Page 1 of 1

How do I victory everybody else when phantom player is defea

Posted: Mon Feb 09, 2009 5:34 pm
by HypeFactor
We met on Yahoo Answers, you told me to post it up here.
So, I've set 'pickedplayer' to random(all players)
I want it so that when 'pickedplayer' loses the game, everyone else will win.

Re: How do I victory everybody else when phantom player is defea

Posted: Tue Feb 10, 2009 12:13 am
by 3ICE
Solution:
t_pgr Player Group - Pick every player in (All players) and do (If ((Picked player) Not equal to pickedplayer) ...
... then do (Game - Victory (Picked player) (Show dialogs, Show scores)) else do (Do nothing))
http://answers.yahoo.com/question/?qid=20090208093552AA0A9Y2

Sorry, but I have to say your map is terribly unbalanced. (Great game idea though!)
The phantom is revealed in the 5th second of the game, making it super easy to cooperatively rush him before he gets a chance of amassing his defenses. (Unless nobody scouted him.)
But should he magically survive the first rush, he will have 1 million gold and lumber forever (+5000 a sec), making it impossible to defeat him later.

Therefore I suggest you lower his income and give him a defensive unit/aura/whatever through this trigger:
t_uni Unit - Create 1 Defensive Unit for pickedplayer at (pickedplayer start location) facing 0.00 degrees

More suggestions:
t_tri Random Selection should be merged with t_tri Melee Initialization since they both share the event: t_all Map initialization
t_tri Reveal should be repeated a few times just to make sure everyone catches the message. Creating a quest would help:
t_lea Quest - Create a Required quest titled Who's the phantom? with the description ((Name of pickedplayer) + is the phantom!), using icon path Phantom.blp
You should rename the variable pickedplayer to phantom. Makes more sense that way.
You should delete the variable Defeat. It is not used. (The other variables are mostly useless as well.)

Re: How do I victory everybody else when phantom player is defea

Posted: Tue Feb 10, 2009 5:27 pm
by HypeFactor
Thank, all those variables are from before. I planned to make a vote, but I decided not to and forgot to delete them.
Also, I put the 5 seconds and +5000 gold so when I'm testing the game I can see the trigger working clearer and get back to editing.
Anyways thanks a lot.

Also, How do I make it say the player plus his color.
So if the Phantom was red then it would be "Computer(in red) is the phantom"?

Re: How do I victory everybody else when phantom player is defea

Posted: Wed Feb 11, 2009 2:08 am
by 3ICE
Pretty simple ;)
I have always used a JASS function I wrote back in 2007 to color player names directly. So I never have to care for color coding any message. :)

But since you don't seem like a JASSer, you can do this with GUI: (It's in pseudocode, because my editor isn't open atm.
Red:

Code: Select all

if (phantom == red) then {
   sendMessage ("|cffff0000" + getName(red) + "|r is the phantom!")
}
Blue:

Code: Select all

if (phantom == blue) then {
   sendMessage ("|cff0000ff" + getName(blue) + "|r is the phantom!")
}
Brown:

Code: Select all

if (phantom == brown) then {
   sendMessage ("|cff552200" + getName(brown) + "|r is the phantom!")
}
More about colors in war3: http://www.3ice.hu/blog/warcraft-color/#playercolors