Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --========================================================--
- -- EVERY ROBLOX SERVICE — GIGA / PART A (EXPANDED) --
- -- (Massive doc: Methods • Properties • Events • Examples)--
- -- NOTE: This file is documentation-style. Safe to paste. --
- --========================================================--
- --[ THE SERVICE OF PLAYERS ]
- local Players = game:GetService("Players")
- -- Summary: Player management, events, API for user info, thumbnails, friend requests, leaderboards, player replication.
- -- PROPERTIES (common)
- -- Players.MaxPlayers -- maximum players allowed by the place
- -- Players.AutoAssignableGUID -- internal
- -- Players.CharacterAutoLoads -- bool; whether character auto-spawns
- -- METHODS (examples)
- -- Players:GetPlayers() -> {Player, ...}
- -- Players:GetPlayerByUserId(userId) -> Player | nil
- -- Players:GetPlayerFromCharacter(character) -> Player | nil
- -- Players:GetHumanoidDescriptionFromUserId(userId) -> HumanoidDescription
- -- Players:CreateHumanoidModelFromDescription(desc, rigType) -> Model
- -- Players:GetUserThumbnailAsync(userId, thumbnailType, thumbnailSize) -> (imageUrl, isReady)
- -- EVENTS
- -- Players.PlayerAdded:Connect(function(player) end)
- -- Players.PlayerRemoving:Connect(function(player) end)
- -- Players.PlayerIdResumed (platform/internal)
- -- Players.PlayerChatted -> legacy chat hook in some systems
- -- NOTES & EXAMPLES:
- -- Use Players.PlayerAdded to initialize per-player server data.
- -- Example (server-side):
- -- Players.PlayerAdded:Connect(function(player)
- -- print("Welcome", player.Name, "ID:", player.UserId)
- -- -- prepare leaderstats, set character listeners
- -- end)
- -- WARNING:
- -- Do not trust client-provided data. Always validate on server.
- ----------------------------------------------------------------
- --[ THE SERVICE OF WORKSPACE ]
- local Workspace = game:GetService("Workspace")
- -- Summary: Root 3D environment. Contains Terrain, CurrentCamera, lighting influence points.
- -- PROPERTIES
- -- Workspace.CurrentCamera -- Camera object
- -- Workspace.Gravity -- gravity in studs/sec^2 (default 196.2)
- -- Workspace.FallenPartsDestroyHeight -- parts destroyed under this Y
- -- Workspace.DistributedGameTime -- synchronized game time across servers
- -- Workspace.StreamingEnabled -- bool
- -- METHODS
- -- Workspace:Raycast(origin, direction, raycastParams) -> RaycastResult | nil
- -- Workspace:FindPartOnRay(ray, ignoreDescendants, terrainCellsRaycasted)
- -- Workspace:FindPartOnRayWithIgnoreList(ray, ignoreList)
- -- Workspace:IsRegion3Empty(region3, ignoreList)
- -- EVENTS
- -- Workspace.Changed:Connect(function(prop) end) -- generic property change hook
- -- Workspace.ChildAdded/ChildRemoved
- -- TERRAIN (subsystem)
- -- Terrain = Workspace.Terrain
- -- Terrain methods:
- -- Terrain:FillBlock(cframe, sizeVector3, materialEnum)
- -- Terrain:FillSphere(position, radius, materialEnum)
- -- Terrain:ReadVoxels(region, resolution) -> occupies, materials
- -- Terrain:WriteVoxels(region, resolution, materials, occupancies)
- -- Terrain:ReplaceMaterial(region, resolution, sourceMaterial, targetMaterial)
- -- EXAMPLES:
- -- Raycast example:
- -- local params = RaycastParams.new()
- -- params.FilterDescendantsInstances = { someIgnoreInstance }
- -- params.FilterType = Enum.RaycastFilterType.Blacklist
- -- local result = Workspace:Raycast(origin, direction, params)
- -- if result then print("Hit:", result.Instance.Name) end
- -- WARNING:
- -- Raycast and physics heavy use can be expensive at scale. Use broad-phase checks and throttle.
- ----------------------------------------------------------------
- --[ THE SERVICE OF RUNSERVICE ]
- local RunService = game:GetService("RunService")
- -- Summary: Global runtime events for stepping, rendering, simulation hooks.
- -- METHODS
- -- RunService:IsClient(), IsServer(), IsStudio()
- -- RunService:BindToRenderStep(name, priority, callback)
- -- RunService:Set3dRenderingEnabled(enabled) -- studio-only in some contexts
- -- EVENTS
- -- RunService.Heartbeat:Connect(function(step) end) -- server tick
- -- RunService.Stepped:Connect(function(time, delta) end) -- physics step
- -- RunService.RenderStepped:Connect(function(delta) end) -- client render step
- -- USAGE NOTES:
- -- Use RenderStepped only on client UI/visual updates. Never yield in RenderStepped.
- -- Use Heartbeat for server updates that run each tick (non-physics).
- ----------------------------------------------------------------
- --[ THE SERVICE OF REPLICATEDSTORAGE ]
- local ReplicatedStorage = game:GetService("ReplicatedStorage")
- -- Summary: Shared storage visible to both server & client for Assets, RemoteEvents, RemoteFunctions.
- -- USAGE PATTERN:
- -- Place RemoteEvent objects under ReplicatedStorage for client-server comms:
- -- local myRemote = Instance.new("RemoteEvent", ReplicatedStorage); myRemote.Name = "MyRemote"
- -- Server: myRemote.OnServerEvent:Connect(function(player, data) end)
- -- Client: myRemote:FireServer(data)
- -- WARNING:
- -- Never put secrets or server-only objects you expect clients not to see in ReplicatedStorage.
- ----------------------------------------------------------------
- --[ THE SERVICE OF REMOTES (RemoteEvent & RemoteFunction EXAMPLES) ]
- -- RemoteEvent (as Instance)
- -- local remote = ReplicatedStorage:WaitForChild("MyRemote")
- -- Server:
- -- remote.OnServerEvent:Connect(function(player, ...)
- -- -- validate player then handle
- -- end)
- -- Client:
- -- remote:FireServer(params)
- -- RemoteFunction
- -- local rf = ReplicatedStorage:WaitForChild("MyFunction")
- -- Server:
- -- function rf.OnServerInvoke(player, ...)
- -- return "server response"
- -- end
- -- Client:
- -- local res = rf:InvokeServer(arg1)
- -- SECURITY NOTE:
- -- All client calls must be validated. Never trust client-sent arguments.
- ----------------------------------------------------------------
- --[ THE SERVICE OF HTTP SERVICE ]
- local HttpService = game:GetService("HttpService")
- -- Summary: HTTP requests and JSON encode/decode.
- -- METHODS
- -- HttpService:GetAsync(url, noYield?) -> string/response
- -- HttpService:PostAsync(url, body, contentType, compress, headers)
- -- HttpService:RequestAsync({Url, Method, Body, Headers, Compress})
- -- HttpService:JSONEncode(table)
- -- HttpService:JSONDecode(jsonString)
- -- HttpService:UrlEncode(str)
- -- EXAMPLE:
- -- local ok, res = pcall(function()
- -- return HttpService:GetAsync("https://api.example.com/endpoint")
- -- end)
- -- if ok then local data = HttpService:JSONDecode(res) end
- -- WARNING:
- -- HTTP must be enabled for the place (Game Settings). Respect privacy & TOS. Rate-limit and error handle.
- ----------------------------------------------------------------
- --[ THE SERVICE OF DATASTORE SERVICE ]
- local DataStoreService = game:GetService("DataStoreService")
- -- Summary: Persistent cross-server storage (key-value) for places.
- -- METHODS (pattern)
- -- local ds = DataStoreService:GetDataStore("MyStore")
- -- ds:GetAsync(key)
- -- ds:SetAsync(key, value)
- -- ds:UpdateAsync(key, function(oldValue) return newValue end)
- -- DataStoreService:ListKeysAsync(datastoreName, pageSize, pageToken)
- -- EXAMPLE (server):
- -- local success, result = pcall(function()
- -- return ds:UpdateAsync("player_"..player.UserId, function(old)
- -- old = old or {coins=0}
- -- old.coins = (old.coins or 0) + 100
- -- return old
- -- end)
- -- end)
- -- WARNING:
- -- DataStores are eventually consistent and have rate limits. Use UpdateAsync for concurrency-safe changes.
- ----------------------------------------------------------------
- --[ THE SERVICE OF DATASTOREV2SERVICE ]
- local DataStoreV2Service = game:GetService("DataStoreV2Service")
- -- Summary: Next generation datastores — refer to official docs for transactional/locking modes.
- -- NOTES:
- -- API surface differs slightly; supports scoped data stores & additional operations.
- ----------------------------------------------------------------
- --[ THE SERVICE OF MESSAGING SERVICE ]
- local MessagingService = game:GetService("MessagingService")
- -- Summary: Cross-server pub/sub system for coordinating events across running servers.
- -- METHODS
- -- MessagingService:PublishAsync(topic, message)
- -- local conn = MessagingService:SubscribeAsync(topic, function(data) print("Got:", data) end)
- -- conn:Disconnect()
- -- WARNING:
- -- Messages are best-effort and may drop; use for non-critical signals.
- ----------------------------------------------------------------
- --[ THE SERVICE OF TELEPORT SERVICE ]
- local TeleportService = game:GetService("TeleportService")
- -- Summary: Teleport players between places or reserved servers.
- -- METHODS
- -- TeleportService:Teleport(placeId, player, teleportData, spawnName)
- -- TeleportService:TeleportAsync(placeId, playersList, teleportData)
- -- TeleportService:ReserveServer(placeId) -> reservedServerCode
- -- TeleportService:TeleportToPrivateServer(placeId, reservedServerCode, players)
- -- EVENTS
- -- TeleportService.TeleportInitFailed:Connect(function(player, err) end)
- -- NOTES:
- -- TeleportData passed to Teleport() arrives in the destination via TeleportData on Players in PlayerAdded or GetPlayerFromUserId.
- ----------------------------------------------------------------
- --[ THE SERVICE OF MARKETPLACE SERVICE ]
- local MarketplaceService = game:GetService("MarketplaceService")
- -- Summary: Purchases, game passes, developer products.
- -- METHODS
- -- MarketplaceService:PromptProductPurchase(player, productId)
- -- MarketplaceService:PromptGamePassPurchase(player, passId)
- -- MarketplaceService:UserOwnsGamePassAsync(userId, passId)
- -- MarketplaceService:ProcessReceipt(receiptInfo) -- implement for dev products
- -- EXAMPLE (receipt handler):
- -- function MarketplaceService.ProcessReceipt(receiptInfo)
- -- -- validate and give product
- -- return Enum.ProductPurchaseDecision.PurchaseGranted
- -- end
- -- WARNING:
- -- Receipt handling must be implemented server-side for developer products.
- ----------------------------------------------------------------
- --[ THE SERVICE OF COLLECTION SERVICE ]
- local CollectionService = game:GetService("CollectionService")
- -- Summary: Tagging system for instances; efficient querying by tag.
- -- METHODS
- -- CollectionService:AddTag(instance, tag)
- -- CollectionService:RemoveTag(instance, tag)
- -- local items = CollectionService:GetTagged(tag)
- -- CollectionService:GetTags(instance)
- -- CollectionService:GetInstanceAddedSignal(tag):Connect(function(instance) end)
- -- USAGE:
- -- Use tags for grouping gameplay objects (e.g., "RespawnPoints", "Damageable", "Loot").
- ----------------------------------------------------------------
- --[ THE SERVICE OF PATHFINDING SERVICE ]
- local PathfindingService = game:GetService("PathfindingService")
- -- Summary: Create paths around obstacles.
- -- METHODS
- -- local path = PathfindingService:CreatePath({AgentHeight=5, AgentRadius=2})
- -- path:ComputeAsync(startPos, endPos)
- -- local waypoints = path:GetWaypoints()
- -- path.Status, path.StatusChanged:Connect(fn)
- -- TIPS:
- -- Regenerate path when obstacles or map change. Cache for repeated NPC patterns.
- ----------------------------------------------------------------
- --[ THE SERVICE OF TWEEN SERVICE ]
- local TweenService = game:GetService("TweenService")
- -- Summary: Smooth property interpolations.
- -- METHODS
- -- local tween = TweenService:Create(instance, TweenInfo.new(1, Enum.EasingStyle.Quint), {Position = endPos})
- -- tween:Play()
- -- tween:Pause(); tween:Cancel()
- -- TweenService:CreateGuides? -- internal
- -- USAGE:
- -- Use for UI and movement easing. Do not tween physics-owned properties on server for authoritative simulation.
- ----------------------------------------------------------------
- --[ THE SERVICE OF SOUND SERVICE ]
- local SoundService = game:GetService("SoundService")
- -- Summary: Global audio configuration.
- -- PROPERTIES
- -- SoundService.RolloffScale
- -- SoundService.DistanceFactor
- -- SoundService.RespectFilteringEnabled
- -- METHODS/NOTES:
- -- SoundService:PlayLocalSound(soundInstance) -- plays for a single client (client context)
- -- Use SoundService for ambient and global groups.
- ----------------------------------------------------------------
- --[ THE SERVICE OF PHYSICS SERVICE ]
- local PhysicsService = game:GetService("PhysicsService")
- -- Summary: Collision groups & physics tuning.
- -- METHODS
- -- PhysicsService:SetPartCollisionGroup(part, groupName)
- -- PhysicsService:CreateCollisionGroup(groupName)
- -- PhysicsService:CollisionGroupSetWeight(groupA, groupB, weight)
- -- WARNING:
- -- Collision group changes should be configured at runtime start. Changing mid-simulation may have odd results.
- ----------------------------------------------------------------
- --[ THE SERVICE OF MEMORY STORE SERVICE (MemStorage alternative) ]
- local MemoryStoreService = game:GetService("MemoryStoreService") -- sometimes MemStorageService/MemStorageService exists; check runtime
- -- Summary: Fast in-memory cross-server data (queues, maps) — use for leaderboards, rate-limiting.
- -- METHODS
- -- MemoryStoreService:GetSortedMap(name)
- -- MemoryStoreService:GetQueue(name)
- -- MemoryStoreService:GetMap(name)
- -- NOTE:
- -- MemoryStore is ephemeral and may be evicted. Do not use it for permanent player data.
- ----------------------------------------------------------------
- --[ THE SERVICE OF MEMSTORAGESERVICE ]
- local MemStorageService = game:GetService("MemStorageService")
- -- Summary: Fast ephemeral key-value. Check docs for API variants.
- ----------------------------------------------------------------
- -- PART A ENDING NOTES:
- -- Part A includes dense, practical references for major gameplay services.
- -- Part B will continue with Chat/TextChat internals, Avatar, Animations, ContentProvider, InsertService, AssetService, Packages, Localization, NotificationService, SocialService, PolicyService, and more.
- -- Part C will finish studio & internal services: StudioService, DebuggerManager, PluginGuiService, VirtualInputManager, HapticService, GestureService, BrowserService, Remote Debugging, VideoCapture, CoreGui/CorePackages, and final housekeeping.
- --========================================================--
- -- EVERY ROBLOX SERVICE — GIGA / PART B (EXPANDED) --
- -- (UI • Chat • Avatar • Animation • Content • Notification)
- --========================================================--
- --[ THE SERVICE OF CHAT ]
- local Chat = game:GetService("Chat")
- -- Summary: Legacy chat API and chat modules (server-side & client-side integration).
- -- METHODS & USAGE
- -- Chat:Chat(sourceInstance, message, chatType) -- sends a system-like chat message from instance
- -- Chat:RegisterChatCallback(Enum.ChatCallbackType, function(msg, speakerName) end) -- advanced hooking for moderation or transforms
- -- NOTES:
- -- New projects should prefer TextChatService for modern chat pipelines.
- ----------------------------------------------------------------
- --[ THE SERVICE OF TEXT CHATSERVICE ]
- local TextChatService = game:GetService("TextChatService")
- -- Summary: New chat pipelines — modular, channel-based.
- -- KEY CONCEPTS
- -- TextChatService:RegisterChannel(channelName, settings)
- -- TextChatService.ChatChannels -- iterable
- -- TextChatService.OnIncomingMessage:Connect(function(message, channel) end)
- -- EXAMPLE:
- -- TextChatService.OnIncomingMessage:Connect(function(msg, channel)
- -- if msg.Text:match("badword") then reject or transform
- -- end)
- ----------------------------------------------------------------
- --[ THE SERVICE OF GUI SERVICE ]
- local GuiService = game:GetService("GuiService")
- -- Summary: GUI-level helpers (core GUI, selection, menu integration).
- -- METHODS
- -- GuiService:AddSelectionParent(name, instance)
- -- GuiService:RemoveSelectionParent(name)
- -- GuiService:SetMenuIsOpen(open)
- -- NOTES:
- -- Use Selection for gamepad / keyboard navigation improvements.
- ----------------------------------------------------------------
- --[ THE SERVICE OF CONTENT PROVIDER ]
- local ContentProvider = game:GetService("ContentProvider")
- -- Summary: Preloading assets and controlling content load.
- -- METHODS
- -- ContentProvider:PreloadAsync({instancesOrIds}, progressCallback)
- -- ContentProvider:PreloadLocalAsync(list)
- -- ContentProvider:IsLoaded(id) -- maybe studio-only
- -- PERFORMANCE TIPS:
- -- Preload UI icons, character accessories during loading screen to avoid hitches.
- ----------------------------------------------------------------
- --[ THE SERVICE OF ANIMATION CLIP PROVIDER ]
- local AnimationClipProvider = game:GetService("AnimationClipProvider")
- -- Summary: Editor/runtime provider for animation clips.
- -- METHODS
- -- AnimationClipProvider:GetAnimationClip(assetId) -> AnimationClip
- ----------------------------------------------------------------
- --[ THE SERVICE OF ANIMATION FROM VIDEO CREATOR SERVICE ]
- local AnimationFromVideoCreatorService = game:GetService("AnimationFromVideoCreatorService")
- -- Summary: Studio tool service to help create animations from video — mostly editor-only.
- ----------------------------------------------------------------
- --[ THE SERVICE OF AVATAR EDITOR SERVICE ]
- local AvatarEditorService = game:GetService("AvatarEditorService")
- -- Summary: Tools to prompt avatar editing UIs, fetch avatar catalogs and outfits.
- -- METHODS
- -- AvatarEditorService:PromptEditor(player) -- prompts UI; studio or platform may gate
- ----------------------------------------------------------------
- --[ THE SERVICE OF AVATAR IMPORT SERVICE ]
- local AvatarImportService = game:GetService("AvatarImportService")
- -- Summary: Import avatar assets programmatically.
- ----------------------------------------------------------------
- --[ THE SERVICE OF BADGE SERVICE ]
- local BadgeService = game:GetService("BadgeService")
- -- Summary: Award badges and check ownership.
- -- METHODS:
- -- BadgeService:AwardBadge(userId, badgeId) -- server
- -- BadgeService:UserHasBadgeAsync(userId, badgeId)
- ----------------------------------------------------------------
- --[ THE SERVICE OF ASSET SERVICE ]
- local AssetService = game:GetService("AssetService")
- -- Summary: Asset lifecycle (thumbnailing, moderation), often studio/admin-level.
- -- METHODS (examples)
- -- AssetService:GenerateThumbnailAsync(assetId, settings)
- -- AssetService:GetAssetInfoAsync(assetId)
- ----------------------------------------------------------------
- --[ THE SERVICE OF INSERT SERVICE ]
- local InsertService = game:GetService("InsertService")
- -- Summary: Insert models/assets into the place (Studio only).
- -- METHODS:
- -- InsertService:LoadAsset(assetId)
- -- InsertService:CreateObjectFromAssetId(assetId)
- ----------------------------------------------------------------
- --[ THE SERVICE OF PACKAGE SERVICE ]
- local PackageService = game:GetService("PackageService")
- -- Summary: Package publish & management (developer-level).
- ----------------------------------------------------------------
- --[ THE SERVICE OF LOCALIZATION SERVICE ]
- local LocalizationService = game:GetService("LocalizationService")
- -- Summary: Translation, localization tables and per-player translators.
- -- METHODS
- -- LocalizationService:GetTranslatorForPlayerAsync(player)
- -- LocalizationService:GetLocaleIdAsync(player)
- -- LocalizationService:Translate(locale, key, args)
- -- EXAMPLE:
- -- local translator = LocalizationService:GetTranslatorForPlayerAsync(player)
- -- local text = translator:FormatByKey("WelcomeMessage", {playerName = player.Name})
- ----------------------------------------------------------------
- --[ THE SERVICE OF NOTIFICATION SERVICE ]
- local NotificationService = game:GetService("NotificationService")
- -- Summary: Sending UI/system notifications.
- -- METHODS
- -- NotificationService:SendNotification(player, title, text, duration)
- -- NotificationService:SendSystemNotification(title, text)
- ----------------------------------------------------------------
- --[ THE SERVICE OF SOCIAL SERVICE ]
- local SocialService = game:GetService("SocialService")
- -- Summary: Friend/social features & join prompts.
- -- METHODS (examples)
- -- SocialService:PromptSendFriendRequest(player, targetUserId)
- -- SocialService:PromptGameJoin(player, targetUserId)
- ----------------------------------------------------------------
- --[ THE SERVICE OF TRUST & POLICY SERVICES ]
- local PolicyService = game:GetService("PolicyService")
- local TrustAndSafetyService = game:GetService("TrustAndSafetyService")
- -- Summary: Moderation, platform policy enforcement.
- -- METHODS:
- -- PolicyService:PlayerHasPermissionAsync(player, permissionName)
- -- TrustAndSafetyService:ReportContent(details)
- -- NOTE:
- -- These APIs may be restricted to certain roles and environments.
- ----------------------------------------------------------------
- --[ THE SERVICE OF VOICE CHAT SERVICE ]
- local VoiceChatService = game:GetService("VoiceChatService")
- -- Summary: Manage voice channels, participants; platform-limited.
- -- METHODS/NOTES:
- -- VoiceChatService:JoinChannel(channelId)
- -- VoiceChatService:LeaveChannel(channelId)
- -- VoiceChatService:EnableVoiceForUserId(userId)
- -- WARNING:
- -- Voice systems often require platform opt-in and safety checks.
- ----------------------------------------------------------------
- --[ THE SERVICE OF VIDEO CAPTURE SERVICE ]
- local VideoCaptureService = game:GetService("VideoCaptureService")
- -- Summary: Client-side recording/streaming; platform-restricted.
- -- METHODS
- -- VideoCaptureService:StartCapture(settings)
- -- VideoCaptureService:StopCapture()
- ----------------------------------------------------------------
- --[ THE SERVICE OF ANIMATION & SKELETONS (misc) ]
- -- Animation & rigging utilities:
- -- KeyframeSequenceProvider, KeyframeSequence, AnimationController APIs exist across environments.
- ----------------------------------------------------------------
- -- PART B ENDING NOTES:
- -- Part B focuses on user-facing, UI, avatar & content systems. These are extremely useful for making polished experiences.
- -- Part C will be the full studio/internal/services section — the largest: StudioService, Plugin Gui, Debuggers, VirtualInputManager, DockWidgetService, CoreGui/CorePackages, VersionControlService, RemoteDebuggerServer, RuntimeScriptService, ProcessInstancePhysicsService, etc.
- --========================================================--
- -- EVERY ROBLOX SERVICE — GIGA / PART C (EXPANDED) --
- -- (Studio & Internal • Plugins • Debugging • Core • Tools)
- --========================================================--
- --[ THE SERVICE OF STUDIO SERVICE ]
- local StudioService = game:GetService("StudioService")
- -- Summary: Studio environment hooks — plugin authoring, file openers, test-run controls.
- -- METHODS
- -- StudioService:OpenScript(scriptObject)
- -- StudioService:SelectScript(scriptObject)
- -- StudioService:PromptImportFile()
- -- EVENTS
- -- StudioService.TestStarted:Connect(function() end)
- -- StudioService.TestEnded:Connect(function() end)
- -- NOTE:
- -- StudioService is only available in Roblox Studio.
- ----------------------------------------------------------------
- --[ THE SERVICE OF PLUGIN GUI SERVICE ]
- local PluginGuiService = game:GetService("PluginGuiService")
- -- Summary: Create and manage plugin UI.
- -- METHODS
- -- PluginGuiService:CreateWidget(plugin, name, initialDockState)
- -- PluginGuiService:GetGuiForPlugin(plugin)
- -- EXAMPLE:
- -- local widget = plugin:CreateDockWidgetPluginGui("MyWidget", DockWidgetPluginGuiInfo.new(...))
- -- widget.Name = "MyTool"
- ----------------------------------------------------------------
- --[ THE SERVICE OF PLUGIN DEBUG SERVICE ]
- local PluginDebugService = game:GetService("PluginDebugService")
- -- Summary: Debug session control for plugins (studio internal).
- ----------------------------------------------------------------
- --[ THE SERVICE OF SCRIPT EDITOR SERVICE ]
- local ScriptEditorService = game:GetService("ScriptEditorService")
- -- Summary: Interact with scripts in the editor; open files, go to definitions.
- ----------------------------------------------------------------
- --[ THE SERVICE OF REMOTE DEBUGGER SERVER ]
- local RemoteDebuggerServer = game:GetService("RemoteDebuggerServer")
- -- Summary: Attach remote debugging sessions to Live events (studio tooling).
- ----------------------------------------------------------------
- --[ THE SERVICE OF RUNTIME SCRIPT SERVICE ]
- local RuntimeScriptService = game:GetService("RuntimeScriptService")
- -- Summary: Runtime dynamic script lifecycle management (private/internal).
- ----------------------------------------------------------------
- --[ THE SERVICE OF DEBUGGER MANAGER ]
- local DebuggerManager = game:GetService("DebuggerManager")
- -- Summary: Manage debugging tools and clients (studio internal).
- ----------------------------------------------------------------
- --[ THE SERVICE OF VERSION CONTROL SERVICE ]
- local VersionControlService = game:GetService("VersionControlService")
- -- Summary: Interacts with version control systems and source control within Studio.
- -- METHODS:
- -- VersionControlService:CheckOutAsset(assetId)
- ----------------------------------------------------------------
- --[ THE SERVICE OF TEST SERVICE ]
- local TestService = game:GetService("TestService")
- -- Summary: Unit testing paired service for test run orchestration.
- -- METHODS:
- -- TestService:RunUnitTests()
- -- TestService:ReportResult(testName, success, message)
- ----------------------------------------------------------------
- --[ THE SERVICE OF DOCK WIDGET SERVICE ]
- local DockWidgetService = game:GetService("DockWidgetService")
- -- Summary: Create dock widgets for plugins.
- -- METHODS:
- -- DockWidgetService:CreateDockWidgetPluginGui(widgetId, info)
- ----------------------------------------------------------------
- --[ THE SERVICE OF VIRTUAL INPUT MANAGER ]
- local VirtualInputManager = game:GetService("VirtualInputManager")
- -- Summary: Low-level input injection (executor/studio only).
- -- METHODS:
- -- VirtualInputManager:SendKeyEvent(isDown, keyCode, isRepeat, guiObject)
- -- VirtualInputManager:SendMouseButtonEvent(x, y, button, isDown, guiObject)
- -- VirtualInputManager:SendMouseMoveEvent(x, y, guiObject)
- -- VirtualInputManager:SendTextInput(text)
- -- WARNING:
- -- VirtualInputManager APIs are not allowed in normal games and are restricted for security reasons.
- ----------------------------------------------------------------
- --[ THE SERVICE OF VIRTUAL USER ]
- local VirtualUser = game:GetService("VirtualUser")
- -- Summary: Simulate user input (used for compatibility in some execution environments).
- -- METHODS:
- -- VirtualUser:Button1Down(); VirtualUser:Button1Up()
- ----------------------------------------------------------------
- --[ THE SERVICE OF HAPTIC SERVICE ]
- local HapticService = game:GetService("HapticService")
- -- Summary: Gamepad vibration APIs.
- -- METHODS:
- -- HapticService:SetMotor(gamepad, motor, intensity)
- -- HapticService:IsMotorSupported(gamepad, motor)
- ----------------------------------------------------------------
- --[ THE SERVICE OF GESTURE SERVICE ]
- local GestureService = game:GetService("GestureService")
- -- Summary: High-level gesture detection for VR/mobile.
- -- EVENTS:
- -- GestureService.GesturePerformed:Connect(function(gestureType, data) end)
- ----------------------------------------------------------------
- --[ THE SERVICE OF BROWSER SERVICE ]
- local BrowserService = game:GetService("BrowserService")
- -- Summary: Open in-app browser windows (internal/privileged).
- -- METHODS:
- -- BrowserService:OpenBrowserWindow(url)
- -- WARNING:
- -- BrowserService is platform-limited and may be restricted in published games.
- ----------------------------------------------------------------
- --[ THE SERVICE OF CORE GUI & CORE PACKAGES ]
- local CoreGui = game:GetService("CoreGui")
- local CorePackages = game:GetService("CorePackages")
- -- Summary: Roblox's internal UI containers and package collections.
- -- NOTES:
- -- CoreGui should not be modified except for approved plugin contexts. CorePackages contains internal modules used by Roblox.
- ----------------------------------------------------------------
- --[ THE SERVICE OF REMOTES / RUNTIME HELPERS ]
- -- RuntimeScriptService, RemoteDebuggerServer, and related internal services let Studio attach scripts / debug live experiences.
- ----------------------------------------------------------------
- --[ THE SERVICE OF VIDEO CAPTURE SERVICE ]
- -- (repeated / studio internal)
- -- VideoCaptureService:StartCapture(); StopCapture()
- ----------------------------------------------------------------
- --[ THE SERVICE OF PROCESS INSTANCE PHYSICS SERVICE ]
- local ProcessInstancePhysicsService = game:GetService("ProcessInstancePhysicsService")
- -- Summary: Internal physics processing per-instance (editor/internal)
- ----------------------------------------------------------------
- --[ THE SERVICE OF VISIT / ANALYTICS / LOGGING ]
- local Visit = game:GetService("Visit")
- local AnalyticsService = game:GetService("AnalyticsService")
- local LogService = game:GetService("LogService")
- -- Summary: Telemetry, logging, and visit analytics.
- -- USE:
- -- AnalyticsService:FireEvent("eventName", {properties})
- -- LogService.MessageOut:Connect(function(message, type) end)
- ----------------------------------------------------------------
- --[ THE SERVICE OF DEBUGGING & TOOLING WRAPUP ]
- -- DebuggerManager, RemoteDebuggerServer, ScriptEditorService, PluginDebugService: these are studio-only.
- -- They allow plugin authors and studio users to create integrated experiences.
- ----------------------------------------------------------------
- -- PART C ENDING NOTES:
- -- Part C finishes the internal and studio APIs — everything plugin authors and power users need.
- -- This completes the GIGA Multi-Part set.
- -- • colorized ScriptBlox markdown with emojis & headers
- -- • or helper wrappers that expose method signatures as callable noop functions (for autocompletion)
- -- say it and I’ll bake it immediately.
Advertisement