• 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.

How to make a dialog?

Status
Not open for further replies.
Level 19
Joined
Aug 24, 2007
Messages
2,888
The thing you ment isnt "Dialog" its "Transmission" and they are inside "Cinematic" triggers
  • Cinematic - Transmission From Unit
And these triggers arent screen shots
Trigger information is provided with [trigger][/trigger] tags
example:
[trigger]Cinematic - Transmission From Unit[/trigger] is the trigger up there
 
Level 10
Joined
Jul 31, 2008
Messages
477
Unit is attacked -
attacked unit = unit type of (X)
attacking unit = (Y)
Unit pause X,Y
Cinematic mode on
Cinematic transimition from X named X and with text X for X seconds and don't wait
wait X seconds
Cinematic mode off

Shouldn't it be Letterbox mode on?

Well your trigger (for the example you did) could be like this

  • Dialog
  • Events
    • Unit - A unit is attacked
  • Conditions
    • (Attacking unit is a hero) equal to true
    • Attacked unit is an ally of attacking unit equal to true
  • Actions
    • Cinematic - Turn on letterbox mode (hide interfaces) for (all players) fade out over 2.00 seconds.
    • Cinematic - Send transmission from (attacked unit) named Arthas and display Hi : Play No sound Modify Duration: Add 5.00 seconds and wait
    • Cinematic - Turn off letterbox mode (show interfaces) for (all players): fade in over 2.00 seconds
 
Level 8
Joined
Feb 20, 2007
Messages
338
You do not need the cinematic mode turned on. a Game message will show.

Lets say you have Arthas as a Character, the game message will show something like this:

Arthas: Hi!

If you want your player to address the attacking unit by name, then you would use
  • Cinematic - Send transmission to (All players) from (Attacked unit) named (Name of (Attacked unit)): Play No sound and display (Hi + (Name of (Attacking unit))). Modify duration: Add 0.00 seconds and Wait
Where (Hi + (Name of Attacking Unit))) is a Concatenate String Hi is a typed message *your words* and the other is selected out of several function options, for this particular trigger I used 'Unit-unit name'.

Click any of the blue words within a trigger function to see what options you have to use.

As for conditions, you can set those up or have none whatsoever. You can make the assumption that an attacking unit is an enemy of the player - but you can use one of your own units (that has ally attack enabled) to attack your unit, and can say hi, hi, hi.

The only problem you might have here is that your character will most likely say 'hi' over and over again until either the attacking stops or the unit(s) are dead.

I would personally assign a custom value to the attacking unit:

  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
    • If - Conditions
      • (Custom value of (Attacking unit)) Equal to 0
    • Then - Actions
      • Cinematic - Send transmission to (All players) from (Attacked unit) named (Name of (Attacked unit)): Play No sound and display (Hi + (Name of (Attacking unit))). Modify duration: Add 0.00 seconds and Wait
      • Unit - Set the custom value of (Attacked unit) to 1
    • Else - Actions
      • Do nothing
This way only those attacking units with a custom value of 0 will get a 'hi' response, other custom values attached to units will not trigger the response.

If you want to reset the ability for the attacker to trigger the message again you can either have another trigger tied to some other event or you can add a wait command and then 'reset' the custom value of the unit to 0.

Since there is no event 'Unit stops an attack' you may want to clean up the custom values of your units in another trigger, or after a wait.

If this is a once only attack message, you would use

  • Trigger - Turn off (This trigger)
With custom values you can have it set up to where you have several messages that are triggered via an attack, the first one setting the custom value of your attacking unit to 1 (saying hi) then another with the custom value of 'if 1, then...' saying "Stop bothering me" and so on and so forth. each subsequent attack raises the custom value of the attacking unit causing your attacked unit to say something else.

IF you have a set of 'random' messages say 4-7 you can set the custom value of the attacking unit to a random value between 4-7 that way the next attack will trigger a 'random' message. This opens the doors for many options of communications between your units via cinematic speech messages, while keeping you from having your screen look like this:

Arthas: Hi!
Arthas: Hi!
Arthas: Hi!
Arthas: Hi!
 
Status
Not open for further replies.
Top