print "[Mercury]: Loaded corescript 37801172" local scriptContext = game:GetService "ScriptContext" -- Creates all neccessary scripts for the gui on initial load, everything except build tools -- Please note that these are loaded in a specific order to diminish errors/perceived load time by user local touchEnabled = false pcall(function() touchEnabled = game:GetService("UserInputService").TouchEnabled end) -- library registration scriptContext:AddCoreScript( 60595695, scriptContext, "/Libraries/LibraryRegistration/LibraryRegistration" ) local function waitForChild(instance, name) while not instance:FindFirstChild(name) do instance.ChildAdded:wait() end end -- local function waitForProperty(instance, property) -- while not instance[property] do -- instance.Changed:wait() -- end -- end -- Responsible for tracking logging items scriptContext:AddCoreScript(59002209, scriptContext, "CoreScripts/Sections") waitForChild(game:GetService "CoreGui", "RobloxGui") local screenGui = game:GetService("CoreGui"):FindFirstChild "RobloxGui" if not touchEnabled then -- ToolTipper (creates tool tips for gui) scriptContext:AddCoreScript(36868950, screenGui, "CoreScripts/ToolTip") -- SettingsScript scriptContext:AddCoreScript(46295863, screenGui, "CoreScripts/Settings") else scriptContext:AddCoreScript( 153556783, screenGui, "CoreScripts/TouchControls" ) end -- MainBotChatScript scriptContext:AddCoreScript( 39250920, screenGui, "CoreScripts/MainBotChatScript" ) -- Popup Script scriptContext:AddCoreScript(48488451, screenGui, "CoreScripts/PopupScript") -- Friend Notification Script (probably can use this script to expand out to other notifications) scriptContext:AddCoreScript( 48488398, screenGui, "CoreScripts/NotificationScript" ) -- Chat script scriptContext:AddCoreScript(97188756, screenGui, "CoreScripts/ChatScript") -- Purchase Prompt Script scriptContext:AddCoreScript( 107893730, screenGui, "CoreScripts/PurchasePromptScript" ) if not touchEnabled or screenGui.AbsoluteSize.Y > 600 then -- New Player List scriptContext:AddCoreScript( 48488235, screenGui, "CoreScripts/PlayerListScript" ) else delay(5, function() if screenGui.AbsoluteSize.Y >= 600 then -- New Player List scriptContext:AddCoreScript( 48488235, screenGui, "CoreScripts/PlayerListScript" ) end end) end if game.CoreGui.Version >= 3 and game.PlaceId ~= 130815926 then --todo: remove placeid hack for halloween -- Backpack Builder, creates most of the backpack gui scriptContext:AddCoreScript( 53878047, screenGui, "CoreScripts/BackpackScripts/BackpackBuilder" ) waitForChild(screenGui, "CurrentLoadout") waitForChild(screenGui, "Backpack") local Backpack = screenGui.Backpack -- Manager handles all big backpack state changes, other scripts subscribe to this and do things accordingly if game.CoreGui.Version >= 7 then scriptContext:AddCoreScript( 89449093, Backpack, "CoreScripts/BackpackScripts/BackpackManager" ) end -- Backpack Gear (handles all backpack gear tab stuff) game:GetService("ScriptContext"):AddCoreScript( 89449008, Backpack, "CoreScripts/BackpackScripts/BackpackGear" ) -- Loadout Script, used for gear hotkeys scriptContext:AddCoreScript( 53878057, screenGui.CurrentLoadout, "CoreScripts/BackpackScripts/LoadoutScript" ) if game.CoreGui.Version >= 8 then -- Wardrobe script handles all character dressing operations scriptContext:AddCoreScript( -1, Backpack, "CoreScripts/BackpackScripts/BackpackWardrobe" ) end end local IsPersonalServer = not not game.Workspace:FindFirstChild "PSVariable" if IsPersonalServer then game:GetService("ScriptContext") :AddCoreScript(64164692, game.Players.LocalPlayer, "BuildToolManager") end game.Workspace.ChildAdded:connect(function(nchild) if nchild.Name == "PSVariable" and nchild:IsA "BoolValue" then IsPersonalServer = true game:GetService("ScriptContext") :AddCoreScript( 64164692, game.Players.LocalPlayer, "BuildToolManager" ) end end) if touchEnabled then -- touch devices don't use same control frame -- only used for touch device button generation scriptContext:AddCoreScript( 152908679, screenGui, "CoreScripts/ContextActionTouch" ) waitForChild(screenGui, "ControlFrame") waitForChild(screenGui.ControlFrame, "BottomLeftControl") screenGui.ControlFrame.BottomLeftControl.Visible = false waitForChild(screenGui.ControlFrame, "TopLeftControl") screenGui.ControlFrame.TopLeftControl.Visible = false end