local dialog = script.Parent dialog.DialogChoiceSelected:connect(function(player, choice) -- Check the player has a stats object local stats = player:FindFirstChild('leaderstats') if not stats then return end
-- And that the stats object contains a gold member
local gold = stats:FindFirstChild('Gold')
if not gold then return end
if choice == script.Parent.DialogChoice.ChoiceA then
if gold.Value >= 5 then -- 5 is the amount of gold you need to purchase this weapon
game.ReplicatedStorage.Weapon1:Clone().Parent = player.Backpack
game.ReplicatedStorage.Weapon1:Clone().Parent = player.StarterPack gold.Value = gold.Value - 5 -- subtract the amount of gold you need to purchase end elseif choice == dialog.DialogChoice.ChoiceB then if gold.Value >= 10 then game.ReplicatedStorage.Weapon2:Clone().Parent = player.Backpack game.ReplicatedStorage.Weapon2:Clone().Parent = player.StarterPack gold.Value = gold.Value - 10 end elseif choice == dialog.DialogChoice.ChoiceC then if gold.Value >= 15 then game.ReplicatedStorage.Weapon3:Clone().Parent = player.Backpack game.ReplicatedStorage.Weapon3:Clone().Parent = player.StarterPack gold.Value = gold.Value - 15 end end end)

4 comments
Sorry Its a bit messy.
Can anyone help me fix it so it will work?
It looks like it already does function correctly. We wouldn't know that for sure, though, since you haven't contrasted your intent for how this is meant to function with how it actually does.
It is meant to function if you buy a weapon from from the dialog shop using the leaderstat Gold you get from kills then it will be cloned into your starterPack so you will have it until you leave. Anything wrong in the way I'm using it?