I’ve looked through this and the solution provided does not work anymore
local CoreCall do
local MAX_RETRIES = 8
local RunService = game:GetService("RunService")
local StarterGui = game:GetService("StarterGui")
function CoreCall(method, ...)
local Result = {}
for retries = 1, MAX_RETRIES do
Result = {pcall(StarterGui[method], StarterGui, ...)}
if Result[1] then break end
RunService.Stepped:Wait()
end
return unpack(Result)
end
end
assert(CoreCall("SetCore", "ResetButtonCallback", false))
As I still get this error
ResetButtonCallback has not been registered by the CoreScripts
local Players = game:GetService("Players")
local ReplicatedFirst = game:GetService("ReplicatedFirst")
local StarterGui = game:GetService("StarterGui")
local Intro = script:WaitForChild("Intro")
local Player = Players.LocalPlayer
local PlayerGui = Player:WaitForChild("PlayerGui")
ReplicatedFirst:RemoveDefaultLoadingScreen()
Intro.Parent = PlayerGui
local CoreCall do
local MAX_RETRIES = 8
local RunService = game:GetService("RunService")
local StarterGui = game:GetService("StarterGui")
function CoreCall(method, ...)
local Result = {}
for retries = 1, MAX_RETRIES do
Result = {pcall(StarterGui[method], StarterGui, ...)}
if Result[1] then break end
RunService.Stepped:Wait()
end
return unpack(Result)
end
end
assert(CoreCall("SetCore", "ResetButtonCallback", false))
StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.All, false) -- Disable core elements
What I do to personally achieve this (and so far haven’t run into any issues) is putting this at the top of my code:
if not game:IsLoaded() then
game.Loaded:Wait()
end
That will force the local script to wait until everything has loaded in for them. Sometimes when a player joins the CoreGui hasn’t fully loaded, hence this issue. I’ve never experienced this error using this method.