I have this script and when you touch a block its supposed to bring up a GUI it doesnt though,
local part = script.Parent
local menu = script.Parent:WaitForChild("ShopFRAME")
local debounce = false
part.Touched:Connect(function(hit)
if hit and hit.Parent then
local player = game:GetService("Players"):GetPlayerFromCharacter(hit.Parent)
if player then
local pgui = player:WaitForChild("PlayerGui")
local clone = nil
if not pgui:FindFirstChild("ShopFrame") then
clone = menu:Clone()
clone.Parent = pgui
else
clone = pgui:WaitForChild("ShopFrame")
end
if debounce == false then
debounce = true
clone:TweenPosition(menu.Position + UDim2.new(1.125, 0, 0, 0), Enum.EasingDirection.Out, Enum.EasingStyle.Linear, 0.2, false, nil)
elseif debounce == true then
debounce = false
clone:TweenPosition(menu.Position + UDim2.new(-1.125, 0, 0, 0), Enum.EasingDirection.In, Enum.EasingStyle.Linear, 0.2, false, nil)
end
end
end
end)
This is what the Hierarchy looks like: https://prnt.sc/px7m24

2 comments
Doesnt work, it says. Line 13 attempt to index a nil value
well hopefully you named the ScreenGui as ShopGui because if you copy and pasted the code then yeah