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

The wave won't start

Status
Not open for further replies.

Deleted member 238589

D

Deleted member 238589

I have trouble starting a wave in my map.
I create a timer and, after the first wave ends, I start the next timer. But when that timer reaches 0:00 seconds, nothing happens, and the third waves starts, and so on, always skipping the spawning phase, except in the first wave.
  • Timer
    • Events
    • Conditions
    • Actions
      • Countdown Timer - Start Attack_Timer as a One-shot timer that will expire in 40.00 seconds
      • Countdown Timer - Create a timer window for (Last started timer) with title Next Wave:
      • Set Attackers = (Units in No region)
      • Player Group - Pick every player in (All players) and do (Actions)
        • Loop - Actions
          • Countdown Timer - Show (Last created timer window) for (Picked player)
  • Wave 001
    • Events
      • Time - Attack_Timer expires
    • Conditions
    • Actions
      • -------- Create attacking units, add them all to a unit group (here: Attackers) and make 'em start moving --------
      • -------- - --------
      • Set Spawn_Point_Left = (Center of Spawn Point Left Wing <gen>)
      • Unit - Create 1 Marauder (Level 01) for Player 2 (Blue) at Spawn_Point_Left facing Default building facing degrees
      • Unit Group - Add (Last created unit) to Attackers
      • Custom script: call RemoveLocation(udg_Spawn_Point_Left)
      • Unit - Order (Last created unit) to Attack-Move To Attack_Point
      • Cinematic - Send transmission to (All players) from Templar named Talnaar: Play No sound and display Here they come! To .... Modify duration: Set to 5.00 seconds and Don't wait
      • Wait 1.30 seconds
      • -------- - --------
      • Set Spawn_Point_Left = (Center of Spawn Point Left Wing <gen>)
      • Unit - Create 1 Skirmisher (Level 01) for Player 2 (Blue) at Spawn_Point_Left facing Default building facing degrees
      • Unit Group - Add (Last created unit) to Attackers
      • Custom script: call RemoveLocation(udg_Spawn_Point_Left)
      • Unit - Order (Last created unit) to Attack-Move To Attack_Point
      • Wait 1.30 seconds
      • -------- - --------
      • Set Spawn_Point_Left = (Center of Spawn Point Left Wing <gen>)
      • Unit - Create 1 Marauder (Level 01) for Player 2 (Blue) at Spawn_Point_Left facing Default building facing degrees
      • Unit Group - Add (Last created unit) to Attackers
      • Custom script: call RemoveLocation(udg_Spawn_Point_Left)
      • Unit - Order (Last created unit) to Attack-Move To Attack_Point
      • Wait 1.30 seconds
      • -------- - --------
      • Set Spawn_Point_Left = (Center of Spawn Point Left Wing <gen>)
      • Unit - Create 1 Skirmisher (Level 01) for Player 2 (Blue) at Spawn_Point_Left facing Default building facing degrees
      • Unit Group - Add (Last created unit) to Attackers
      • Custom script: call RemoveLocation(udg_Spawn_Point_Left)
      • Unit - Order (Last created unit) to Attack-Move To Attack_Point
      • Wait 1.30 seconds
      • -------- - --------
      • Set Spawn_Point_Left = (Center of Spawn Point Left Wing <gen>)
      • Unit - Create 1 Marauder (Level 01) for Player 2 (Blue) at Spawn_Point_Left facing Default building facing degrees
      • Unit Group - Add (Last created unit) to Attackers
      • Custom script: call RemoveLocation(udg_Spawn_Point_Left)
      • Unit - Order (Last created unit) to Attack-Move To Attack_Point
      • Wait 1.30 seconds
      • -------- - --------
      • Set Spawn_Point_Left = (Center of Spawn Point Left Wing <gen>)
      • -------- - --------
      • Set Spawn_Point_Left = (Center of Spawn Point Left Wing <gen>)
      • Unit - Create 1 Skirmisher (Level 01) for Player 2 (Blue) at Spawn_Point_Left facing Default building facing degrees
      • Unit Group - Add (Last created unit) to Attackers
      • Custom script: call RemoveLocation(udg_Spawn_Point_Left)
      • Unit - Order (Last created unit) to Attack-Move To Attack_Point
      • Wait 1.30 seconds
      • Unit - Create 1 Skirmisher (Level 01) for Player 2 (Blue) at Spawn_Point_Left facing Default building facing degrees
      • Unit Group - Add (Last created unit) to Attackers
      • Custom script: call RemoveLocation(udg_Spawn_Point_Left)
      • Unit - Order (Last created unit) to Attack-Move To Attack_Point
      • Wait 1.30 seconds
      • -------- - --------
      • Set Spawn_Point_Left = (Center of Spawn Point Left Wing <gen>)
      • Unit - Create 1 Marauder (Level 01) for Player 2 (Blue) at Spawn_Point_Left facing Default building facing degrees
      • Unit Group - Add (Last created unit) to Attackers
      • Custom script: call RemoveLocation(udg_Spawn_Point_Left)
      • Unit - Order (Last created unit) to Attack-Move To Attack_Point
      • Wait 1.30 seconds
      • -------- - --------
      • Set Spawn_Point_Left = (Center of Spawn Point Left Wing <gen>)
      • Unit - Create 1 Marauder (Level 01) for Player 2 (Blue) at Spawn_Point_Left facing Default building facing degrees
      • Unit Group - Add (Last created unit) to Attackers
      • Custom script: call RemoveLocation(udg_Spawn_Point_Left)
      • Unit - Order (Last created unit) to Attack-Move To Attack_Point
      • Quest - Display to (All players) the Hint message: |c0096FF96HINT|r: T...
      • Wait 1.30 seconds
      • -------- - --------
      • Set Spawn_Point_Left = (Center of Spawn Point Left Wing <gen>)
      • Unit - Create 1 Skirmisher (Level 01) for Player 2 (Blue) at Spawn_Point_Left facing Default building facing degrees
      • Unit Group - Add (Last created unit) to Attackers
      • Custom script: call RemoveLocation(udg_Spawn_Point_Left)
      • Unit - Order (Last created unit) to Attack-Move To Attack_Point
      • Wait 1.30 seconds
      • -------- - --------
      • -------- - --------
      • Wait until ((All units of Attackers are dead) Equal to True), checking every 1.00 seconds
      • Unit Group - Remove all units from Attackers
      • Wait 2.00 seconds
      • Cinematic - Send transmission to (All players) from Templar named Talnaar: Play No sound and display Well done, but this.... Modify duration: Set to 6.00 seconds and Don't wait
      • Countdown Timer - Start Attack_Timer as a One-shot timer that will expire in 20.00 seconds
      • Trigger - Turn off (This trigger)
      • Trigger - Turn on Wave 002 <gen>
  • Wave 002
    • Events
      • Time - Attack_Timer expires
    • Conditions
    • Actions
      • -------- Create attacking units, add them all to a unit group (here: Attackers) and make 'em start moving --------
      • -------- - --------
      • Set Spawn_Point_Center = (Center of Spawn Point Center <gen>)
      • Unit - Create 1 Marauder (Level 01) for Player 2 (Blue) at Spawn_Point_Left facing Default building facing degrees
      • Unit Group - Add (Last created unit) to Attackers
      • Custom script: call RemoveLocation(udg_Spawn_Point_Center)
      • Unit - Order (Last created unit) to Attack-Move To Attack_Point
      • Wait 1.30 seconds
      • -------- - --------
      • Set Spawn_Point_Center = (Center of Spawn Point Center <gen>)
      • Unit - Create 1 Marauder (Level 01) for Player 2 (Blue) at Spawn_Point_Left facing Default building facing degrees
      • Unit Group - Add (Last created unit) to Attackers
      • Custom script: call RemoveLocation(udg_Spawn_Point_Center)
      • Unit - Order (Last created unit) to Attack-Move To Attack_Point
      • Wait 1.30 seconds
      • -------- - --------
      • Set Spawn_Point_Center = (Center of Spawn Point Center <gen>)
      • Unit - Create 1 Marauder (Level 01) for Player 2 (Blue) at Spawn_Point_Left facing Default building facing degrees
      • Unit Group - Add (Last created unit) to Attackers
      • Custom script: call RemoveLocation(udg_Spawn_Point_Center)
      • Unit - Order (Last created unit) to Attack-Move To Attack_Point
      • Wait 1.30 seconds
      • -------- - --------
      • Set Spawn_Point_Center = (Center of Spawn Point Center <gen>)
      • Unit - Create 1 Skirmisher (Level 01) for Player 2 (Blue) at Spawn_Point_Left facing Default building facing degrees
      • Unit Group - Add (Last created unit) to Attackers
      • Custom script: call RemoveLocation(udg_Spawn_Point_Center)
      • Unit - Order (Last created unit) to Attack-Move To Attack_Point
      • Wait 1.30 seconds
      • -------- - --------
      • Set Spawn_Point_Center = (Center of Spawn Point Center <gen>)
      • Unit - Create 1 Skirmisher (Level 01) for Player 2 (Blue) at Spawn_Point_Left facing Default building facing degrees
      • Unit Group - Add (Last created unit) to Attackers
      • Custom script: call RemoveLocation(udg_Spawn_Point_Center)
      • Unit - Order (Last created unit) to Attack-Move To Attack_Point
      • Wait 1.30 seconds
      • -------- - --------
      • Set Spawn_Point_Center = (Center of Spawn Point Center <gen>)
      • Unit - Create 1 Marauder (Level 01) for Player 2 (Blue) at Spawn_Point_Left facing Default building facing degrees
      • Unit Group - Add (Last created unit) to Attackers
      • Custom script: call RemoveLocation(udg_Spawn_Point_Center)
      • Unit - Order (Last created unit) to Attack-Move To Attack_Point
      • Wait 1.30 seconds
      • -------- - --------
      • Set Spawn_Point_Center = (Center of Spawn Point Center <gen>)
      • Unit - Create 1 Marauder (Level 01) for Player 2 (Blue) at Spawn_Point_Left facing Default building facing degrees
      • Unit Group - Add (Last created unit) to Attackers
      • Custom script: call RemoveLocation(udg_Spawn_Point_Center)
      • Unit - Order (Last created unit) to Attack-Move To Attack_Point
      • Wait 1.30 seconds
      • -------- - --------
      • Set Spawn_Point_Center = (Center of Spawn Point Center <gen>)
      • Unit - Create 1 Skirmisher (Level 01) for Player 2 (Blue) at Spawn_Point_Left facing Default building facing degrees
      • Unit Group - Add (Last created unit) to Attackers
      • Custom script: call RemoveLocation(udg_Spawn_Point_Center)
      • Unit - Order (Last created unit) to Attack-Move To Attack_Point
      • Wait 1.30 seconds
      • -------- - --------
      • Set Spawn_Point_Center = (Center of Spawn Point Center <gen>)
      • Unit - Create 1 Skirmisher (Level 01) for Player 2 (Blue) at Spawn_Point_Left facing Default building facing degrees
      • Unit Group - Add (Last created unit) to Attackers
      • Custom script: call RemoveLocation(udg_Spawn_Point_Center)
      • Unit - Order (Last created unit) to Attack-Move To Attack_Point
      • Wait 1.30 seconds
      • -------- - --------
      • -------- - --------
      • -------- - --------
      • Wait until ((All units of Attackers are dead) Equal to True), checking every 1.00 seconds
      • Unit Group - Remove all units from Attackers
      • Countdown Timer - Start Attack_Timer as a One-shot timer that will expire in 20.00 seconds
      • Trigger - Turn off (This trigger)
      • Trigger - Turn on Wave 002 <gen>
 
Level 25
Joined
May 11, 2007
Messages
4,651
"Unit - Order (Last created unit) to Attack-Move To Attack_Point"
Where is Attack_Point declared?

And you don't need to do this:
Set Attackers = (Units in No region)
Attackers (unit group) is empty by default.

Also, turning a trigger off doesn't stop it when it's running, so put the "trigger turn - this off" at the top.
 

Deleted member 238589

D

Deleted member 238589

It's not shown here, but it is declared in other trigger. The problem might be with the timer somehow, not sure.
 
Level 11
Joined
Jan 23, 2015
Messages
788
A more simple wave system requires a spawn trigger, a unit-type trigger and a level trigger(its a TD map I guess?).
You set the level = level + 1 every 40sec
set all unit-types with arrays at 0 elapsed time
and for the spawn trigger, create UnitType[Level]

that should work perfect.
 

Deleted member 238589

D

Deleted member 238589

It's not a TD actually. Can need you to tell me if there's anything wrong with the current trigger and why is the second wave not spawning? I don't have enough coding knowledge to do this any other way.
 
Level 11
Joined
Jan 23, 2015
Messages
788
Your wave triggers are very complicated. You don't have to copy 5 actions all the time just for the delay. You can download my TD map in my sig, open it and see how does my system work, then you'll get what I'm trying to tell you.

Also use Wait game-time seconds instead of just Wait, cause if you pause the game during a wave the units will keep spawning regardless the pause.
 

Deleted member 238589

D

Deleted member 238589

Yes, I know it's a bit complicated, but for now I need to know exactly what is causing Wave 002 trigger not to run.
 
Level 12
Joined
May 22, 2015
Messages
1,051
I can't see anything wrong with it, but it's hard to tell with all the stuff in the triggers. Have you tried doing just the countdown timer stuff in separate triggers and do something simple so you know the triggers are running correctly? You could just send a message to all players or spawn a specific unit, just to see if the triggers are doing the things they're supposed to.
 

Deleted member 238589

D

Deleted member 238589

The timer works fine, at least for the first wave. When I rerun it for the second wave, it simply ignores that trigger.
 
Level 11
Joined
Jan 23, 2015
Messages
788
Yes, I know it's a bit complicated, but for now I need to know exactly what is causing Wave 002 trigger not to run.

I don't know, there's many things I don't understand, like why do you turn off the trigger at the end? Why do you run the same trigger again?
I reccomend you delete this one and make a more-simplier wave system so you will spot eventual problems easier.
 

Deleted member 238589

D

Deleted member 238589

I don't know, there's many things I don't understand, like why do you turn off the trigger at the end? Why do you run the same trigger again?

When I turned off that trigger (wave 001), I turned on the second one (wave 002), not the same one again.

I reccomend you delete this one and make a more-simplier wave system so you will spot eventual problems easier.

I wish I knew how :/
I'm stuck with this trigger salad for now.
 

Shar Dundred

Community Moderator
Level 72
Joined
May 6, 2009
Messages
5,870
Hm, I just thought of something. Perhaps it wasn't a good idea of mine to make it in several triggers.
Perhaps you can use the timer just to show the player how much time until the next wave arrives, but use instead only one trigger (the first one) with wait commands - instead of letting the timer expire again and again - so you only have one trigger for all attacks?
It'd be a bit messy but it should work.
 
Level 11
Joined
Jan 23, 2015
Messages
788
Nope, check wave 002 you turn off and then on the same trigger..
It's probably because you don't have wave 3, but still it's a bad way of changing waves. You need 1 trigger for spawning just like you have 1 trigger for the timer.

Download my map and take a look at my wave system.
 
Level 23
Joined
Apr 16, 2012
Messages
4,041
the problem is as this: You start the timer again in Wave001, then it executes the Wave002, which turns itself off, and turns Wave001 on, so that Wave001 runs again, but it does nothing like that(Im surprised, it should run twice actually after Wave001, maybe the trigger is initially off).

Basically you are missing the trigger switch inside Wave001

lol, Im blind....I will leave this in here so you can all have a laughter
 
Level 25
Joined
May 11, 2007
Messages
4,651
In the Wave2 trigger:
Countdown Timer - Start Attack_Timer as a One-shot timer that will expire in 20.00 seconds
Trigger - Turn off (This trigger)
Trigger - Turn on Wave 002 <gen>

Ur turning it off just to turn it on again. This does changes nothing.
But is the wave 2 trigger disabled at the beginning? Otherwise it'd run at the same time as wave 1 spawns.

I suggest you put game text so you see when wave1 and wave2 triggers.
And nah, it's a not very complicated trigger.
 

Shar Dundred

Community Moderator
Level 72
Joined
May 6, 2009
Messages
5,870
In the Wave2 trigger:
Countdown Timer - Start Attack_Timer as a One-shot timer that will expire in 20.00 seconds
Trigger - Turn off (This trigger)
Trigger - Turn on Wave 002 <gen>

Ur turning it off just to turn it on again. This does changes nothing.

The Wave 2 trigger isn't even starting atm. That down there can't be the problem since it's only a placeholder.

But is the wave 2 trigger disabled at the beginning? Otherwise it'd run at the same time as wave 1 spawns.

It is disabled afaik.
 

Deleted member 238589

D

Deleted member 238589

I found a problem. The units in wave 002 spawned were set to spawn at the wrong location, and they didn't spawn at all because the locations were previously removed.

Thanks everyone for helping.
 
Status
Not open for further replies.
Top