MPI Blank Dialog Bug

Level 21
Joined
Mar 16, 2008
Messages
955
edit: problem was variables weren't being set :gg:

These triggers were set up in a really poor way without arrays but I'm to lazy to fix that now. There's a bug where it just shows players a blank dialog box sometimes and i'm not sure why, assuming it's not a typo. I'm posting two of the triggers below but these are repeated across all the players, if that makes sense. I suspect the bug is when two players try to join the same king at the same time, but I would think that should just clear all the dialogs anyway, again assuming it's not a typo, which is highly likely since these were set up in such a poor way. If anyone can point out anything that might cause a blank dialog to pop up, that would help. Thank you.

Goal: stop the blank dialog boxes from popping up.

  • Yellow join Blue
    • Events
      • Player - Player 5 (Yellow) types a chat message containing -join blue as An exact match
    • Conditions
      • (King's Castle 0025 <gen> is alive) Equal to True
      • ((This trigger) is on) Equal to True
    • Actions
      • Dialog - Hide dialog_join_05 for Player 2 (Blue)
      • Dialog - Hide dialog_join_06 for Player 2 (Blue)
      • Dialog - Hide dialog_join_07 for Player 2 (Blue)
      • Dialog - Hide dialog_join_08 for Player 2 (Blue)
      • Dialog - Hide dialog_join_09 for Player 2 (Blue)
      • Dialog - Hide dialog_join_10 for Player 2 (Blue)
      • Dialog - Hide dialog_join_11 for Player 2 (Blue)
      • Dialog - Hide dialog_join_12 for Player 2 (Blue)
      • Dialog - Hide dialog_join_17 for Player 2 (Blue)
      • Dialog - Hide dialog_join_18 for Player 2 (Blue)
      • Dialog - Hide dialog_join_19 for Player 2 (Blue)
      • Dialog - Hide dialog_join_20 for Player 2 (Blue)
      • Dialog - Hide Request_Menu[5] for Player 2 (Blue)
      • Dialog - Hide Request_Menu[6] for Player 2 (Blue)
      • Dialog - Hide Request_Menu[7] for Player 2 (Blue)
      • Dialog - Hide Request_Menu[8] for Player 2 (Blue)
      • Dialog - Hide Request_Menu[9] for Player 2 (Blue)
      • Dialog - Hide Request_Menu[10] for Player 2 (Blue)
      • Dialog - Hide Request_Menu[11] for Player 2 (Blue)
      • Dialog - Hide Request_Menu[12] for Player 2 (Blue)
      • Dialog - Hide Request_Menu[17] for Player 2 (Blue)
      • Dialog - Hide Request_Menu[18] for Player 2 (Blue)
      • Dialog - Hide Request_Menu[19] for Player 2 (Blue)
      • Dialog - Hide Request_Menu[20] for Player 2 (Blue)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Level of Unit Inventory (Human, no use items) for Knight_Altar_Var[5]) Equal to 1
        • Then - Actions
        • Else - Actions
          • Unit - Add Unit Inventory (Human, no use items) to Knight_Altar_Var[5]
      • -------- --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • limits_current_blue Greater than or equal to limits_max_knights
        • Then - Actions
          • Quest - Display to Solo_Group_Yellow the Mission Failed message: |cffff0000Error|r: ...
          • Skip remaining actions
        • Else - Actions
      • -------- --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Yellow_Hero is being transported) Equal to True
        • Then - Actions
          • Quest - Display to Solo_Group_Yellow the Mission Failed message: |cffff0000Error|r: ...
          • Skip remaining actions
        • Else - Actions
      • -------- --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • ai_king[2] Equal to True
        • Then - Actions
          • ... (removed to make trigger easier to read for relevant dialog parts)
        • Else - Actions
          • Dialog - Show dialog_join_05 for Player 2 (Blue)
  • Yellow join Blue 2
    • Events
      • Dialog - A dialog button is clicked for dialog_join_05
    • Conditions
      • (Triggering player) Equal to Player 2 (Blue)
      • (King's Castle 0025 <gen> is alive) Equal to True
      • ((This trigger) is on) Equal to True
    • Actions
      • Dialog - Hide dialog_join_05 for Player 2 (Blue)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Clicked dialog button) Equal to dialog_05_accept
        • Then - Actions
          • ... (removed to focus on relevant parts of trigger, this part just runs all the small details that gets yellow (knight) to join blue (king)
        • Else - Actions
          • Quest - Display to Solo_Group_Yellow the Quest Failed message: The |cff0000ffEaste...
 
Last edited:
Level 30
Joined
Aug 29, 2012
Messages
1,382
I think it would be useful to see the trigger that creates the dialog itself, perhaps there's something wrong there

Also IIRC the usual way to handle dialogs is like so

  • Actions
    • Dialog - Clear MyDialog
    • Dialog - Change the title of MyDialog to The Title
    • Dialog - Create a dialog button for MyDialog labelled Button 1
    • Dialog - Create a dialog button for MyDialog labelled Button 2
    • Dialog - Create a dialog button for MyDialog labelled Button 3
    • Dialog - Show MyDialog for Player 1 (Red)
Note the "clear" action before anything else, it's a bit weird, but I recall having empty dialogs fixed that way
 
Top