Hello I am doing a work Local script let me explain. This script will make you press a text button and then a gui pops up. This is what I got so far
wait(6)
game.Workspace.building.kepiblopsworkdesk["kepiblop's computer"].Screen.SurfaceGui.Frame.TextButton.MouseButton1Down:Connect(function() --Button that they click
local player = game.Players.LocalPlayer
local gui = game.Workspace.building.kepiblopsworkdesk["kepiblop's computer"].Screen.kepibloppc --Computer gui
local guiclone = gui:Clone()
guiclone.Parent = player:WaitForChild('PlayerGui')
gui.Enabled = true
if gui.Parent == nil then
warn("Player hasn't gotten the gui yet")
else
print("gui given!")
end
end)
I am not using variables for long ones because i really wanted to give my fingers a workout It may not look clean so i will put comments on what they are! I know what you're thinking Where's the problem and what is the problem? Well believe it or not it actually works problem is it doesn't pop up and it just stays there Here's what I can confirm
The Local script works
The local script is in ReplicatedFirst
All frames are visible except for the unnecessary ones
The problem is that the gui does not become visible but it does execute and it does go there
Hopefully I got everything important and clear Thanks!

4 comments
Maybe try putting if gui ~= nil then cause that may work
if not maybe cloning isn't working correctly or just put the gui in startergui
I wanted it to warn the player when if it doesnt been given but thanks for fast input i will try it!
I tried both of your helps and it actually worked im very happy thank you alot!