-- Aimbot Script for Roblox con botón de abrir/cerrar menú -- (Todo lo anterior sigue igual, solo se añadió el toggle del menú) local Players = game:GetService("Players") local LocalPlayer = Players.LocalPlayer local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") -- Variables local targetPlayer = nil local aiming = false local connection = nil -- Función para empezar a mirar a un jugador local function startAiming(selectedPlayer) if aiming and targetPlayer == selectedPlayer then return end stopAiming() targetPlayer = selectedPlayer aiming = true connection = RunService.RenderStepped:Connect(function() if aiming and targetPlayer and targetPlayer.Character and targetPlayer.Character:FindFirstChild("Head") then local camera = workspace.CurrentCamera local targetPos = targetPlayer.Character.Head.Position camera.CFrame = CFrame.lookAt(camera.CFrame.Position, targetPos) else stopAiming() end end) end -- Función para parar function stopAiming() if connection then connection:Disconnect() connection = nil end aiming = false targetPlayer = nil end -- === CREACIÓN DE LA GUI === local ScreenGui = Instance.new("ScreenGui") ScreenGui.Parent = game.CoreGui ScreenGui.Name = "AimbotGUI" -- Menú principal (inicialmente oculto) local Frame = Instance.new("Frame") Frame.Size = UDim2.new(0, 200, 0, 300) Frame.Position = UDim2.new(0.5, -100, 0.5, -150) Frame.BackgroundColor3 = Color3.fromRGB(40, 40, 40) Frame.BorderSizePixel = 0 Frame.Visible = false -- Oculto al inicio Frame.Parent = ScreenGui -- Título y resto del menú (igual que antes) local Title = Instance.new("TextLabel") Title.Size = UDim2.new(1, 0, 0, 30) Title.Text = "Aimbot Menu" Title.BackgroundColor3 = Color3.fromRGB(30, 30, 30) Title.TextColor3 = Color3.new(1,1,1) Title.Parent = Frame local ScrollingFrame = Instance.new("ScrollingFrame") ScrollingFrame.Size = UDim2.new(1, 0, 1, -60) ScrollingFrame.Position = UDim2.new(0, 0, 0, 30) ScrollingFrame.BackgroundTransparency = 1 ScrollingFrame.ScrollBarThickness = 6 ScrollingFrame.Parent = Frame local UIListLayout = Instance.new("UIListLayout") UIListLayout.Parent = ScrollingFrame local StopButtonMenu = Instance.new("TextButton") StopButtonMenu.Size = UDim2.new(1, 0, 0, 30) StopButtonMenu.Position = UDim2.new(0, 0, 1, -30) StopButtonMenu.Text = "Stop Aiming" StopButtonMenu.BackgroundColor3 = Color3.fromRGB(200, 50, 50) StopButtonMenu.TextColor3 = Color3.new(1,1,1) StopButtonMenu.Parent = Frame StopButtonMenu.MouseButton1Click:Connect(stopAiming) -- Botón flotante para parar (siempre visible) local StopFloating = Instance.new("TextButton") StopFloating.Size = UDim2.new(0, 110, 0, 35) StopFloating.Position = UDim2.new(0, 10, 0, 60) StopFloating.Text = "Stop Aiming" StopFloating.BackgroundColor3 = Color3.fromRGB(200, 50, 50) StopFloating.TextColor3 = Color3.new(1,1,1) StopFloating.Parent = ScreenGui StopFloating.MouseButton1Click:Connect(stopAiming) -- === BOTÓN PARA ABRIR/CERRAR EL MENÚ === local ToggleButton = Instance.new("TextButton") ToggleButton.Size = UDim2.new(0, 50, 0, 50) ToggleButton.Position = UDim2.new(0, 10, 0, 10) ToggleButton.Text = "▶" ToggleButton.BackgroundColor3 = Color3.fromRGB(0, 170, 255) ToggleButton.TextColor3 = Color3.new(1,1,1) ToggleButton.Font = Enum.Font.SourceSansBold ToggleButton.TextSize = 30 ToggleButton.Parent = ScreenGui local menuOpen = false ToggleButton.MouseButton1Click:Connect(function() menuOpen = not menuOpen Frame.Visible = menuOpen ToggleButton.Text = menuOpen and "✕" or "▶" end) -- === Lista de jugadores === local function updatePlayerList() for _, child in ipairs(ScrollingFrame:GetChildren()) do if child:IsA("TextButton") then child:Destroy() end end for _, player in ipairs(Players:GetPlayers()) do if player ~= LocalPlayer then local btn = Instance.new("TextButton") btn.Size = UDim2.new(1, 0, 0, 35) btn.Text = player.DisplayName .. " (@" .. player.Name .. ")" btn.BackgroundColor3 = Color3.fromRGB(70, 70, 70) btn.TextColor3 = Color3.new(1,1,1) btn.Parent = ScrollingFrame btn.MouseButton1Click:Connect(function() startAiming(player) end) end end ScrollingFrame.CanvasSize = UDim2.new(0, 0, 0, UIListLayout.AbsoluteContentSize.Y) end updatePlayerList() Players.PlayerAdded:Connect(updatePlayerList) Players.PlayerRemoving:Connect(updatePlayerList) -- Hacer el menú arrastrable (opcional) local dragging, dragInput, dragStart, startPos Frame.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = true dragStart = input.Position startPos = Frame.Position end end) Frame.InputChanged:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement then dragInput = input end end) UserInputService.InputChanged:Connect(function(input) if dragging and input == dragInput 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) UserInputService.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = false end end)