• 🏆 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!

[General] Dialog Bug

Status
Not open for further replies.
Level 37
Joined
Aug 14, 2006
Messages
7,601
Hey,

I got a bug I really don't have a clue how to fix it because in the first place I don't see any bug. I've a dialog and it doesn't matter what button is pressed the eighth button is also pressed. Always.

  • Epic DIALOG
    • Events
    • Conditions
    • Actions
      • Dialog - Change the title of Epic_D to |c0020C000Discuss a...
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Epic_Boolean[1] Equal to False
        • Then - Actions
          • Dialog - Create a dialog button for Epic_D labelled |c00FEBA0EYardeniox
          • Set Epic_DB1 = (Last created dialog Button)
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Epic_Boolean[2] Equal to False
        • Then - Actions
          • Dialog - Create a dialog button for Epic_D labelled |c00FEBA0EYurgimar
          • Set Epic_DB2 = (Last created dialog Button)
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Epic_Boolean[3] Equal to False
        • Then - Actions
          • Dialog - Create a dialog button for Epic_D labelled |c00FEBA0EXvareon
          • Set Epic_DB3 = (Last created dialog Button)
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Epic_Boolean[4] Equal to False
        • Then - Actions
          • Dialog - Create a dialog button for Epic_D labelled |c00FEBA0EZylcious
          • Set Epic_DB4 = (Last created dialog Button)
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Epic_Boolean[5] Equal to False
        • Then - Actions
          • Dialog - Create a dialog button for Epic_D labelled |c00FEBA0EEspers
          • Set Epic_DB5 = (Last created dialog Button)
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Epic_Boolean[6] Equal to False
        • Then - Actions
          • Dialog - Create a dialog button for Epic_D labelled |c00FEBA0EOmega Mon...
          • Set Epic_DB6 = (Last created dialog Button)
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Epic_Boolean[7] Equal to False
        • Then - Actions
          • Dialog - Create a dialog button for Epic_D labelled |c00FEBA0EKeepers
          • Set Epic_DB7 = (Last created dialog Button)
        • Else - Actions
      • Set TempBoolean = False
      • Set TempGroup = (Units owned by Player 1 (Red))
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • ((Picked unit) has an item of type Ogozoma) Equal to True
        • Then - Actions
          • Set TempBoolean = True
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • TempBoolean Equal to True
          • Epic_Boolean[8] Equal to False
        • Then - Actions
          • Dialog - Create a dialog button for Epic_D labelled |c00E55BB0The Heale...
          • Set Epic_DB8 = (Last created dialog Button)
        • Else - Actions
      • Dialog - Create a dialog button for Epic_D labelled |c0020C000Continue
      • Set Epic_DB9 = (Last created dialog Button)
      • Dialog - Show Epic_D for Player 1 (Red)
      • Custom script: call DestroyGroup(udg_TempGroup)
  • Epic Boss Dialog The Healer
    • Events
      • Dialog - A dialog button is clicked for Epic_D
    • Conditions
      • (Clicked dialog button) Equal to Epic_DB8
    • Actions
      • Set Cinematic = True
      • Set Epic_Boolean[8] = True
      • Dialog - Clear Epic_D
      • Cinematic - Turn cinematic mode On for (All players)
      • Sound - Play A_Mysterious_Voice <gen>
      • Sound - Reset all volume channels to 100%
      • Sound - Set music volume to 10.00%
      • Wait 0.25 seconds
      • Sound - Set music volume to 20.00%
      • Wait 0.25 seconds
      • Sound - Set music volume to 30.00%
      • Wait 0.25 seconds
      • Sound - Set music volume to 40.00%
      • Wait 0.25 seconds
      • Sound - Set music volume to 50.00%
      • Wait 0.25 seconds
      • Sound - Set music volume to 60.00%
      • Wait 0.25 seconds
      • Sound - Set music volume to 70.00%
      • Wait 0.25 seconds
      • Sound - Set music volume to 80.00%
      • Wait 0.25 seconds
      • Sound - Set music volume to 90.00%
      • Wait 0.25 seconds
      • Sound - Set music volume to 100.00%
      • Cinematic - Send transmission to (All players) from Yurgimar named |c00009595Yurgimar: Play No sound and display |c00009595It seems .... Modify duration: Set to 4.00 seconds and Wait
      • Cinematic - Send transmission to (All players) from Yurgimar named |c00009595Yurgimar: Play No sound and display |c00009595Indeed he.... Modify duration: Set to 18.00 seconds and Wait
      • Cinematic - Send transmission to (All players) from Yurgimar named |c00009595Yurgimar: Play No sound and display |c00009595I gathere.... Modify duration: Set to 12.00 seconds and Wait
      • Cinematic - Send transmission to (All players) from Yurgimar named |c00009595Yurgimar: Play No sound and display |c00009595It seems .... Modify duration: Set to 10.00 seconds and Wait
      • Sound - Set music volume to 90.00%
      • Wait 0.25 seconds
      • Sound - Set music volume to 80.00%
      • Wait 0.25 seconds
      • Sound - Set music volume to 70.00%
      • Wait 0.25 seconds
      • Sound - Set music volume to 60.00%
      • Wait 0.25 seconds
      • Sound - Set music volume to 50.00%
      • Wait 0.25 seconds
      • Sound - Set music volume to 40.00%
      • Wait 0.25 seconds
      • Sound - Set music volume to 30.00%
      • Wait 0.25 seconds
      • Sound - Set music volume to 20.00%
      • Wait 0.25 seconds
      • Sound - Set music volume to 10.00%
      • Wait 0.25 seconds
      • Sound - Stop music Immediately
      • Sound - Clear the music list
      • Cinematic - Turn cinematic mode Off for (All players)
      • Set Cinematic = False
      • Wait 1.00 seconds
      • Trigger - Run Epic DIALOG <gen> (checking conditions)
I even tried moving "check if player has the item" to another place but didn't help me. Something wicked is going on.

Rep for the helpers.
 
I remember having the same problem before. It was because of the conditions, if I remember correctly Maker found a way to fix with an additional condition but I really cant remember how it goes.

I can't test now as I'm in work but if someone knows a way to fix this please come and tell me.
There's nothing wrong with the conditions, except that you can not use "Picked Unit" when there is no enumeration going on. But in this case your eigth button should simply not appear at all.
 
Level 17
Joined
Nov 13, 2006
Messages
1,814
[edit] i uploaded wrong map, try this one:


  • Epic DIALOG
    • Events
      • Time - Elapsed game time is 2.00 seconds
    • Conditions
    • Actions
      • Dialog - Clear Epic_D
      • Dialog - Change the title of Epic_D to |c0020C000Discuss a...
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Epic_Boolean[1] Equal to False
        • Then - Actions
          • Dialog - Create a dialog button for Epic_D labelled |c00FEBA0EYardeniox
          • Set Epic_DB[1] = (Last created dialog Button)
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Epic_Boolean[2] Equal to False
        • Then - Actions
          • Dialog - Create a dialog button for Epic_D labelled |c00FEBA0EYurgimar
          • Set Epic_DB[2] = (Last created dialog Button)
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Epic_Boolean[3] Equal to False
        • Then - Actions
          • Dialog - Create a dialog button for Epic_D labelled |c00FEBA0EXvareon
          • Set Epic_DB[3] = (Last created dialog Button)
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Epic_Boolean[4] Equal to False
        • Then - Actions
          • Dialog - Create a dialog button for Epic_D labelled |c00FEBA0EZylcious
          • Set Epic_DB[4] = (Last created dialog Button)
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Epic_Boolean[5] Equal to False
        • Then - Actions
          • Dialog - Create a dialog button for Epic_D labelled |c00FEBA0EEspers
          • Set Epic_DB[5] = (Last created dialog Button)
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Epic_Boolean[6] Equal to False
        • Then - Actions
          • Dialog - Create a dialog button for Epic_D labelled |c00FEBA0EOmega Mon...
          • Set Epic_DB[6] = (Last created dialog Button)
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Epic_Boolean[7] Equal to False
        • Then - Actions
          • Dialog - Create a dialog button for Epic_D labelled |c00FEBA0EKeepers
          • Set Epic_DB[7] = (Last created dialog Button)
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Epic_Boolean[8] Equal to False
        • Then - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Ogozama_True Equal to True
            • Then - Actions
              • Dialog - Create a dialog button for Epic_D labelled |c00E55BB0The Heale...
              • Set Epic_DB[8] = (Last created dialog Button)
            • Else - Actions
        • Else - Actions
      • Dialog - Create a dialog button for Epic_D labelled |c0020C000Continue
      • Set Epic_DB[9] = (Last created dialog Button)
      • Dialog - Show Epic_D for Player 1 (Red)
  • Clicking trigger
    • Events
      • Dialog - A dialog button is clicked for Epic_D
    • Conditions
    • Actions
      • For each (Integer A) from 1 to 9, do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Epic_DB[(Integer A)] Equal to (Clicked dialog button)
            • Then - Actions
              • Set i = (Integer A)
            • Else - Actions
      • Game - Display to (All players) the text: (clicked button is + (String(i)))
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • i Equal to 9
        • Then - Actions
          • Game - Display to (All players) the text: quit
          • Dialog - Clear Epic_D
        • Else - Actions
          • Set Cinematic = True
          • Set Epic_Boolean[i] = True
          • Dialog - Clear Epic_D
          • Wait 1.00 seconds
          • Trigger - Run Epic DIALOG <gen> (checking conditions)
 

Attachments

  • TEST DIALOG.w3x
    17.8 KB · Views: 65
Last edited:
Status
Not open for further replies.
Top