-- CatGui.lua -- Place this as a LocalScript inside StarterGui (or StarterPlayerScripts). local Players = game:GetService("Players") local UserInputService = game:GetService("UserInputService") local player = Players.LocalPlayer -- Teleport locations local SHOTGUN_POSITION = Vector3.new(-104, 23, 355) local AK_POSITION = Vector3.new(-59, 35, 398) local ARMOR_POSITION = Vector3.new(-75, 36, 402) local MINIGUN_POSITION = Vector3.new(216, -6, 759) local BREAK_OUT_POSITION = Vector3.new(222, 11, -45) local YARD_POSITION = Vector3.new(115, 9, 97) local BANK_POSITION = Vector3.new(7, 35, 650) -- ScreenGui local screenGui = Instance.new("ScreenGui") screenGui.Name = "CatGui" screenGui.ResetOnSpawn = false screenGui.Parent = player:WaitForChild("PlayerGui") -- Outer frame (fixed height, draggable via title bar) local frame = Instance.new("Frame") frame.Name = "MainFrame" frame.Size = UDim2.new(0, 220, 0, 320) frame.Position = UDim2.new(0, 20, 0, 20) frame.BackgroundColor3 = Color3.fromRGB(35, 35, 35) frame.BorderSizePixel = 0 frame.Parent = screenGui local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(0, 8) corner.Parent = frame -- Title bar (drag handle) local titleBar = Instance.new("Frame") titleBar.Name = "TitleBar" titleBar.Size = UDim2.new(1, 0, 0, 30) titleBar.BackgroundColor3 = Color3.fromRGB(25, 25, 25) titleBar.BorderSizePixel = 0 titleBar.Parent = frame local titleBarCorner = Instance.new("UICorner") titleBarCorner.CornerRadius = UDim.new(0, 8) titleBarCorner.Parent = titleBar -- Cover the bottom corners of the title bar so it looks square-bottomed local titleBarFix = Instance.new("Frame") titleBarFix.Size = UDim2.new(1, 0, 0, 10) titleBarFix.Position = UDim2.new(0, 0, 1, -10) titleBarFix.BackgroundColor3 = Color3.fromRGB(25, 25, 25) titleBarFix.BorderSizePixel = 0 titleBarFix.ZIndex = 0 titleBarFix.Parent = titleBar local title = Instance.new("TextLabel") title.Size = UDim2.new(1, 0, 1, 0) title.BackgroundTransparency = 1 title.Text = "Cat Gui" title.TextColor3 = Color3.fromRGB(255, 255, 255) title.Font = Enum.Font.GothamBold title.TextSize = 16 title.Parent = titleBar -- Dragging logic local dragging = false local dragStart local startPos titleBar.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = true dragStart = input.Position startPos = frame.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end) end end) UserInputService.InputChanged:Connect(function(input) if dragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then local delta = input.Position - dragStart frame.Position = UDim2.new( startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y ) end end) -- Scrolling container for buttons local scrollFrame = Instance.new("ScrollingFrame") scrollFrame.Name = "ButtonList" scrollFrame.Size = UDim2.new(1, 0, 1, -30) scrollFrame.Position = UDim2.new(0, 0, 0, 30) scrollFrame.BackgroundTransparency = 1 scrollFrame.BorderSizePixel = 0 scrollFrame.ScrollBarThickness = 6 scrollFrame.CanvasSize = UDim2.new(0, 0, 0, 0) -- updated automatically by UIListLayout scrollFrame.AutomaticCanvasSize = Enum.AutomaticSize.Y scrollFrame.Parent = frame local listLayout = Instance.new("UIListLayout") listLayout.Padding = UDim.new(0, 10) listLayout.HorizontalAlignment = Enum.HorizontalAlignment.Center listLayout.SortOrder = Enum.SortOrder.LayoutOrder listLayout.Parent = scrollFrame local listPadding = Instance.new("UIPadding") listPadding.PaddingTop = UDim.new(0, 10) listPadding.PaddingBottom = UDim.new(0, 10) listPadding.Parent = scrollFrame -- Teleport function local function teleportPlayer(position) local character = player.Character or player.CharacterAdded:Wait() local rootPart = character:WaitForChild("HumanoidRootPart") rootPart.CFrame = CFrame.new(position) end -- Stat-setting function local function setHumanoidStat(statName, value) local character = player.Character or player.CharacterAdded:Wait() local humanoid = character:WaitForChild("Humanoid") humanoid[statName] = value end -- Helper to create a button inside the scroll list local function createButton(name, text, order, onClick) local button = Instance.new("TextButton") button.Name = name button.Size = UDim2.new(0, 180, 0, 40) button.BackgroundColor3 = Color3.fromRGB(0, 120, 215) button.Text = text button.TextColor3 = Color3.fromRGB(255, 255, 255) button.Font = Enum.Font.GothamBold button.TextSize = 16 button.LayoutOrder = order button.Parent = scrollFrame local buttonCorner = Instance.new("UICorner") buttonCorner.CornerRadius = UDim.new(0, 6) buttonCorner.Parent = button button.MouseButton1Click:Connect(onClick) return button end createButton("ShotgunButton", "Shotgun", 1, function() teleportPlayer(SHOTGUN_POSITION) end) createButton("AkButton", "Ak", 2, function() teleportPlayer(AK_POSITION) end) createButton("ArmorButton", "Armor", 3, function() teleportPlayer(ARMOR_POSITION) end) createButton("MinigunButton", "Minigun", 4, function() teleportPlayer(MINIGUN_POSITION) end) createButton("JumpButton", "Jump Power 100", 5, function() setHumanoidStat("JumpPower", 100) end) createButton("SpeedButton", "Speed 200", 6, function() setHumanoidStat("WalkSpeed", 200) end) createButton("BreakOutButton", "Break Out", 7, function() teleportPlayer(BREAK_OUT_POSITION) end) createButton("YardButton", "Yard", 8, function() teleportPlayer(YARD_POSITION) end) createButton("BankButton", "Bank", 9, function() teleportPlayer(BANK_POSITION) end)