I've already tried putting wait functions. It's pretty self explanatory.
script.Parent.MouseButton1Click:Connect(function() script.Parent.Text = "Please Wait." wait(0.2) script.Parent.Text = "Please Wait.." wait(0.2) script.Parent.Text = "Please Wait..." wait(0.2) if game.Players.LocalPlayer.Jeep.Value == true then script.Parent.Text = "Spawn" game.ReplicatedStorage.SpawnCar:FireServer(script.Parent.Parent.Name) script.Parent.Parent.Parent.Visible = false else -- Let them purchase it local PriceOfItem = game.ReplicatedStorage:WaitForChild("CheckPrice"):InvokeServer(script.Parent.Parent.Name) if game.Players.LocalPlayer.leaderstats.Cash.Value >= PriceOfItem and script.Parent.Parent.Purchased.Value == false then -- The player has enough cash game.Players.LocalPlayer.leaderstats.Cash.Value = game.Players.LocalPlayer.leaderstats.Cash.Value - PriceOfItem script.Parent.Parent.Purchased.Value = true game.Players.LocalPlayer.Jeep.Value = true script.Parent.Text = "Spawn" script.Parent.Parent.Parent.Visible = false end end end)
Use a debounce this is what a debounce looks like
debounce = true script.Parent.MouseButton1Click:Connect(function() if debounce then debounce = false wait(1) --script here debounce = true end end)
more info on debounces here http://wiki.roblox.com/index.php?title=Scripting_Book/Chapter_6