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

Game Text doesn't display

Status
Not open for further replies.
Level 12
Joined
May 30, 2009
Messages
829
[SOLVED]

I didn't wanna have to ask, but I've run out of options, so I'm swallowing my pride.

After my map's game starts, every time I use,
  • Game - Display to (All players) the text: Insert Text Here
it doesn't show up for the players.

These triggers run right after the game starts:
Triggers
  • Start
    • Events
      • Player - Player 1 (Red) types a chat message containing -start as An exact match
      • Player - Player 2 (Blue) types a chat message containing -start as An exact match
      • Player - Player 3 (Teal) types a chat message containing -start as An exact match
      • Player - Player 4 (Purple) types a chat message containing -start as An exact match
      • Player - Player 5 (Yellow) types a chat message containing -start as An exact match
      • Player - Player 6 (Orange) types a chat message containing -start as An exact match
      • Player - Player 7 (Green) types a chat message containing -start as An exact match
      • Player - Player 8 (Pink) types a chat message containing -start as An exact match
    • Conditions
    • Actions
      • Trigger - Turn off CG Load <gen>
      • Trigger - Run Create <gen> (ignoring conditions)
      • Countdown Timer - Pause (Last started timer)
      • Countdown Timer - Destroy (Last created timer window)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Teams Equal to False
        • Then - Actions
          • For each (Integer A) from 1 to 8, do (Actions)
            • Loop - Actions
              • Player - Make (Player((Integer A))) treat (Player((Integer A))) as an Enemy
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Teams Equal to True
        • Then - Actions
          • For each (Integer A) from 1 to 4, do (Actions)
            • Loop - Actions
              • Player Group - Add (Player((Integer A))) to Team_Force[1]
          • For each (Integer A) from 5 to 8, do (Actions)
            • Loop - Actions
              • Player Group - Add (Player((Integer A))) to Team_Force[2]
        • Else - Actions
      • Dialog - Clear Pick_Dialog
      • Dialog - Change the title of Pick_Dialog to Choose your Gladiat...
      • Dialog - Create a dialog button for Pick_Dialog labelled Offensive
      • Set Dialog_Button[1] = (Last created dialog Button)
      • Dialog - Create a dialog button for Pick_Dialog labelled Defensive
      • Set Dialog_Button[2] = (Last created dialog Button)
      • Dialog - Create a dialog button for Pick_Dialog labelled Speedy
      • Set Dialog_Button[3] = (Last created dialog Button)
      • Set Temp_Force = (All players)
      • Player Group - Pick every player in Temp_Force and do (Actions)
        • Loop - Actions
          • Dialog - Show Pick_Dialog for (Picked player)
      • Game - Display to (All players) for 10.00 seconds the text: Primary Settings
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Teams Equal to True
        • Then - Actions
          • Game - Display to (All players) for 10.00 seconds the text: |cFF00FF00Teams|r
        • Else - Actions
          • Game - Display to (All players) for 10.00 seconds the text: |cFFFF0000Free for ...
      • Game - Display to (All players) for 10.00 seconds the text: ((String(Number_Of_Rounds)) + rounds)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Barrels Equal to True
          • Fire_On Equal to True
          • Events_On Equal to True
        • Then - Actions
          • Game - Display to (All players) the text: Secondary Options
        • Else - Actions
      • If (Barrels Equal to False) then do (Game - Display to (All players) for 10.00 seconds the text: |cFFFFFF00No Barrel...) else do (Do nothing)
      • If (Fire_On Equal to False) then do (Game - Display to (All players) for 10.00 seconds the text: |cFFFFFF00No Fires|...) else do (Do nothing)
      • If (Events_On Equal to False) then do (Game - Display to (All players) for 10.00 seconds the text: |cFFFFFF00No Events...) else do (Do nothing)
      • Custom script: call DestroyForce (udg_Temp_Force)
      • Trigger - Turn on Round Over <gen>
      • Trigger - Turn off Team Settings <gen>
      • Trigger - Turn off AutoStart <gen>
      • Trigger - Turn off Round Settings <gen>
      • Trigger - Turn off Barrels <gen>
      • Trigger - Turn off Fires <gen>
      • Trigger - Turn off Events <gen>
      • Trigger - Turn off (This trigger)
  • Choose Gladiator
    • Events
      • Dialog - A dialog button is clicked for Pick_Dialog
    • Conditions
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Clicked dialog button) Equal to Dialog_Button[1]
        • Then - Actions
          • Set Temp_Point = (Random point in Inner Arena <gen>)
          • Unit - Create 1 Tauren Gladiator (Offensive) for (Triggering player) at Temp_Point facing Default building facing degrees
          • Custom script: call RemoveLocation (udg_Temp_Point)
        • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Clicked dialog button) Equal to Dialog_Button[2]
            • Then - Actions
              • Set Temp_Point = (Random point in Inner Arena <gen>)
              • Unit - Create 1 Tauren Gladiator (Defensive) for (Triggering player) at Temp_Point facing Default building facing degrees
              • Custom script: call RemoveLocation (udg_Temp_Point)
            • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Clicked dialog button) Equal to Dialog_Button[3]
                • Then - Actions
                  • Set Temp_Point = (Random point in Inner Arena <gen>)
                  • Unit - Create 1 Tauren Gladiator (Swift) for (Triggering player) at Temp_Point facing Default building facing degrees
                  • Custom script: call RemoveLocation (udg_Temp_Point)
                • Else - Actions
For example, this trigger doesn't function properly:
  • Show Hint
    • Events
      • Time - Every 60.00 seconds of game time
      • Player - Player 1 (Red) types a chat message containing -testhint as An exact match
    • Conditions
    • Actions
      • Sound - Play Hint <gen>
      • Game - Display to (All players) the text: Random_Hints[(Random integer number between 1 and 11)]
And the text does not show for the players (All players). The text works fine before start. If you need extra information to assist me, I am more than happy to supply it.
 
Last edited:
Level 28
Joined
Jan 26, 2007
Messages
4,789
Correct me if I'm wrong but you can't use more than 1 event for the same trigger and even if the Player events work, the Every X Seconds and Player event on your last trigger won't work, the game doesn't know which of the events to use.
Correcting:
In fact, I highly recommend you use multiple events for a trigger!
If one of the event is activated, the entire trigger will activate, this is the basic principle of efficiency - something I highly value.
The trigger will know which of the events is the one that is used to activate it, so it can react to all events you wish.

I must also say, I finally see someone using the same ally-method as me: with loops... (a lot better than copy/pasting the same action over and over), though I do it with a variable integer.

The only remark I have about your "system" is that you try to make an enemy out of yourself...
- Make (Player((Integer A))) treat (Player((Integer A))) as an Enemy
(if Integer A = 1, then it says "Player[1] is an enemy of Player[1]).
I have no idea what will happen when that happens, but it's best to keep yourself an ally :)

Perhaps you don't see those messages when you are your own enemy? :eek:
 
Level 8
Joined
Aug 21, 2009
Messages
333
oooo, i get you help YOU out now!!

in your first trigger you "Set Temp_Force = (All players)"
then you call "Custom script: call DestroyForce (udg_Temp_Force)"

you destroyed the global variable (All Players).
this variable doesn't leak and shouldn't be destroyed.

That should fix your problem :D
 
Level 12
Joined
May 30, 2009
Messages
829
I'll try Bain's suggestion and Sephiroth's suggestion. Let's see if either of these fixes my problem...

EDIT: DING DING DING!

Baintastic's suggestion worked for me. +Rep

And for Sephiroth, thanks reading this anyways. +Rep

EDIT #2: I have to spread rep before giving it to both you guys again. :O
 
Status
Not open for further replies.
Top