#Help on making an more efficent wave system for a tower defence game I am making

1 messages · Page 1 of 1 (latest)

sour olive
#
    if CurrenlyInWave.Value == false then
        CurrenlyInWave.Value = true
        wave += 1
        print(wave)
        info.Wave.Value = wave
        
        for i=5, 0, -1 do
            info.Message.Value = "Next Wave Starting In " .. i .. " Seconds"
            task.wait(1)
        end
        
        info.Message.Value = ""

        if wave <= 2 then    
            mob.Spawn("Solider", 1, map)
        elseif wave <= 4 then
            mob.Spawn("Archer", 2 , map)
            mob.Spawn("Solider", 3 , map)
        elseif wave <=7 then
            mob.Spawn("Archer", 5 , map)
            mob.Spawn("Solider", 6 , map)
            mob.Spawn("Knight", 5, map)
        elseif wave <= 9 then
            mob.Spawn("Archer", 6 , map)
            mob.Spawn("Solider", 6 , map)
            mob.Spawn("Knight", 6, map)
            mob.Spawn("Brute", 3, map)
        elseif wave == 10 then
            mob.Spawn("Archer", 8 , map)
            mob.Spawn("Solider", 7 , map)
            mob.Spawn("Knight", 5, map)
            mob.Spawn("Brute", 5, map)
        end```
#

I really want a better way to handle spawning in the enemies

#

As you can see I have a wave variable which i check what wave it is and spawn the corresponding amount of enemies. What is a better system to do this which each round simply just adds a few extra enemies each time? Thanks

#

I want there to be for example 200 rounds but dont want to do, if wave = 1, if wave = 2, if wave = 3 ect

sage steppe
#

Not solider