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

Voting System/Difficulty selection not working

Status
Not open for further replies.
Level 5
Joined
Jun 25, 2013
Messages
52
I have created a difficulty Menu for Minas Tirith but for some reason it is not working. Can someone plz read through this. Id be extremely thankful. :)

The dialog does not show to all players and it does not dissapear with the Deactivate Trigger. I tried to hide them but that does not work either.

I have a german version: three words are different
Zeigen-> means show
the weird looking größer-> bigger than
and the weird looking Auslöser-> trigger

  • Dialog Menu and Buttons
    • Ereignisse
      • Zeit - Elapsed game time is 0.00 seconds
    • Bedingungen
    • Aktionen
      • Dialog - Clear CreateMenu
      • Dialog - Change the title of CreateMenu to Select difficulty:
      • Dialog - Create a dialog button for CreateMenu labelled Easy
      • Set Button[0] = (Last created dialog Button)
      • Dialog - Create a dialog button for CreateMenu labelled Medium
      • Set Button[1] = (Last created dialog Button)
      • Dialog - Create a dialog button for CreateMenu labelled Hard
      • Set Button[2] = (Last created dialog Button)
      • Dialog - Zeigen CreateMenu for Spieler 1 (Rot)
      • Dialog - Zeigen CreateMenu for Spieler 2 (Blau)
      • Dialog - Zeigen CreateMenu for Spieler 3 (Blaugrau)
      • Dialog - Zeigen CreateMenu for Spieler 4 (Lila)
      • Dialog - Zeigen CreateMenu for Spieler 5 (Gelb)
      • Dialog - Zeigen CreateMenu for Spieler 6 (Orange)
      • Dialog - Zeigen CreateMenu for Spieler 7 (Grün)
      • Dialog - Zeigen CreateMenu for Spieler 8 (Rosa)
      • Dialog - Zeigen CreateMenu for Spieler 9 (Grau)
      • Dialog - Zeigen CreateMenu for Spieler 10 (Hellblau)
  • Counter
    • Ereignisse
      • Dialog - A dialog button is clicked for CreateMenu
    • Bedingungen
    • Aktionen
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • 'IF'-Bedingungen
          • (Clicked dialog button) Gleich Button[0]
        • 'THEN'-Aktionen
          • Set EasyClickCounter = (EasyClickCounter + 1)
        • 'ELSE'-Aktionen
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • 'IF'-Bedingungen
              • (Clicked dialog button) Gleich Button[1]
            • 'THEN'-Aktionen
              • Set MediumClickCounter = (MediumClickCounter + 1)
            • 'ELSE'-Aktionen
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • 'IF'-Bedingungen
                  • (Clicked dialog button) Gleich Button[2]
                • 'THEN'-Aktionen
                  • Set HardClickCounter = (HardClickCounter + 1)
                • 'ELSE'-Aktionen
  • Easy
    • Ereignisse
      • Zeit - Elapsed game time is 10.00 seconds
    • Bedingungen
      • EasyClickCounter Größer als MediumClickCounter
      • EasyClickCounter Größer als HardClickCounter
    • Aktionen
      • Spieler - Set Spieler 4 (Lila) handicap to 90.00%
      • Spieler - Set Spieler 6 (Orange) handicap to 90.00%
      • Spieler - Set Spieler 9 (Grau) handicap to 90.00%
      • Spieler - Set Spieler 10 (Hellblau) handicap to 90.00%
  • Easy Dialog
    • Ereignisse
      • Zeit - Elapsed game time is 10.00 seconds
    • Bedingungen
      • EasyClickCounter Größer als MediumClickCounter
      • EasyClickCounter Größer als HardClickCounter
    • Aktionen
      • Dialog - Clear Easy
      • Dialog - Change the title of Easy to Easy Mode has been ...
      • Dialog - Create a dialog button for Easy labelled OK
      • Set EasyButton[0] = (Last created dialog Button)
      • Dialog - Zeigen Easy for Spieler 1 (Rot)
      • Dialog - Zeigen Easy for Spieler 2 (Blau)
      • Dialog - Zeigen Easy for Spieler 3 (Blaugrau)
      • Dialog - Zeigen Hard for Spieler 4 (Lila)
      • Dialog - Zeigen Easy for Spieler 5 (Gelb)
      • Dialog - Zeigen Easy for Spieler 6 (Orange)
      • Dialog - Zeigen Easy for Spieler 7 (Grün)
      • Dialog - Zeigen Easy for Spieler 8 (Rosa)
      • Dialog - Zeigen Easy for Spieler 9 (Grau)
      • Dialog - Zeigen Easy for Spieler 10 (Hellblau)
  • Medium
    • Ereignisse
      • Zeit - Elapsed game time is 10.00 seconds
    • Bedingungen
      • MediumClickCounter Größer als EasyClickCounter
      • MediumClickCounter Größer als HardClickCounter
    • Aktionen
      • Dialog - Clear Medium
      • Dialog - Change the title of Medium to Medium Mode has bee...
      • Dialog - Create a dialog button for Medium labelled OK
      • Set MediumButton[0] = (Last created dialog Button)
      • Dialog - Zeigen Medium for Spieler 1 (Rot)
      • Dialog - Zeigen Medium for Spieler 2 (Blau)
      • Dialog - Zeigen Medium for Spieler 3 (Blaugrau)
      • Dialog - Zeigen Medium for Spieler 4 (Lila)
      • Dialog - Zeigen Medium for Spieler 5 (Gelb)
      • Dialog - Zeigen Medium for Spieler 6 (Orange)
      • Dialog - Zeigen Medium for Spieler 7 (Grün)
      • Dialog - Zeigen Medium for Spieler 8 (Rosa)
      • Dialog - Zeigen Medium for Spieler 9 (Grau)
      • Dialog - Zeigen Medium for Spieler 10 (Hellblau)
  • Hard
    • Ereignisse
      • Zeit - Elapsed game time is 10.00 seconds
    • Bedingungen
      • HardClickCounter Größer als EasyClickCounter
      • HardClickCounter Größer als MediumClickCounter
    • Aktionen
      • Spieler - Set Spieler 4 (Lila) handicap to 120.00%
      • Spieler - Set Spieler 6 (Orange) handicap to 120.00%
      • Spieler - Set Spieler 9 (Grau) handicap to 120.00%
      • Spieler - Set Spieler 10 (Hellblau) handicap to 120.00%
  • Hard Dialog
    • Ereignisse
      • Zeit - Elapsed game time is 10.00 seconds
    • Bedingungen
      • HardClickCounter Größer als EasyClickCounter
      • HardClickCounter Größer als MediumClickCounter
    • Aktionen
      • Dialog - Clear Hard
      • Dialog - Change the title of Hard to Hard Mode has been ...
      • Dialog - Create a dialog button for Hard labelled OK
      • Set HardButton[0] = (Last created dialog Button)
      • Dialog - Zeigen Hard for Spieler 1 (Rot)
      • Dialog - Zeigen Hard for Spieler 2 (Blau)
      • Dialog - Zeigen Medium for Spieler 3 (Blaugrau)
      • Dialog - Zeigen Hard for Spieler 4 (Lila)
      • Dialog - Zeigen Hard for Spieler 5 (Gelb)
      • Dialog - Zeigen Medium for Spieler 6 (Orange)
      • Dialog - Zeigen Hard for Spieler 7 (Grün)
      • Dialog - Zeigen Hard for Spieler 8 (Rosa)
      • Dialog - Zeigen Hard for Spieler 9 (Grau)
      • Dialog - Zeigen Hard for Spieler 10 (Hellblau)
  • Deactivate
    • Ereignisse
      • Map initialization
    • Bedingungen
    • Aktionen
      • Wait 12.00 seconds
      • Auslöser - Turn off Dialog Menu and Buttons <gen>
      • Auslöser - Turn off Easy Dialog <gen>
      • Auslöser - Turn off Hard Dialog <gen>
      • Auslöser - Turn off Dialog Menu and Buttons <gen>
 
Last edited:
Combine always both triggers.. in one you set handicap, and in other one you show next dialog. No need to seperate these 2 types.
Even you could do only 1 trigger with event 'Elasped game time 10 seconds' and put some If/Then/Else block in it.

You also need something if values are equal, maybe 3 vote Easy, 3 vote Medium, and 3 vote Hard.

You can use a loop from Inetger 1-10 to show dialog to Player[loopInteger], to short your code.

fails found:
- When you show Easy dialog, Player 4 has Hard dialog
- When you show Hard dialog, Player 3, 6 have Medium

Then when you have finished voting, there is no need to set this last button 'Ok' into a variable, because no actions follow by clicking it.

After the 12 seconds you can use action Dialog - Hide Dialog, so dialog will disappear for player.

Hope I could help a bit :d .. if you dont understand something just pos it or contact me
 
Ok I will have a look, but have you tested it online?

If you show Dialog in offline-mode, the game will be paused automatically.. waits and so on wont work until there is a dialog.

Edit1:

  • For each (Integer A) from 1 to 10, do (Actions)
    • Loop - Actions
      • Set Player = (Player((Integer A)))
      • Dialog - Hide CreateMenu for Player
      • Dialog - Hide Easy for Player
      • Dialog - Hide Medium for Player
      • Dialog - Hide Hard for Player
This would replace all your actions in trigger 'deactivate'.

Edit2:
I meant you dont have to set a variable to the 'Ok' button, but you do have to create a button for dialog(if mode is chosen)
If you click any button on dialog, dialog will get closed automatically, so I just meant there is no need to create a variable for it.
 
Level 5
Joined
Jun 25, 2013
Messages
52
Ok I will have a look, but have you tested it online?

If you show Dialog in offline-mode, the game will be paused automatically.. waits and so on wont work until there is a dialog.

Oh that was why oh I get it :). Thx a whole lot. Is the rest okay? I*ll make a different menu for the evil guys (like this) if this one is ok.

If you could explain briefly how to use the integer it would be nice. Adding all players was a pain. You re my hero btw :). I ll mention you in the credits. Is your bnet account identical with this one?
 
Last edited:
You dont have to mention me in credits thx^^

Your randomizer bugs atm, change it, or turn it off for now.. Because if you choose Easy (in singlemode) --> Mediumvotes == HardVotes --> randomizes is runed too --> bug

How loop works?
If you to Loop for IntegerA from 1 to 10
Action in loop will run first with IntegerA= 1

//LoopEnd --> if IntegerA <= 10 loop will run again with IntegerA = 2
// until IntegerA is 10

So you can get all player numbers from 1-10 easily

And yes, my account is IcemanBo on europe battle.net
 
Level 5
Joined
Jun 25, 2013
Messages
52
You dont have to mention me in credits thx^^

Your randomizer bugs atm, change it, or turn it off for now.. Because if you choose Easy (in singlemode) --> Mediumvotes == HardVotes --> randomizes is runed too --> bug

How loop works?
If you to Loop for IntegerA from 1 to 10
Action in loop will run first with IntegerA= 1

//LoopEnd --> if IntegerA <= 10 loop will run again with IntegerA = 2
// until IntegerA is 10

So you can get all player numbers from 1-10 easily

And yes, my account is IcemanBo on europe battle.net

Sure you'll be the first person added to them :). I really do appreciate it. Still got plenty of work to do (Video Mode, AI, Doors fixing and finally getting the door damage to work (they always regenerate when they close), Sound Music and other stuff). Can I contect you if I am stuck again? I found a pretty good workaround and I post the trigger here if somebody else/wants or needs it. It is a perfect trigger for a 3 difficulty voting system.
 
Last edited:
Level 5
Joined
Jun 25, 2013
Messages
52
Corrected it once more. Previous version did not consider the case of Easy=Medium=< or so on. Also made a specific randomizer between the modes that are actually chosen. Now it works perfect. Thx for all. I am pretty sure I'll need your or other peoples help sometime around. :) <3 Hiveworkshop
 
Status
Not open for further replies.
Top