• 🏆 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!
  • 🏆 Hive's 6th HD Modeling Contest: Mechanical is now open! Design and model a mechanical creature, mechanized animal, a futuristic robotic being, or anything else your imagination can tinker with! 📅 Submissions close on June 30, 2024. Don't miss this opportunity to let your creativity shine! Enter now and show us your mechanical masterpiece! 🔗 Click here to enter!

[Trigger] plz help with spawning/pathing system

Status
Not open for further replies.
Level 15
Joined
Sep 3, 2009
Messages
1,521
hi i need help with my triggering for a timer/spawning system for my td that starts 15 seconds into the game that lasts 30 seconds and when it ends units spawn when all are dead next 30 second timer starts etc. it works with 1 player but if there are multiple players it only spawns at one random start.
Also the units skip 1 region they are supposed to go to.:cry:

if it would be just easier to make the system for me could you plz do it i need monsters to spawn from 8 points touching 2 other points along the way and ending at the leak zone when all monsters die it starts next timer for wave 2 and so on o and the monsters attack anything along the way
map is attached

thanks to anyone who answers and plus rep
 

Attachments

  • new terrain wow td.w3x
    66.5 KB · Views: 59
Last edited:
Level 12
Joined
Aug 22, 2008
Messages
911
Before I start, next time reserve this for the Requests forum, and ask you to try to make yourself a little clearer because I had problems understanding what was your problem.

First: you need a timer for each spawning point, kept by a timer array of length 8 as well. These will hold the time left for respawn.
Second: you need a unit group for each spawning point, kept by a unit group array of length 8 as well. These will hold the groups of spawned units accordingly.
Third: the triggers. Make them leakless yourself.
  • 15 Second Trigger
    • Events
      • Time - Elapsed game time is 15.00 seconds
    • Conditions
    • Actions
      • Don't change the numbers! It's important!
      • For each (Integer A) from 0 to 7 do (All Actions)
        • Loop - Actions
          • Timer - Start TimerArray[(Integer A)] as a one-time timer that will expire in 30.00 seconds
Now the following triggers you will need to duplicate according to the number of timers you have. I'm currently spawning at positions of units because it's more comfortable. (Each unit is a different unit-type)
BTW, X resembles a number from 1 to 8.
  • Spawn X
    • Events
      • Timer - TimerArray[X-1] expires
    • Conditions
    • Actions
      • Unit - Create N Creeps for CreepPlayer at (Position of (Unit(Portal X))) facing (Random Angle)
      • Set GroupArray[X-1] = (Last Created Unit Group)
      • Unit Group - Pick every unit in GroupArray[X-1] and do (Unit - Order (Picked Unit) to Attack-Move to (Center of RallyPoint 8))
  • Initiate Timer X
    • Events
      • A unit dies
    • Conditions
      • ((Triggering Unit) is in GroupArray[X-1]) equal to True
      • (Number of units in GroupArray[X-1] equal to 0)
    • Actions
      • Timer - Start TimerArray[X-1] as a one-time timer that will expire in 30.00 seconds
I hope you understood everything, and next time try exploring WE by yourself and don't try too big projects.
 
Level 15
Joined
Sep 3, 2009
Messages
1,521
o and also on the first trigger it says for each integer 1-7 shouldnt it be 1-8 if there are 8 players? much appreciated

Edit: o nevermind it goes from 0-7 my mistake
also just to make sure rallypoint8 is a variable? if so what kind i want to get this right finally
 
Last edited:
Level 15
Joined
Sep 3, 2009
Messages
1,521
followed instructions

ok i did everything you said but it doesnt work i modified some things trying to get it too work still nothing here are my triggers

  • timer
    • Events
      • Time - Elapsed game time is 15.00 seconds
    • Conditions
    • Actions
      • For each (Integer A) from 0 to 7, do (Actions)
        • Loop - Actions
          • Countdown Timer - Start timerarray[(Integer A)] as a One-shot timer that will expire in 30.00 seconds
that is the first trigger it creates the timer so it works that part but it creates like 20 of them

  • spawn red
    • Events
      • Time - timerarray[(1 - 1)] expires
    • Conditions
    • Actions
      • Unit - Create 1 Footman for hostile_creeps at (Position of creep spawn start (Custom Campaign) 0009 <gen>) facing Default building facing degrees
      • Set grouparray[(1 - 1)] = (Last created unit group)
      • Unit Group - Pick every unit in grouparray[(1 - 1)] and do (Unit - Order (Picked unit) to Attack-Move To (Center of (Playable map area)))
that is my spawn for red for each player after i increased the number in the grouparray by one for example (1-1) then (2-1) for blue then (3-1) for teal
seperate trigger for each
the creep spawn start is a unit that the other units spawn on

  • initiate timer red
    • Events
      • Unit - A unit Dies
    • Conditions
      • ((Triggering unit) is in grouparray[(1 - 1)]) Equal to True
      • (Number of units in grouparray[(1 - 1)]) Equal to 0
    • Actions
      • Countdown Timer - Start timerarray[(1 - 1)] as a One-shot timer that will expire in 30.00 seconds
i did the same as up there
plz help me someone
 
Level 12
Joined
Aug 22, 2008
Messages
911
First trigger: I don't know why it creates 20 timers, the loop should fire exactly 8 times. Maybe you changed the event to "Every 15 seconds of game time" or something.

Second trigger: spawn point is up to you to decide, I did my advanced system because you said there were 8 spawn points. The simplest thing would be to apply them manually (no by theory). Also the target of the Attack-Move order is where you'd like your unit to go (and attack things on the way), keep in mind that if you order it to cast spells it'll forget the Attack-Move order.

Third trigger: works.

You could explain exactly what happens and maybe we could help you more.
 
Status
Not open for further replies.
Top