Spawn trigger issue

Enki

New Member
Reaction score
0
Hello. I was trying to find a way to spawn creeps with just one trigger so i wont need another spawn trigger for each wave. I managed to find an old post in this forum and changed a little bit.

my variables are:

CreepType : unit-type array
WaveNo : integer array

setcreeptypes
Events
Map initialization
Conditions
Actions
Set CreepType[0] = Treant Level 1
Set CreepType[1] = Water Elemental (Level 1) (Level 1)
Set CreepType[2] = Spirit Wolf (Level 1) (Level 1)
Set CreepType[3] = Skeleton Warrior Level 1
Set CreepType[4] = Skeletal Mage Level 1
Set CreepType[5] = Carrion Beetle (Level 1) (Level 1)
Set CreepType[6] = Owl Scout (Level 1) (Level 1)



spawn trigger:
Spawn
Events
Player - Player 1 (Red) types a chat message containing start as An exact match
Conditions
(Number of units in (Units in (Playable map area) owned by Player 12 (Brown))) Equal to 0
Actions
For each (Integer A) from 1 to 10, do (Actions)
Loop - Actions
Wait 1.00 seconds
Unit - Create 1 CreepType[WaveNo[(Integer A)]] for Player 12 (Brown) at (Center of SpawnRegion <gen>) facing Default building facing degrees


and KillCount trigger: What i want from this one is when the last created units dies, i want this trigger to add +1 to WaveNo array so next time player types start the spawn trigger will spawn the next type of unit i previously set with "setcreeptypes" trigger.
Events
Unit - A unit owned by Player 12 (Brown) Dies
Conditions
(Triggering unit) Equal to (Last created unit)
Actions
Set WaveNo[(Integer A)] = (WaveNo[(Integer A)] + 1)

The problem is when i kill all the creeps on the map and type start, trigger spawns the same wave. It just doesnt spawn the next type of creeps. I'm totaly stucked here. Any help will be apreciated. Thanks and regards.
 

jomik

New Member
Reaction score
17
you shouldn't use an integer array - unless you spawn seperate waves for each player.
I'd do this - spawns 10 seconds after last creep dies.
Trigger:
  • Wave Setup
    • Events
      • Map initialization
    • Conditions
    • Actions
      • -------- Set Creep Types and Amount of Creeps --------
      • Set CreepType[0] = Peasant
      • Set CreepAmount[0] = 10
      • Set CreepType[1] = Rifleman
      • Set CreepAmount[1] = 12


Trigger:
  • Spawn Trigger
    • Events
      • Unit - A unit owned by Player 12 (Brown) Dies
    • Conditions
      • (Number of units in (Units in (Playable map area) owned by Player 12 (Brown))) Equal to 0
    • Actions
      • Set WaveNo = (WaveNo + 1)
      • Wait 10.00 seconds
      • -------- Delete the Event and the Wait and use a trigger to run it if you dont want it to run after last unit&#039;s death --------
      • Set TempPoint = (Center of SpawnRegion &lt;gen&gt;)
      • For each (Integer A) from 1 to CreepAmount[WaveNo], do (Actions)
        • Loop - Actions
          • Unit - Create 1 CreepType[WaveNo] for Player 12 (Brown) at TempPoint facing Default building facing degrees
      • Custom script: call RemoveLocation(udg_TempPoint)


Ask if there's something you don't understand :D Also, I didn't test this.. >.<
 

Raizn

New Member
Reaction score
2
This is a Spawn Trigger i used.

Trigger:
  • Set Enemies
    • Events
      • Map initialization
    • Conditions
    • Actions
      • -------- Level 0 --------
      • Set i = 0
      • Set EnemyType<i> = Ghoul (W0)
      • Set EnemyCount<i> = 20
      • Set EnemyGold<i> = 1
      • -------- Level 1 --------
      • Set i = (i + 1)
      • Set EnemyType<i> = Zombie (W1)
      • Set EnemyCount<i> = 20
      • Set EnemyGold<i> = 2
      • -------- Level 2 --------
      • Set i = (i + 1)
      • Set EnemyType<i> = Skeleton Archer
      • Set EnemyCount<i> = 20
      • Set EnemyGold<i> = 3
      • -------- Level 3 --------
      • Set i = (i + 1)
      • Set EnemyType<i> = Acolyte (W3)
      • Set EnemyCount<i> = 20
      • Set EnemyGold<i> = 4
      • -------- Level 4 --------
      • Set i = (i + 1)
      • Set EnemyType<i> = Skeleton Warrior (W4)
      • Set EnemyCount<i> = 20
      • Set EnemyGold<i> = 5
    • </i></i></i></i></i></i></i></i></i></i></i></i></i></i></i>


Trigger:
  • Time Spawn
    • Events
      • Time - Elapsed game time is 45.00 seconds
    • Conditions
    • Actions
      • Trigger - Run Display Level Text &lt;gen&gt; (checking conditions)
      • For each (Integer A) from 1 to EnemyCount<i>, do (Trigger - Run Spawn Monsters &lt;gen&gt; (checking conditions))
    • </i>


Trigger:
  • Next Round
    • Events
      • Player - Player 12 (Brown)&#039;s Food used becomes Less than 1.00
    • Conditions
    • Actions
      • Countdown Timer - Start Start_Timer as a One-shot timer that will expire in 20.00 seconds
      • Countdown Timer - Create a timer window for Start_Timer with title Timer
      • Game - Display to (All players) the text: Next Wave in 20 sec...
      • Wait 22.00 seconds
      • Countdown Timer - Destroy (Last created timer window)
      • Set pointer = (pointer + 1)
      • Player Group - Pick every player in (All players) and do (Player - Add 20 to (Picked player) Current gold)
      • For each (Integer A) from 1 to EnemyCount<i>, do (Trigger - Run Time Spawn &lt;gen&gt; (ignoring conditions))
      • Wait 10.00 seconds
    • </i>


Trigger:
  • Spawn Monsters
    • Events
    • Conditions
    • Actions
      • Unit - Create 1 EnemyType[pointer] for Player 12 (Brown) at (Random point in Spawn1 &lt;gen&gt;) facing (Position of (Triggering unit))
      • Unit - Create 1 EnemyType[pointer] for Player 12 (Brown) at (Random point in Spawn2 &lt;gen&gt;) facing (Position of (Triggering unit))
      • Unit - Create 1 EnemyType[pointer] for Player 12 (Brown) at (Random point in Spawn3 &lt;gen&gt;) facing (Position of (Triggering unit))


Trigger:
  • Display Level Text
    • Events
    • Conditions
    • Actions
      • Wait 1.00 seconds
      • Game - Display to (All players) for 7.00 seconds the text: (|c00FFFF00Level + ((String(pointer)) + <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="smilie smilie--sprite smilie--sprite1" alt=":)" title="Smile :)" loading="lazy" data-shortname=":)" /> |r + ((Name of (Last created unit)) + ( ( + ((String(EnemyCount[pointer])) + an jedem Spawn)))))))


I Just copy-> pasted it from my Map. Maybe there is something in it you could need.

Bye Raizn
 

Enki

New Member
Reaction score
0
Editing "WaveNo" did the trick. But seeing your triggers, made me wanna change mine. I will see what i can do with these new stuffs. Thank you both for your answers.
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Staff online

      • Ghan
        Administrator - Servers are fun

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top