2013/yue/37801172.yue

102 lines
4.1 KiB
Plaintext

import "macros" as { $ }
$load $FILE
-- Creates all neccessary scripts for the gui on initial load, everything except build tools
-- Created by Ben T. 10/29/10
-- Please note that these are loaded in a specific order to diminish errors/perceived load time by user
scriptContext = game\GetService "ScriptContext"
touchEnabled = false
try
touchEnabled = game\GetService"UserInputService".TouchEnabled
-- library registration
scriptContext\AddCoreScript 60595695, scriptContext, "/Libraries/LibraryRegistration/LibraryRegistration"
waitForChild = (instance, name) ->
until instance\FindFirstChild name
instance.ChildAdded\wait!
-- waitForProperty = (instance, property) ->
-- until instance[property]
-- instance.Changed\wait!
-- Responsible for tracking logging items
scriptContext = game\GetService "ScriptContext"
scriptContext\AddCoreScript 59002209, scriptContext, "CoreScripts/Sections"
waitForChild game\GetService"CoreGui", "RobloxGui"
screenGui = game\GetService"CoreGui"\FindFirstChild "RobloxGui"
if not touchEnabled
-- 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"
-- 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
-- New Player List
scriptContext\AddCoreScript 48488235, screenGui, "CoreScripts/PlayerListScript"
else
delay 5, ->
if screenGui.AbsoluteSize.Y >= 600
-- New Player List
scriptContext\AddCoreScript 48488235, screenGui, "CoreScripts/PlayerListScript"
if game.CoreGui.Version >= 3 and game.PlaceId ~= 130815926 --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"
Backpack = screenGui.Backpack
-- Manager handles all big backpack state changes, other scripts subscribe to this and do things accordingly
if game.CoreGui.Version >= 7
scriptContext\AddCoreScript 89449093, Backpack, "CoreScripts/BackpackScripts/BackpackManager"
-- Backpack Gear (handles all backpack gear tab stuff)
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
-- Wardrobe script handles all character dressing operations
scriptContext\AddCoreScript -1, Backpack, "CoreScripts/BackpackScripts/BackpackWardrobe"
IsPersonalServer = not not game.Workspace\FindFirstChild "PSVariable"
if IsPersonalServer
scriptContext\AddCoreScript 64164692, game.Players.LocalPlayer, "BuildToolManager"
game.Workspace.ChildAdded\connect (nchild) ->
if nchild.Name == "PSVariable" and nchild\IsA "BoolValue"
IsPersonalServer = true
scriptContext\AddCoreScript 64164692, game.Players.LocalPlayer, "BuildToolManager"
if touchEnabled -- 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