I have built some VERY(the only thing that changes are the gui that its getting) similar scripts:

local button = script.Parent
local startgui = button.Parent.Parent 
local serverStorage = game:GetService("ServerStorage")
local player =  game.Players.LocalPlayer

local function Add1()
	
		local gui1 = serverStorage.HelpGu:Clone()
			
		player:WaitForChild("PlayerGui")		
		gui1.Parent = player.PlayerGui
end

local function rid()
	
	startgui.Play.PlayBut.Visible = false
	startgui.Play.PlayBut.Active = false
	
	startgui.Help.HelpBut.Visible = false
	startgui.Help.HelpBut.Active = false
	
	startgui.About.AboutBut.Visible = false
	startgui.About.AboutBut.Active = false
	
	Add1()	
	
end

local function onButtonClick()
	
		rid()
	
end
 
button.MouseButton1Click:connect(onButtonClick)

(thats only one but you get the idea)

Thanks M39a9am3R!

2 comments

0

ServerStorage is kept on the Server. The client will not be able to access it. Meaning, any local scripts that try to utilize the service will fail to find any objects in it. Try moving the objects to ReplicatedStorage, which is distributed to all clients.

0

Thanks that seemed to work!