I'm very new to developing on Roblox and I'm trying to make a dialog linked GUI that gives you the tools when you press the button.

So you talk to a character, which gives you the option to buy something, and choosing said option makes the GUI below appear.

However, only the revolver button is functional, even though the other buttons are duplicates of it, with only the script changed to give the correct tool. (the exit button works as intended)

Images:

https://i.redd.it/vzf629cquya11.png

https://i.redd.it/z15kdly7wya11.png

But when I move the GUI to StarterGui, displaying the shop screen immediately, all of the buttons work.

Here are the localscripts for each textbutton:

Revolver:

local plr = game.Players.LocalPlayer


script.Parent.MouseButton1Click:connect(function()
	local Tool = script.Parent.Colt45:Clone()
	Tool.Parent = plr.Backpack
end)

Shotgun:

local plr = game.Players.LocalPlayer


script.Parent.MouseButton1Click:connect(function()
	local Tool = script.Parent.shotgun:Clone()
	Tool.Parent = plr.Backpack
end)

Knife:

local plr = game.Players.LocalPlayer


script.Parent.MouseButton1Click:connect(function()
	local Tool = script.Parent.MadMurdererKnife:Clone()
	Tool.Parent = plr.Backpack
end)

And the Script below Dialog:

script.Parent.DialogChoiceSelected:connect(function(player,dialog)
 local gui = script.Parent.GunShop -- Change Shop To The Name Of The Gui.
 if dialog.Name=="Choice1" then -- Change The Choice1 To The Name Of The Dialog Choice.
  gui:Clone().Parent = player.PlayerGui
 end
end)

Sorry if I didn't provide the information needed, I'm still new and don't know if this is all that's needed to solve this.