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

Second Runner wont spawn

Level 6
Joined
Aug 3, 2021
Messages
106
Hello. Its Pekisa7 again. Ive did everything you told me for the runner trigger. But i found a few bugs that bug me. So i tried fixing them. Ive fixed one bug where two runners spawn now only one only spawns. Fixed the timer bug now it acually shows the countdown wen another runner is about to start. But the problem is he dosen't spawn. How do i fix this? Can somone help? Best regards from Pekisa7.

Start Timer 02
Events
Unit - A unit owned by Player 15 (Turquoise) Dies
Conditions
Runner Equal to (Dying unit)
Actions
Countdown Timer - Start TimerRunner as a One-shot timer that will expire in 45.00 seconds

ReoccuringRunnerTimerExpires
Events
Time - TimerRunner expires
Conditions
RunnerActive Equal to True
ExitCinematicRunning Equal to False
Actions
Trigger - Add ReoccuringRunnerTimerExpiresMessage <gen> to the trigger queue (Checking conditions)

ReoccuringRunnerTimerExpiresMessage
Events
Time - TimerRunner expires
Conditions
RunnerActive Equal to True
ExitCinematicRunning Equal to False
GameOver Equal to False
Actions
Countdown Timer - Hide RunnerTimerWindow
Leaderboard - Show RunnerLeaderboard
Set RunnerRandomLine = (Random real number between 0.00 and 2.00)
Sound - Setup all volume channels for speech
Sound - Reset all volume channels to 100%
Cinematic - Send transmission to (All players) from a Player 4 (Purple) Necromancer named Necromancer at (Player 4 (Purple) start location): Play No sound and display Humans have sent ou.... Modify duration: Add 0.00 seconds and Wait
Unit - Create 1 Runner for Player 15 (Turquoise) at (Center of RunnerStart <gen>) facing 270.00 degrees
Set Runner = (Last created unit)
Unit - Set Runner movement speed to ((Default movement speed of Runner) - RunnerMovmentSpeed)
Trigger - Run RandomizePath Copy <gen> (ignoring conditions)
Unit - Order Runner to Move To (Center of RunnerMoveTeleport <gen>)
Trigger - Turn on RunnerHeartbeat <gen>
Cinematic - Ping minimap for Player Group - Player 4 (Purple) at (Center of RunnerStart <gen>) for 2.00 seconds
Camera - Set a spacebar-point for Player 4 (Purple) at (Center of RunnerStart <gen>)
Countdown Timer - Start TimerRunnerFailsafe as a One-shot timer that will expire in 300.00 seconds
Trigger - Remove (This trigger) from the trigger queue
 
Level 13
Joined
Feb 5, 2018
Messages
567
It's a bit of an effort to go trough all the runner related triggers, but I think I might have found something.
Set VariableSet RunnerActive = False

Are you ever setting this back to true anywhere? Hence only the first messenger might spawn when It reaches the king you return this to
false and I didnt find anywhere that you would se this back to true.

If it doesn't help then I would just start adding Debug messages and see what triggers actually run and what doesn't.
 
Level 6
Joined
Aug 3, 2021
Messages
106
It's a bit of an effort to go trough all the runner related triggers, but I think I might have found something.
Set VariableSet RunnerActive = False

Are you ever setting this back to true anywhere? Hence only the first messenger might spawn when It reaches the king you return this to
false and I didnt find anywhere that you would se this back to true.

If it doesn't help then I would just start adding Debug messages and see what triggers actually run and what doesn't.
Only the second runner dosen't spawn. Ive fixed the first one.
 
Level 6
Joined
Aug 3, 2021
Messages
106
It's a bit of an effort to go trough all the runner related triggers, but I think I might have found something.
Set VariableSet RunnerActive = False

Are you ever setting this back to true anywhere? Hence only the first messenger might spawn when It reaches the king you return this to
false and I didnt find anywhere that you would se this back to true.

If it doesn't help then I would just start adding Debug messages and see what triggers actually run and what doesn't.
How do i Debug messages? Can you explain it to me?
 
Level 13
Joined
Feb 5, 2018
Messages
567
It's nothing special really just add text message after the actions to see how far the trigger goes.

  • Debug Example
    • Events
      • Time - Every 1.00 seconds of game time
    • Conditions
    • Actions
      • Unit - Create 1 Footman for Player 1 (Red) at (Center of PreloadUnitsRegion <gen>) facing Default building facing degrees
      • Game - Display to (All players) the text: Unit created!
      • Unit - Set Name of (Last created unit) to (Name of Player 1 (Red))
      • Game - Display to (All players) the text: Name changed!
      • -------- More actions --------
      • Game - Display to (All players) the text: Part 3 finished!
Yea it's some work at this point to add the lines to your non-working trigger(s), but eventually it will help you to find out what doesn't work. Just add a text message after each line of your trigger(s). :)
 
Level 6
Joined
Aug 3, 2021
Messages
106
It's nothing special really just add text message after the actions to see how far the trigger goes.

  • Debug Example
    • Events
      • Time - Every 1.00 seconds of game time
    • Conditions
    • Actions
      • Unit - Create 1 Footman for Player 1 (Red) at (Center of PreloadUnitsRegion <gen>) facing Default building facing degrees
      • Game - Display to (All players) the text: Unit created!
      • Unit - Set Name of (Last created unit) to (Name of Player 1 (Red))
      • Game - Display to (All players) the text: Name changed!
      • -------- More actions --------
      • Game - Display to (All players) the text: Part 3 finished!
Yea it's some work at this point to add the lines to your non-working trigger(s), but eventually it will help you to find out what doesn't work. Just add a text message after each line of your trigger(s). :)
This Worked. It spawns endless runners. But it still dosen't explain why the runner dosent spawn when i set runnertimer. He still dosen't spawn. What should I do next?
 

Attachments

  • Screenshot (22).png
    Screenshot (22).png
    3.8 MB · Views: 8

Rheiko

Spell Reviewer
Level 26
Joined
Aug 27, 2013
Messages
4,214
Can you please write your triggers in between [trigger][/trigger] tags? it's very unreadable at the moment.

  • RunnerActive Equal to True
  • ExitCinematicRunning Equal to False
  • GameOver Equal to False
Have you checked whether the values of these variables are correct? They could be the cause.

Include your new trigger in your post, the one with debug messages. So we can match what's going on in the picture you provided just now and what's going on in your code.

In case you're confused as how to post trigger, you can look up this guide here:
 
Level 6
Joined
Aug 3, 2021
Messages
106
Can you please write your triggers in between [trigger][/trigger] tags? it's very unreadable at the moment.

  • RunnerActive Equal to True
  • ExitCinematicRunning Equal to False
  • GameOver Equal to False
Have you checked whether the values of these variables are correct? They could be the cause.

Include your new trigger in your post, the one with debug messages. So we can match what's going on in the picture you provided just now and what's going on in your code.

In case you're confused as how to post trigger, you can look up this guide here:
He dosen't spawn when i added the runner active eqaul to true and all the other triggers .
Debug Runner
Events
Time - Every 1.00 seconds of game time
Conditions
ExitCinematicRunning Equal to False
RunnerActive Equal to True
GameOver Equal to False
Actions
Unit - Create 1 Runner for Player 15 (Turquoise) at (Center of RunnerStart <gen>) facing Default building facing degrees
Game - Display to (All players) the text: Unit created
Unit - Set Name of (Last created unit) to Runner
Game - Display to (All players) the text: Name Changed
Edit - Ive set the runner eaqul to false. Now they keep spawning endlessly . What do i do now?
 

Rheiko

Spell Reviewer
Level 26
Joined
Aug 27, 2013
Messages
4,214
I really don't understand what you're saying. First of all, please read my post from earlier on how to post your trigger. Copy your triggers just like what you did before but this time, paste them between the trigger tags like this before you post your reply.
[trigger]Paste your trigger here[/trigger]

And again, when did you adjust the values of these variables?
  • RunnerActive
  • ExitCinematicRunning
  • GameOver
Include the trigger as well if it's possible.
I'm guessing ExitCinematicRunning when the cinematic is over, GameOver is when the objective is completed, the most suspicious looking one right now is RunnerActive. When did you set it to true? Because as long as it is false, the actions inside your Expired Timer event will not run.
 
Level 6
Joined
Aug 3, 2021
Messages
106
I really don't understand what you're saying. First of all, please read my post from earlier on how to post your trigger. Copy your triggers just like what you did before but this time, paste them between the trigger tags like this before you post your reply.
[trigger]Paste your trigger here[/trigger]

And again, when did you adjust the values of these variables?
  • RunnerActive
  • ExitCinematicRunning
  • GameOver
Include the trigger as well if it's possible.
I'm guessing ExitCinematicRunning when the cinematic is over, GameOver is when the objective is completed, the most suspicious looking one right now is RunnerActive. When did you set it to true? Because as long as it is false, the actions inside your Expired Timer event will not run.
Debug Runner
Events
Time - TimerRunner expires
Conditions
ExitCinematicRunning Equal to False
RunnerActive Equal to False
GameOver Equal to False
Actions
Unit - Create 1 Runner for Player 15 (Turquoise) at (Center of RunnerStart <gen>) facing Default building facing degrees
Game - Display to (All players) the text: Unit created
Unit - Set Name of (Last created unit) to Runner
Game - Display to (All players) the text: Name Changed
Unit - Order Runner to Move To (Center of RunnerMoveTeleport <gen>)
 
Level 6
Joined
Aug 3, 2021
Messages
106
You're not answering my question.. :con:
I told you. I copied those three triggers. the triggers from RunnerInitalMessages. Than changed every one second of the game to timmer runner than i pot tose variables like runneractive to true and those other ones to false. Then i put runner active to false and then the runner spawned suddenly. I don't know why that is. Then i put runner active to true again just now.
 

Rheiko

Spell Reviewer
Level 26
Joined
Aug 27, 2013
Messages
4,214
I think there is a misunderstanding here. In trigger, you can see there is a list of events, conditions, and actions.
  • MyTrigger
    • Events
    • Conditions
    • Actions
Trigger uses events to detect when something happens. For example, the event in your Debug Runner trigger is "Time - TimerRunner expires". It means when TimerRunner expires, it will do something. It does everything under the actions list IF the conditions are met. Hopefully, my explanation is straight forward.

So now, lets take a look at the logic of your trigger. First of all, let's use the trigger tags.
  • Debug Runner
    • Events
      • Time - TimerRunner expires
    • Conditions
      • ExitCinematicRunning Equal to False
      • RunnerActive Equal to True
      • GameOver Equal to False
    • Actions
      • Unit - Create 1 Runner for Player 15 (Turquoise) at (Center of RunnerStart <gen>) facing Default building facing degrees
      • Game - Display to (All players) the text: Unit created
      • Unit - Set Name of (Last created unit) to Runner
      • Game - Display to (All players) the text: Name Changed
      • Unit - Order Runner to Move To (Center of RunnerMoveTeleport <gen>)
Now, that looks much better! Anyway, by the logic of your code. You create 1 Runner for Player 15 at Center of RunnerStart when the TimerRunner expires IF
  • ExitCinematicRunning Equal to False
  • RunnerActive Equal to True
  • GameOver Equal to False
This is why I asked you, where did you set the value of these variables. It seems you have not set any value of these variables, which means they will still have their default values. You need to change the value of these variables, especially RunnerActive, somewhere by doing something like this.
  • Set RunnerActive = true
Maybe put this line inside your Start Timer trigger? Like so:
  • Start Timer 02
    • Events
      • Unit - A unit owned by Player 15 (Turquoise) Dies
    • Conditions
      • Runner Equal to (Dying unit)
    • Actions
      • Set RunnerActive = true
      • Countdown Timer - Start TimerRunner as a One-shot timer that will expire in 45.00 seconds
If you change the condition from:
  • Conditions
    • RunnerActive Equal to False
to this:
  • Conditions
    • RunnerActive Equal to True
it does not change the value of that variable. You have to do that in actions.
 
Level 6
Joined
Aug 3, 2021
Messages
106
I think there is a misunderstanding here. In trigger, you can see there is a list of events, conditions, and actions.
  • MyTrigger
    • Events
    • Conditions
    • Actions
Trigger uses events to detect when something happens. For example, the event in your Debug Runner trigger is "Time - TimerRunner expires". It means when TimerRunner expires, it will do something. It does everything under the actions list IF the conditions are met. Hopefully, my explanation is straight forward.

So now, lets take a look at the logic of your trigger. First of all, let's use the trigger tags.
  • Debug Runner
    • Events
      • Time - TimerRunner expires
    • Conditions
      • ExitCinematicRunning Equal to False
      • RunnerActive Equal to True
      • GameOver Equal to False
    • Actions
      • Unit - Create 1 Runner for Player 15 (Turquoise) at (Center of RunnerStart <gen>) facing Default building facing degrees
      • Game - Display to (All players) the text: Unit created
      • Unit - Set Name of (Last created unit) to Runner
      • Game - Display to (All players) the text: Name Changed
      • Unit - Order Runner to Move To (Center of RunnerMoveTeleport <gen>)
Now, that looks much better! Anyway, by the logic of your code. You create 1 Runner for Player 15 at Center of RunnerStart when the TimerRunner expires IF
  • ExitCinematicRunning Equal to False
  • RunnerActive Equal to True
  • GameOver Equal to False
This is why I asked you, where did you set the value of these variables. It seems you have not set any value of these variables, which means they will still have their default values. You need to change the value of these variables, especially RunnerActive, somewhere by doing something like this.
  • Set RunnerActive = true
Maybe put this line inside your Start Timer trigger? Like so:
  • Start Timer 02
    • Events
      • Unit - A unit owned by Player 15 (Turquoise) Dies
    • Conditions
      • Runner Equal to (Dying unit)
    • Actions
      • Set RunnerActive = true
      • Countdown Timer - Start TimerRunner as a One-shot timer that will expire in 45.00 seconds
If you change the condition from:
  • Conditions
    • RunnerActive Equal to False
to this:
  • Conditions
    • RunnerActive Equal to True
it does not change the value of that variable. You have to do that in actions.
It worked. Thank you so much. Do i delete the debug or do i let it stay?
 

Rheiko

Spell Reviewer
Level 26
Joined
Aug 27, 2013
Messages
4,214
You can delete the debug trigger if you don't use it. The purpose of the debug is to help you find the wrongs in your code and I think the debug that DoomBlade was referring to is to use this line in your triggers instead of creating a whole new trigger for debugging purpose:
  • Game - Display to (All players) the text: This is debug!
So yeah, just delete it. :)
 
Level 6
Joined
Aug 3, 2021
Messages
106
You can delete the debug trigger if you don't use it. The purpose of the debug is to help you find the wrongs in your code and I think the debug that DoomBlade was referring to is to use this line in your triggers instead of creating a whole new trigger for debugging purpose:
  • Game - Display to (All players) the text: This is debug!
So yeah, just delete it. :)
Ok. Again thanks for the help!
 
Top