So I'm making a game that has an auto spawner for items, kind of like what simulators use. I'm trying to add "1" to a NumVal everytime a "Trash" (what I'm calling the item) spawns. I also have a script inside "Trash" that removes 1 from the NumVal before it gets collected. My problem is that the 1 isn't getting removed from the NumVal, therefore, "Trash" won't spawn.
Here is the trash spawner script inside ServerScriptService:
local TrashSpawnArea = workspace.TrashSpawnArea local Trash = workspace.Trash local r = 50 local numval = script.Parent.TrashSpawnScript.AmountOfTrash local numval0 = numval.Value while wait(1) do if numval0 <15 then local TrashClone = Trash:Clone() local x,z = TrashSpawnArea.Position.X, TrashSpawnArea.Position.Z x,z = math.random(x - r, x + r), math.random(z - r, z + r) local pos = Vector3.new(x, TrashSpawnArea.Position.Y, z) TrashClone.Parent = workspace TrashClone.Parent = workspace.TrashDuplicates TrashClone.Position = pos numval0 = numval0 + 1 end end
This script works fine on It's own but when I try to remove 1 from the value, it doesn't work because the items don't spawn again.
Here is the script inside the object (Trash):
local CleaningSmoke = script.Parent.CleaningSmoke local Trash = script.Parent local ClickDetector = script.Parent.ClickDetector local numval = game.ServerScriptService.TrashSpawnScript.AmountOfTrash.Value ClickDetector.MouseClick:Connect(function() CleaningSmoke.Enabled = true wait(2.5) numval = numval - 1 wait(2.5) Trash:Destroy() end)
I'm really struggling with this, It's my first time actually scripting a game. Any help is appreciated!