So I made A Shop And Added A Confirm GUI But Its Kinda Broken And Saves The Last Purchase Of The Player And When The Player Buys Another Item He Buys His Item And The Old One As Well
What Happens Is Described Well In This Video https://youtu.be/FNA8Ok46OnA
This Is My Script That Goes In SSS
local ReplicatedStorage = game:GetService("ReplicatedStorage") local ServerStorage = game:GetService("ServerStorage") local Shopitem = ServerStorage.ShopItem local debounce = false local function checkprice(player, item) local price = Shopitem[item].Price return price.Value end ReplicatedStorage.getPrice.OnServerInvoke = checkprice local function buyItem(player, item) local confirmframe = player.PlayerGui.Menu.Confirm local yesbutton = confirmframe.Yes local gold = player.leaderstats.Gold if gold.Value >= Shopitem[item].Price.Value then confirmframe.Visible = true yesbutton.MouseButton1Click:Connect(function() print("Success") gold.Value = gold.Value - Shopitem[item].Price.Value Shopitem[item]:Clone().Parent = player.StarterGear Shopitem[item]:Clone().Parent = player.Backpack confirmframe.Visible = false end) else print("Unable To Buy") end local nobutton = confirmframe.No nobutton.MouseButton1Click:Connect(function() confirmframe.Visible = false end) end ReplicatedStorage.buyItem.OnServerInvoke = buyItem
In Case You Wanna Try This Is A Local Script
local ReplicatedStorage = game:GetService("ReplicatedStorage") for key, object in pairs(script.Parent:GetChildren()) do if object:IsA("ImageButton") then local weopan = object.Name local price = ReplicatedStorage.getPrice:InvokeServer(weopan) local desc = script.Parent.Parent.Description object.Price.Text = price object.Name1.Text = object.Name object.MouseEnter:Connect(function() desc.Text = object.Desc.Value end) object.MouseLeave:Connect(function() desc.Text = "Hover Over An Item For Its Description" end) object.MouseButton1Click:Connect(function() local purchasesuccess = ReplicatedStorage.buyItem:InvokeServer(weopan) end) end end