I have a tycoon that I am working on but every time I add a new item it wont work. it was working fine when I placed the first 3 items but when I add another dropper and conwall they won go away until bought. they are always there working. I need them to go away until bought.
---handels all buttons objects = {} ---empty erray for script teamcolor = BrickColor.new(script.Parent.Name) config = script.Parent.Parent.Parent.Configuration wait(1) script.Parent.Essentials.Spawn.TeamColor = teamcolor script.Parent.Essentials.Spawn.BrickColor = teamcolor script.Parent.Essentials.Collector.Touched:connect(function(hit) if hit:FindFirstChild("Cash") then script.Parent.Cash.Value = script.Parent.Cash.Value + hit.Cash.Value --checks if they ahve cash and takes the price from it Instance.new("Sparkles",hit).Color=Color3.new(math.random(1,255)/255,math.random(1,255)/255,math.random(1,255)/255) game.Debris:AddItem(hit,0.1) end end) script.Parent.Essentials.Giver.Touched:connect(function(hit) local player = game.Players:GetPlayerFromCharacter(hit.Parent) ---makes sure that is is a player if player ~= nil then if script.Parent.Owner.Value == player then ---makes sure that it is the owner if hit.Parent:FindFirstChild("Humanoid") then if hit.Parent.Humanoid.Health > 0 then ---makes sure thta the player is alive when touched local cashmoney = game.ServerStorage.MoneyStorage:FindFirstChild(player.Name)---checks the storage for cash if cashmoney ~= nil then cashmoney.Value = cashmoney.Value + script.Parent.Cash.Value script.Parent.Cash.Value = 0 ----makes sure that they have enough money to buy the item end end end end end end) script.Parent:WaitForChild("Buttons") ---- waits for all the buttons to arrive for i,v in pairs(script.Parent.Buttons:GetChildren()) do if v:FindFirstChild("Head") then ---makes sure it is a button local object = script.Parent.Purchases:FindFirstChild(v.Object.Value)---look for an object by the name of the button if object ~= nil then objects[object.Name] = object:Clone() --- clones the object object:Destroy() ----destroys the object else print("Button: "..v.Name.." is missing its object and has been removed.") v.Head.CanCollide = false v.Head.Transparency = 1 ---removes the button end if v:FindFirstChild("Dependency") then v.Head.CanCollide = false v.Head.Transparency = 1 coroutine.resume(coroutine.create(function() if script.Parent.PurchasedObjects:WaitForChild(v.Dependency.Value) then if config.ButtonFadeInDependency.Value == true then for i=1,20 do wait(config.ButtonFadeInTime.Value/20) v.Head.Transparency = v.Head.Transparency - 0.05 end end v.Head.CanCollide = true v.Head.Transparency = 0 end end)) end v.Head.Touched:connect(function(hit) local player = game.Players:GetPlayerFromCharacter(hit.Parent) if v.Head.CanCollide == true then if player ~= nil then if script.Parent.Owner.Value == player then if hit.Parent:FindFirstChild("Humanoid") then if hit.Parent.Humanoid.Health > 0 then local cashmoney = game.ServerStorage.MoneyStorage:FindFirstChild(player.Name) if cashmoney ~= nil then if cashmoney.Value >= v.Price.Value then cashmoney.Value = cashmoney.Value - v.Price.Value ---makes sure you have enough money objects[v.Object.Value].Parent = script.Parent.PurchasedObjects ---makes the object go away until bought if config.ButtonExplodeOnBuy.Value == true then local explosion = Instance.new("Explosion",workspace) explosion.Position = v.Head.Position explosion.DestroyJointRadiusPercent = 0 explosion.BlastPressure = 0 end if config.ButtonFadeOutOnBuy.Value == true then v.Head.CanCollide = false coroutine.resume(coroutine.create(function() for i=1,20 do wait(config.ButtonFadeOutTime.Value/20) v.Head.Transparency = v.Head.Transparency + 0.05 end end)) else v.Head.CanCollide = false v.Head.Transparency = 1 end end end end end end end end end) end end