• Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.

unit dialogue trigger

Status
Not open for further replies.
Level 30
Joined
Nov 29, 2012
Messages
6,637
I fear that I think its impossible but maybe this can be useful?

  • Game - Display to Player Group - Player 1 (Red) the text: Blalalala
also this, as what UndeadImmortal said....

  • Game - Display to (All allies of (Triggering player)) the text: Blalalala

It will display to all units of Player 1.
 
Last edited:
Level 28
Joined
Sep 26, 2009
Messages
2,520
That won't help I think. Going by the fact that he wanted the message to show to specific player, it is for multiplayer map. If that is the case, he probably doesn't want the trigger to switch off completely, but for 1 player to be unable to get the message more than once every 60 seconds.
 
Level 30
Joined
Nov 29, 2012
Messages
6,637
yes, what nichilus says, so people don't spam it

Well, I have attempt this on trigger and maybe you have to make two triggers. First trigger when a unit is clicked, display message..... then turn off trigger. Second trigger, turn on first trigger after 60 seconds. This will make the unit display the message again after 60 seconds. Hope this helps!
 
Level 10
Joined
Jan 20, 2011
Messages
492
What about when a player clicks on the unit it stores the players number in a variable (integer or real can't remember), and then does in If statement, and checks to see if the players number is already stored. If it isn't it turns on a second trigger which displays the message to the triggering player using the variable. So the if statement will simply check to see if the user is already seeing the message, by the variables data.

Also if this is text you want to occur more than once, you will have to remove the data stored in the variable in the second trigger after it has been finished.
 
Well this is what I would do when dialogue is played:

  • Use an arrayed boolean variable to check if a text has been displayed
    For example:
    • Set TextHasBeenShown[Player Number of(Triggering Player)] = True
  • Add a boolean condition to check if the mentioned variable is false
  • After that, I would create a dummy unit with X sec expiration timer (save it in arrayed variable)
  • The unit would act as timer
  • Create a new trigger that starts with 'A unit dies'
  • Check if the unit is the mentioned dummy unit (E.g: Triggering unit equals to Dummy[1])
  • Then,
    • Set TextHasBeenShown[Player Number of(Owner of (Triggering Unit))] = False

Of course, this is not the most efficient way. Nor the most professional way.
 
Status
Not open for further replies.
Top