• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

What's wrong with this trigger?

Status
Not open for further replies.
Level 4
Joined
Dec 6, 2007
Messages
78
It's really short and simple, but I can't make it work. Basically I need it to show the text message to the player when they select a shop, and to no one else. But it can only work when players 1-4 (Red's team) select the shop. Any help?

  • Trigger
    • Events
      • Unit - Unit <gen> Is selected
    • Conditions
      • ((Triggering player) is an ally of Player 1 (Red)) Equal to True
    • Actions
      • Game - Display to (Player group((Triggering player))) for 7.50 seconds the text: TEXT...
 
Level 4
Joined
Dec 6, 2007
Messages
78
try using this instead of your action:
Game - Display to allies of player 1 for 7.50 seconds the text: TEXT...

I need it to only show the text message to the player who selected the shop, not to all of his allies as well.

Also, illidan, I tried changing it to owner of triggering unit and that didn't work either.

I would have given up by now but I've seen this done before in other map(s).
 
Level 23
Joined
Nov 29, 2006
Messages
2,482
this should really work... and its like illidan explained. (And it does really work when I tested it...)
  • Select a Unit
    • Events
      • Unit - <Your_Unit> <gen> Is selected
    • Conditions
      • ((Owner of (Triggering unit)) is an ally of Player 1 (Red)) Equal to True
    • Actions
      • Game - Display to (Player group((Owner of (Triggering unit)))) for 7.50 seconds the text: TEXT
I dont see why it doesnt work, but also, take a look at your teams again to make sure they are teamed up properly

/regards
 
Level 4
Joined
Dec 6, 2007
Messages
78
this should really work... and its like illidan explained. (And it does really work when I tested it...)
  • Select a Unit
    • Events
      • Unit - <Your_Unit> <gen> Is selected
    • Conditions
      • ((Owner of (Triggering unit)) is an ally of Player 1 (Red)) Equal to True
    • Actions
      • Game - Display to (Player group((Owner of (Triggering unit)))) for 7.50 seconds the text: TEXT
I dont see why it doesnt work, but also, take a look at your teams again to make sure they are teamed up properly

/regards

I tried exactly that. And it's still not working. If it helps, the map has 11 players. Players 5-10 are enemies with players 1-4 and 11. Players 1-4 are allied with player 11 which is NPC controlled. The unit that is being selected is a shop owned by player 11. Players 1-4 each only get 1 unit which is a Hero. So basically, when a hero goes to buy something from player 11 and selects the shop, I need it to show text to the hero who just selected the shop.
 
Level 23
Joined
Nov 29, 2006
Messages
2,482
You say that you are allied with player 11...

But is player 11 really allied with you?

Create an initialization trigger setting player 11 to treat player 1-4 as an ally.
Also do the same; set player 1-4 to treat player 11 as an ally.
So you have to do it all in both directions...

Try that : )
 
Level 4
Joined
Dec 6, 2007
Messages
78
You say that you are allied with player 11...

But is player 11 really allied with you?

Create an initialization trigger setting player 11 to treat player 1-4 as an ally.
Also do the same; set player 1-4 to treat player 11 as an ally.
So you have to do it all in both directions...

Try that : )

Yup. That's all already there.
 
Level 9
Joined
Oct 17, 2007
Messages
547
How about just use display to owner of triggering unit and take out the player group.
Or just make players 1-4 into 1 player group, and use a loop to display to each player. Destroy the player group after if u want.
 
Level 4
Joined
Dec 6, 2007
Messages
78
How about just use display to owner of triggering unit and take out the player group.
Or just make players 1-4 into 1 player group, and use a loop to display to each player. Destroy the player group after if u want.

It doesn't let you do that.
The 'Game - Text Message' can only work with player groups.
 
Level 2
Joined
Apr 17, 2008
Messages
20
This should work :smile:
  • Untitled Trigger 001
    • Events
      • Unit - Shop <gen> Is selected
    • Conditions
      • Or - Any (Conditions) are true
        • Conditions
          • (Triggering player) Equal to Player 1 (Red)
          • (Triggering player) Equal to Player 2 (Blue)
          • (Triggering player) Equal to Player 3 (Teal)
          • (Triggering player) Equal to Player 4 (Purple)
    • Actions
      • Game - Display to (Player group((Triggering player))) for 30.00 seconds the text: Welcome to my shop! Buy something or leave down your head!!!
condition is [Or, Multiple Conditions]
action is [Game - Text Message (Explicitly Timed) ]
then change function of all player to -Convert Player To Player Group-
now change -Player 1 (Red)- to -(Triggering Player)-

all done
 
Status
Not open for further replies.
Top