Hello guys, I have this purchase script for my Tycoon. It all works fine but I wanted to add a sound when you buy the product. I tried this and this is what came out.
objects = {} 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 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) 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 cashmoney.Value = cashmoney.Value + script.Parent.Cash.Value script.Parent.Cash.Value = 0 then script.Parent.Sound:Play() wait(0.6) end end end end end end) script.Parent:WaitForChild("Buttons") for i,v in pairs(script.Parent.Buttons:GetChildren()) do if v:FindFirstChild("Head") then local object = script.Parent.Purchases:FindFirstChild(v.Object.Value) if object ~= nil then objects[object.Name] = object:Clone() object:Destroy() else print("Button: "..v.Name.." is missing its object and has been removed.") v.Head.CanCollide = false v.Head.Transparency = 1 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 objects[v.Object.Value].Parent = script.Parent.PurchasedObjects 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
The normal buy works but as you see at the start I added this part
then script.Parent.Sound:Play() wait(0.6) end
There is an error at the "then" part. The sound still doesn't play, Please help..?