I need help with a script that is about currency. I am trying to make a shop where you spend currency on. Here's the leaderboard script, where my currency is called 'Coins':
local currencyName = "Coins" local player = game.Players.LocalPlayer game.Players.PlayerAdded:Connect(function(player) local folder = Instance.new("Folder") folder.Name = "leaderstats" folder.Parent = player local currency = Instance.new("IntValue") currency.Name = currencyName currency.Parent = folder end)
And here's the buy button localscript:
local price = script.Parent.Parent.Price local tools = game.ReplicatedStorage:WaitForChild("Tools") local tool = script.Parent.Parent.ItemName local player = script.Parent.Parent.Parent.Parent.Parent.Parent script.Parent.MouseButton1Click:connect(function() if player.leaderstats:FindFirstChild("Coins").Value >= price.Value then player.leaderstats:FindFirstChild("Coins").Value = player.leaderstats:FindFirstChild("Coins").Value - price.Value game.ReplicatedStorage.ShopBuy:FireServer(tool.Value) end end)
The thing I want to do is to make the player lose the amount of currency needed for the tool, but for some reason the currency goes back to the exact amount when you kill a NPC... Here's the NPC script:
local Humanoid = script.Parent.Humanoid function dead() local tag = Humanoid:findFirstChild("creator") if tag ~= nil then if tag.Value ~= nil then local Leaderstats = tag.Value:findFirstChild("leaderstats") if Leaderstats ~= nil then Leaderstats.Coins.Value = Leaderstats.Coins.Value + 5 wait(1) script.Disabled = true script.Parent:remove() end end end end Humanoid.Died:connect(dead)
I would appreciate it if you could find a way to make it so the NPC gives the amount of currency (5) instead of returning to the currency you had before buying a tool...