local Players = game:GetService("Players") local TweenService = game:GetService("TweenService") local UIS = game:GetService("UserInputService") local RunService = game:GetService("RunService") local player = Players.LocalPlayer local camera = workspace.CurrentCamera workspace.Gravity = 196 local tool = Instance.new("Tool") tool.Name = "Control Tool" tool.RequiresHandle = false tool.Parent = player.Backpack tool.TextureId = "rbxassetid://103005444008339" local gui = Instance.new("ScreenGui", player.PlayerGui) gui.ResetOnSpawn = false local frame = Instance.new("Frame", gui) frame.Size = UDim2.new(0, 260, 0, 210) frame.Position = UDim2.new(0.5, -130, 0.5, -105) frame.BackgroundColor3 = Color3.fromRGB(25, 25, 25) frame.Visible = false frame.Active = true Instance.new("UICorner", frame).CornerRadius = UDim.new(0, 14) local dragging, dragStart, startPos frame.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = true dragStart = input.Position startPos = frame.Position end end) UIS.InputChanged:Connect(function(input) if dragging and input.UserInputType == Enum.UserInputType.MouseMovement 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) UIS.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = false end end) local title = Instance.new("TextLabel", frame) title.Size = UDim2.new(1, 0, 0, 35) title.BackgroundTransparency = 1 title.Text = "CONTROL PANEL" title.Font = Enum.Font.GothamBold title.TextColor3 = Color3.new(1, 1, 1) local playerDropBtn = Instance.new("TextButton", frame) playerDropBtn.Size = UDim2.new(1, -20, 0, 35) playerDropBtn.Position = UDim2.new(0, 10, 0, 40) playerDropBtn.BackgroundColor3 = Color3.new(0, 0, 0) playerDropBtn.Text = "Select Player ▼" playerDropBtn.TextColor3 = Color3.new(1, 1, 1) playerDropBtn.Font = Enum.Font.GothamBold playerDropBtn.ZIndex = 5 Instance.new("UICorner", playerDropBtn) local playerDropFrame = Instance.new("ScrollingFrame", frame) playerDropFrame.Size = UDim2.new(1, -20, 0, 0) playerDropFrame.Position = UDim2.new(0, 10, 0, 75) playerDropFrame.BackgroundColor3 = Color3.fromRGB(15, 15, 15) playerDropFrame.ZIndex = 10 playerDropFrame.ClipsDescendants = true playerDropFrame.ScrollBarThickness = 2 playerDropFrame.AutomaticCanvasSize = Enum.AutomaticSize.Y Instance.new("UICorner", playerDropFrame) Instance.new("UIListLayout", playerDropFrame).Padding = UDim.new(0, 2) local mainToggle = Instance.new("TextButton", frame) mainToggle.Size = UDim2.new(1, -20, 0, 35) mainToggle.Position = UDim2.new(0, 10, 0, 115) mainToggle.Text = "LOOK OFF" mainToggle.BackgroundColor3 = Color3.fromRGB(60, 60, 60) mainToggle.TextColor3 = Color3.new(1, 1, 1) mainToggle.Font = Enum.Font.GothamBold Instance.new("UICorner", mainToggle) local dropBtn = Instance.new("TextButton", frame) dropBtn.Size = UDim2.new(1, -20, 0, 30) dropBtn.Position = UDim2.new(0, 10, 1, -40) dropBtn.BackgroundColor3 = Color3.new(0, 0, 0) dropBtn.Text = "More Features ▼" dropBtn.TextColor3 = Color3.new(1, 1, 1) dropBtn.Font = Enum.Font.GothamBold dropBtn.ZIndex = 5 Instance.new("UICorner", dropBtn) local dropFrame = Instance.new("Frame", frame) dropFrame.Size = UDim2.new(1, -20, 0, 0) dropFrame.Position = UDim2.new(0, 10, 1, -40) dropFrame.BackgroundColor3 = Color3.fromRGB(15, 15, 15) dropFrame.ClipsDescendants = true dropFrame.ZIndex = 4 Instance.new("UICorner", dropFrame) local fList = Instance.new("UIListLayout", dropFrame) fList.Padding = UDim.new(0, 5) fList.HorizontalAlignment = Enum.HorizontalAlignment.Center fList.SortOrder = Enum.SortOrder.LayoutOrder local function createSubBtn(txt, order) local b = Instance.new("TextButton", dropFrame) b.Size = UDim2.new(1, -10, 0, 30) b.Text = txt b.BackgroundColor3 = Color3.fromRGB(45, 45, 45) b.TextColor3 = Color3.new(1, 1, 1) b.Font = Enum.Font.GothamBold b.ZIndex = 6 b.LayoutOrder = order Instance.new("UICorner", b) return b end local camBtn = createSubBtn("Camera Lock OFF", 1) local followBtn = createSubBtn("Follow OFF", 2) local refreshBtn = createSubBtn("Refresh List", 3) local targetPlayer = nil local lookActive, followActive, cameraActive = false, false, false local function applyStats(char) local hum = char:WaitForChild("Humanoid") hum.WalkSpeed = 24 hum.JumpPower = 50 end if player.Character then applyStats(player.Character) end player.CharacterAdded:Connect(applyStats) mainToggle.MouseButton1Click:Connect(function() lookActive = not lookActive mainToggle.Text = lookActive and "LOOK ON" or "LOOK OFF" mainToggle.BackgroundColor3 = lookActive and Color3.fromRGB(0, 150, 0) or Color3.fromRGB(60, 60, 60) end) camBtn.MouseButton1Click:Connect(function() cameraActive = not cameraActive camBtn.Text = cameraActive and "Camera Lock ON" or "Camera Lock OFF" camBtn.BackgroundColor3 = cameraActive and Color3.fromRGB(0, 100, 200) or Color3.fromRGB(45, 45, 45) end) followBtn.MouseButton1Click:Connect(function() followActive = not followActive followBtn.Text = followActive and "Follow ON" or "Follow OFF" followBtn.BackgroundColor3 = followActive and Color3.fromRGB(180, 100, 0) or Color3.fromRGB(45, 45, 45) end) local function updateList() for _, v in pairs(playerDropFrame:GetChildren()) do if v:IsA("TextButton") then v:Destroy() end end for _, p in pairs(Players:GetPlayers()) do if p ~= player then local b = Instance.new("TextButton", playerDropFrame) b.Size = UDim2.new(1, -5, 0, 30) b.Text = p.Name b.BackgroundColor3 = Color3.fromRGB(35, 35, 35) b.TextColor3 = Color3.new(1,1,1) b.ZIndex = 12 Instance.new("UICorner", b) b.MouseButton1Click:Connect(function() targetPlayer = p playerDropBtn.Text = "Target: " .. p.Name TweenService:Create(playerDropFrame, TweenInfo.new(0.3), {Size = UDim2.new(1, -20, 0, 0)}):Play() end) end end end playerDropBtn.MouseButton1Click:Connect(function() local open = playerDropFrame.Size.Y.Offset == 0 if open then updateList() TweenService:Create(playerDropFrame, TweenInfo.new(0.3), {Size = UDim2.new(1, -20, 0, 100)}):Play() else TweenService:Create(playerDropFrame, TweenInfo.new(0.3), {Size = UDim2.new(1, -20, 0, 0)}):Play() end end) refreshBtn.MouseButton1Click:Connect(updateList) dropBtn.MouseButton1Click:Connect(function() local open = dropFrame.Size.Y.Offset == 0 local targetSize = open and UDim2.new(1, -20, 0, 110) or UDim2.new(1, -20, 0, 0) local targetPos = open and UDim2.new(0, 10, 1, -155) or UDim2.new(0, 10, 1, -40) TweenService:Create(dropFrame, TweenInfo.new(0.3), {Size = targetSize, Position = targetPos}):Play() end) RunService.RenderStepped:Connect(function() if not targetPlayer or not targetPlayer.Character or not targetPlayer.Character:FindFirstChild("HumanoidRootPart") then return end local targetPart = targetPlayer.Character.HumanoidRootPart local char = player.Character if not char or not char:FindFirstChild("HumanoidRootPart") then return end if lookActive then local pos = targetPart.Position char.HumanoidRootPart.CFrame = CFrame.new(char.HumanoidRootPart.Position, Vector3.new(pos.X, char.HumanoidRootPart.Position.Y, pos.Z)) end if followActive then char.Humanoid:MoveTo(targetPart.Position - (targetPart.CFrame.LookVector * 5)) end if cameraActive then camera.CFrame = CFrame.new(camera.CFrame.Position, targetPart.Position) end end) tool.Equipped:Connect(function() frame.Visible = true end) tool.Unequipped:Connect(function() frame.Visible = false end)