I need help fixing my wave script!

  1. What do you want to achieve? Keep it simple and clear!
    I want my round script to fully work since it breaks on wave 3.
  2. What is the issue? Include screenshots / videos if possible!
    My round script works until it gets to wave 3. I get an error stating “ServerScriptService.RoundMainScript:66: attempt to index boolean with ‘Value’”. I can’t figure out why it’s throwing this error.
  3. What solutions have you tried so far? Did you look for solutions on the Developer Hub?
    I searched the error on the DevFourm and I found one relevant post. I tried the solution in that post but it didn’t work either. I’m stumped as to why it only breaks on round 3 and not the other rounds.

Below is my code. I know it’s a jumbled mess, I’m a noob scripter. Any pointers on how to fix or improve my code would be awesome!

local Status = game:GetService("ReplicatedStorage").Status
local wave = game:GetService("ReplicatedStorage").Wave
local spawnrate = game:GetService("ReplicatedStorage").SpawnRate
local spawning = game:GetService("ReplicatedStorage").Spawning
local speedyspawning = game:GetService("ReplicatedStorage").SpeedySpawning
local speedyspawnrate = game:GetService("ReplicatedStorage").SpeedySpawnRate
local brutespawning = game:GetService("ReplicatedStorage").BruteSpawning
local brutespwanrate = game:GetService("ReplicatedStorage").BruteSpawnRate

while true do
	task.wait(1)
	for i = 15, 0, -1 do
		Status.Value = "Game starting in: "..i
		task.wait(1)
	end
	
	if wave.Value ~= 1 then
		brutespawning.Value = false
		speedyspawning.Value = false
		spawning.Value = false
		wave.Value = 1
		Status.Value = "Wave 1 beginning soon..."
		task.wait(5)
		script.LobbyMusic:Stop()
	end
	
	if wave.Value == 1 then
		brutespawning.Value = false
		speedyspawning.Value = false
			spawning.Value = false
			spawnrate.Value = 24
			Status.Value = "Wave 1"
			task.wait(5)
		spawning.Value = true
		task.wait(60)
	end
	if wave.Value ~= 2 then
		brutespawning.Value = false
		speedyspawning.Value = false
		spawning.Value = false
		wave.Value = 2
		Status.Value = "Wave 2 beginning soon..."
		task.wait(5)
	end
	if wave.Value == 2 then
		brutespawning.Value = false
		speedyspawning.Value = false
		speedyspawnrate.Value = 29
		spawning.Value = false
		spawnrate.Value = 19
		Status.Value = "Wave 2"
		task.wait(5)
		speedyspawning.Value = true
		spawning.Value = true
		task.wait(60)
	end
	if wave.Value ~= 3 then
		brutespawning = false
		speedyspawning = false
		spawning.Value = false
		wave.Value = 3
		Status.Value = "Wave 3 beginning soon..."
		task.wait(5)
	end
	if wave.Value == 3 then
		brutespawning.Value = false
		speedyspawning.Value = false
		speedyspawnrate.Value = 24
		spawning.Value = false
		spawnrate.Value = 14
		Status.Value = "Wave 3"
		task.wait(5)
		speedyspawning.Value = true
		spawning.Value = true
		task.wait(60)
	end
	if wave.Value ~= 4 then
		brutespawning = false
		speedyspawning = false
		spawning.Value = false
		wave.Value = 4
		Status.Value = "Wave 4 beginning soon..."
		task.wait(5)
	end
	if wave.Value == 4 then
		brutespawning.Value = false
		speedyspawning.Value = false
		speedyspawnrate.Value = 19
		spawning.Value = false
		spawnrate.Value = 10
		Status.Value = "Wave 4"
		task.wait(5)
		speedyspawning.Value = true
		spawning.Value = true
		task.wait(60)
	end
	if wave.Value ~= 5 then
		brutespawning = false
		speedyspawning = false
		spawning.Value = false
		wave.Value = 5
		Status.Value = "Wave 5 beginning soon..."
		task.wait(5)
	end
	if wave.Value == 5 then
		brutespawning.Value = false
		brutespawning.Value = 29
		speedyspawning.Value = false
		speedyspawnrate.Value = 19
		spawning.Value = false
		spawnrate.Value = 10
		Status.Value = "Wave 5"
		task.wait(5)
		brutespawning.Value = true
		speedyspawning.Value = true
		spawning.Value = true
		task.wait(60)
	end
end

One thing to point out is, please use else and elseif.

At line 98 (and line 99) it changes the variables to be booleans instead. brutespawning = false
Change it to brutespawning.Value = false instead, same for speedyspawning

This worked. Thank you for helping!