-- Placement: StarterPlayer > StarterPlayerScripts > HelpControls (LocalScript) -- Standalone client-only exercise. No RemoteEvent or server script is required. local Players = game:GetService("Players") local ContextActionService = game:GetService("ContextActionService") local UserInputService = game:GetService("UserInputService") local playerGui = Players.LocalPlayer:WaitForChild("PlayerGui") local actionName = "TutorialToggleHelp" local gui = Instance.new("ScreenGui") gui.Name = "TutorialHelpGui" gui.ResetOnSpawn = false gui.Parent = playerGui local hint = Instance.new("TextLabel") hint.Name = "Hint" hint.AnchorPoint = Vector2.new(0.5, 0) hint.Position = UDim2.fromScale(0.5, 0.02) hint.Size = UDim2.new(0.8, 0, 0, 48) hint.BackgroundColor3 = Color3.fromRGB(24, 35, 55) hint.TextColor3 = Color3.new(1, 1, 1) hint.Font = Enum.Font.Gotham hint.TextSize = 16 hint.TextWrapped = true hint.Text = "Help: H on keyboard / Y on gamepad / Help on touch" hint.Parent = gui local panel = Instance.new("TextLabel") panel.Name = "HelpPanel" panel.AnchorPoint = Vector2.new(0.5, 0.5) panel.Position = UDim2.fromScale(0.5, 0.55) panel.Size = UDim2.fromScale(0.8, 0.6) panel.BackgroundColor3 = Color3.fromRGB(24, 35, 55) panel.TextColor3 = Color3.new(1, 1, 1) panel.Font = Enum.Font.Gotham panel.TextSize = 20 panel.TextWrapped = true panel.Text = "Take your time. Explore together.\n\nUse Roblox's usual movement and jump controls.\n\nPress the Help action again to close this panel." panel.Visible = false panel.Parent = gui local padding = Instance.new("UIPadding") padding.PaddingTop = UDim.new(0, 16) padding.PaddingBottom = UDim.new(0, 16) padding.PaddingLeft = UDim.new(0, 16) padding.PaddingRight = UDim.new(0, 16) padding.Parent = panel local function toggleHelp(_action, inputState, _inputObject) if UserInputService:GetFocusedTextBox() then return Enum.ContextActionResult.Pass end if inputState == Enum.UserInputState.Begin then panel.Visible = not panel.Visible end return Enum.ContextActionResult.Sink end ContextActionService:BindAction( actionName, toggleHelp, true, Enum.KeyCode.H, Enum.KeyCode.ButtonY ) ContextActionService:SetTitle(actionName, "Help") ContextActionService:SetPosition(actionName, UDim2.fromScale(0.15, 0.15)) script.Destroying:Connect(function() ContextActionService:UnbindAction(actionName) gui:Destroy() end)