2013/lua/37801172.lua

168 lines
4.4 KiB
Lua

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