-- Pulpo Script Completo - Nueva UI -- PARTE 1/3 local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local Lighting = game:GetService("Lighting") local TweenService = game:GetService("TweenService") local player = Players.LocalPlayer local character, humanoid, root local camera = workspace.CurrentCamera local function getCharacter() character = player.Character or player.CharacterAdded:Wait() humanoid = character:WaitForChild("Humanoid") root = character:WaitForChild("HumanoidRootPart") end getCharacter() -- ====================== CONFIG ====================== local Settings = { WalkSpeed = 16, JumpPower = 50, FlySpeed = 70, FOV = 70, Noclip = false, PlayerESP = false, ObjectESP = false, Aimbot = false, FaceCamera = false, Flying = false, Fullbright = false, Tracers = false, KillAura = false, AimbotRange = 25, KillAuraRange = 12, Theme = 1, MenuSize = 1 } local Themes = { [1] = {main = Color3.fromRGB(16, 16, 22), bar = Color3.fromRGB(105, 35, 175)}, [2] = {main = Color3.fromRGB(14, 18, 26), bar = Color3.fromRGB(25, 85, 170)}, [3] = {main = Color3.fromRGB(12, 12, 14), bar = Color3.fromRGB(45, 45, 50)}, [4] = {main = Color3.fromRGB(20, 12, 14), bar = Color3.fromRGB(155, 35, 45)}, [5] = {main = Color3.fromRGB(12, 18, 14), bar = Color3.fromRGB(25, 115, 65)}, } local Sizes = { [0] = UDim2.fromOffset(280, 520), [1] = UDim2.fromOffset(330, 640), [2] = UDim2.fromOffset(380, 760) } -- ====================== GUI ====================== local screenGui = Instance.new("ScreenGui") screenGui.Name = "PulpoScript" screenGui.ResetOnSpawn = false screenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling screenGui.Parent = player:WaitForChild("PlayerGui") local openBtn = Instance.new("TextButton") openBtn.Size = UDim2.fromOffset(150, 44) openBtn.Position = UDim2.fromScale(0.02, 0.14) openBtn.BackgroundColor3 = Themes[1].bar openBtn.Text = "Pulpo Script" openBtn.TextColor3 = Color3.new(1,1,1) openBtn.Font = Enum.Font.GothamBold openBtn.TextSize = 16 openBtn.Active = true openBtn.Draggable = true openBtn.Parent = screenGui Instance.new("UICorner", openBtn).CornerRadius = UDim.new(0, 12) local main = Instance.new("Frame") main.Size = Sizes[1] main.Position = UDim2.fromScale(0.02, 0.17) main.BackgroundColor3 = Themes[1].main main.BorderSizePixel = 0 main.Visible = false main.Active = true main.Draggable = true main.Parent = screenGui Instance.new("UICorner", main).CornerRadius = UDim.new(0, 16) local bgImage = Instance.new("ImageLabel") bgImage.Size = UDim2.fromScale(1,1) bgImage.BackgroundTransparency = 1 bgImage.ImageTransparency = 0.5 bgImage.ScaleType = Enum.ScaleType.Crop bgImage.ZIndex = 0 bgImage.Parent = main Instance.new("UICorner", bgImage).CornerRadius = UDim.new(0, 16) local titleBar = Instance.new("Frame") titleBar.Size = UDim2.new(1, 0, 0, 50) titleBar.BackgroundColor3 = Themes[1].bar titleBar.BorderSizePixel = 0 titleBar.ZIndex = 2 titleBar.Parent = main Instance.new("UICorner", titleBar).CornerRadius = UDim.new(0, 16) local title = Instance.new("TextLabel") title.Size = UDim2.new(1, -120, 1, 0) title.Position = UDim2.fromOffset(14, 0) title.BackgroundTransparency = 1 title.Text = "Pulpo Script" title.TextColor3 = Color3.new(1,1,1) title.Font = Enum.Font.GothamBold title.TextSize = 19 title.TextXAlignment = Enum.TextXAlignment.Left title.ZIndex = 3 title.Parent = titleBar local statsLabel = Instance.new("TextLabel") statsLabel.Size = UDim2.fromOffset(90, 40) statsLabel.Position = UDim2.new(1, -135, 0.5, -20) statsLabel.BackgroundTransparency = 1 statsLabel.Text = "60 FPS\n0 ms" statsLabel.TextColor3 = Color3.fromRGB(180,255,180) statsLabel.Font = Enum.Font.GothamBold statsLabel.TextSize = 11 statsLabel.TextXAlignment = Enum.TextXAlignment.Right statsLabel.ZIndex = 3 statsLabel.Parent = titleBar local closeBtn = Instance.new("TextButton") closeBtn.Size = UDim2.fromOffset(36, 36) closeBtn.Position = UDim2.new(1, -42, 0.5, -18) closeBtn.BackgroundTransparency = 1 closeBtn.Text = "✕" closeBtn.TextColor3 = Color3.new(1,1,1) closeBtn.Font = Enum.Font.GothamBold closeBtn.TextSize = 18 closeBtn.ZIndex = 3 closeBtn.Parent = titleBar local container = Instance.new("ScrollingFrame") container.Size = UDim2.new(1, -12, 1, -58) container.Position = UDim2.fromOffset(6, 54) container.BackgroundTransparency = 1 container.BorderSizePixel = 0 container.ScrollBarThickness = 4 container.CanvasSize = UDim2.fromOffset(0, 920) container.ZIndex = 2 container.Parent = main local list = Instance.new("UIListLayout") list.Padding = UDim.new(0, 6) list.Parent = container local function makeLabel(text) local lbl = Instance.new("TextLabel") lbl.Size = UDim2.new(1, 0, 0, 18) lbl.BackgroundTransparency = 1 lbl.Text = text lbl.TextColor3 = Color3.fromRGB(160,160,180) lbl.Font = Enum.Font.GothamBold lbl.TextSize = 12 lbl.TextXAlignment = Enum.TextXAlignment.Left lbl.Parent = container return lbl end local function makeButton(text, color) local b = Instance.new("TextButton") b.Size = UDim2.new(1, -4, 0, 36) b.BackgroundColor3 = color b.Text = text b.TextColor3 = Color3.new(1,1,1) b.Font = Enum.Font.GothamBold b.TextSize = 13 b.Parent = container Instance.new("UICorner", b).CornerRadius = UDim.new(0, 8) return b end -- ====================== PANEL DE EDICIÓN ====================== local editPanel = Instance.new("Frame") editPanel.Size = UDim2.fromOffset(260, 160) editPanel.Position = UDim2.fromScale(0.5, 0.4) editPanel.AnchorPoint = Vector2.new(0.5, 0.5) editPanel.BackgroundColor3 = Color3.fromRGB(22, 22, 30) editPanel.BorderSizePixel = 0 editPanel.Visible = false editPanel.ZIndex = 20 editPanel.Parent = screenGui Instance.new("UICorner", editPanel).CornerRadius = UDim.new(0, 14) local editTitle = Instance.new("TextLabel") editTitle.Size = UDim2.new(1, 0, 0, 36) editTitle.BackgroundColor3 = Color3.fromRGB(90, 40, 160) editTitle.Text = "Personalizar" editTitle.TextColor3 = Color3.new(1,1,1) editTitle.Font = Enum.Font.GothamBold editTitle.TextSize = 15 editTitle.Parent = editPanel Instance.new("UICorner", editTitle).CornerRadius = UDim.new(0, 14) local editBox = Instance.new("TextBox") editBox.Size = UDim2.new(0.85, 0, 0, 36) editBox.Position = UDim2.new(0.075, 0, 0.35, 0) editBox.BackgroundColor3 = Color3.fromRGB(35, 35, 45) editBox.Text = "" editBox.PlaceholderText = "Escribe el valor..." editBox.TextColor3 = Color3.new(1,1,1) editBox.Font = Enum.Font.Gotham editBox.TextSize = 14 editBox.Parent = editPanel Instance.new("UICorner", editBox).CornerRadius = UDim.new(0, 8) local editApply = Instance.new("TextButton") editApply.Size = UDim2.new(0.4, 0, 0, 34) editApply.Position = UDim2.new(0.075, 0, 0.68, 0) editApply.BackgroundColor3 = Color3.fromRGB(30, 140, 70) editApply.Text = "Aplicar" editApply.TextColor3 = Color3.new(1,1,1) editApply.Font = Enum.Font.GothamBold editApply.TextSize = 14 editApply.Parent = editPanel Instance.new("UICorner", editApply).CornerRadius = UDim.new(0, 8) local editClose = Instance.new("TextButton") editClose.Size = UDim2.new(0.4, 0, 0, 34) editClose.Position = UDim2.new(0.525, 0, 0.68, 0) editClose.BackgroundColor3 = Color3.fromRGB(150, 40, 40) editClose.Text = "Cerrar" editClose.TextColor3 = Color3.new(1,1,1) editClose.Font = Enum.Font.GothamBold editClose.TextSize = 14 editClose.Parent = editPanel Instance.new("UICorner", editClose).CornerRadius = UDim.new(0, 8) local currentEditType = nil local function openEditPanel(tipo, titulo, placeholder, valorActual) currentEditType = tipo editTitle.Text = titulo editBox.PlaceholderText = placeholder editBox.Text = valorActual and tostring(valorActual) or "" editPanel.Visible = true end editClose.MouseButton1Click:Connect(function() editPanel.Visible = false currentEditType = nil end) -- ====================== BOTONES ====================== makeLabel(" COMBATE") local aimbotBtn = makeButton("Aimbot Agresivo: OFF", Color3.fromRGB(155, 40, 40)) local killAuraBtn = makeButton("Kill Aura: OFF", Color3.fromRGB(155, 40, 40)) local faceCamBtn = makeButton("Mirar hacia Cámara: OFF", Color3.fromRGB(155, 40, 40)) makeLabel(" MOVIMIENTO") local noclipBtn = makeButton("Noclip: OFF", Color3.fromRGB(155, 40, 40)) local flyBtn = makeButton("Fly Invencible: OFF", Color3.fromRGB(155, 40, 40)) local flySpeedBtn = makeButton("Velocidad de Vuelo", Color3.fromRGB(60, 60, 90)) makeLabel(" VISUAL") local playerESPBtn = makeButton("ESP + Health Bars: OFF", Color3.fromRGB(155, 40, 40)) local tracersBtn = makeButton("Tracers: OFF", Color3.fromRGB(155, 40, 40)) local fullbrightBtn= makeButton("Fullbright: OFF", Color3.fromRGB(155, 40, 40)) local fovBtn = makeButton("Cambiar FOV", Color3.fromRGB(60, 60, 90)) makeLabel(" STATS") local speedBtn = makeButton("Velocidad de Caminar", Color3.fromRGB(60, 60, 90)) local jumpBtn = makeButton("Poder de Salto", Color3.fromRGB(60, 60, 90)) makeLabel(" UI (Personalizar Interfaz)") local themeBtn = makeButton("Cambiar Tema", Color3.fromRGB(70, 70, 100)) local colorBtn = makeButton("Color Personalizado", Color3.fromRGB(70, 70, 100)) local imageBtn = makeButton("Imagen de Fondo", Color3.fromRGB(70, 70, 100)) local sizeSmallBtn = makeButton("Menú Pequeño", Color3.fromRGB(50, 80, 70)) local sizeNormalBtn = makeButton("Menú Normal", Color3.fromRGB(50, 80, 70)) local sizeBigBtn = makeButton("Menú Grande", Color3.fromRGB(50, 80, 70)) local resetBtn = makeButton("Resetear Todo", Color3.fromRGB(90, 40, 40)) makeLabel(" KEYBINDS: F=Fly | N=Noclip | T=Tracers | K=KillAura") From JusTalk https://justalk.com/?p=it-- PARTE 2/3 -- Conexiones de los botones que abren panel speedBtn.MouseButton1Click:Connect(function() openEditPanel("speed", "Velocidad de Caminar", "Ejemplo: 50", Settings.WalkSpeed) end) jumpBtn.MouseButton1Click:Connect(function() openEditPanel("jump", "Poder de Salto", "Ejemplo: 100", Settings.JumpPower) end) flySpeedBtn.MouseButton1Click:Connect(function() openEditPanel("fly", "Velocidad de Vuelo", "Ejemplo: 70", Settings.FlySpeed) end) fovBtn.MouseButton1Click:Connect(function() openEditPanel("fov", "Campo de Visión (FOV)", "Ejemplo: 90", Settings.FOV) end) colorBtn.MouseButton1Click:Connect(function() openEditPanel("color", "Color RGB", "Ejemplo: 25,25,35", nil) end) imageBtn.MouseButton1Click:Connect(function() openEditPanel("image", "ID de Imagen", "Solo números del asset", nil) end) editApply.MouseButton1Click:Connect(function() local val = editBox.Text if currentEditType == "speed" then local n = tonumber(val) if n and n > 0 then Settings.WalkSpeed = n if humanoid then humanoid.WalkSpeed = n end end elseif currentEditType == "jump" then local n = tonumber(val) if n and n > 0 then Settings.JumpPower = n if humanoid then humanoid.JumpPower = n humanoid.JumpHeight = n / 2.4 end end elseif currentEditType == "fly" then local n = tonumber(val) if n and n > 0 then Settings.FlySpeed = n end elseif currentEditType == "fov" then local n = tonumber(val) if n and n >= 30 and n <= 120 then Settings.FOV = n camera.FieldOfView = n end elseif currentEditType == "color" then local r,g,b = val:match("(%d+)%s*,%s*(%d+)%s*,%s*(%d+)") if r then local c = Color3.fromRGB(tonumber(r), tonumber(g), tonumber(b)) main.BackgroundColor3 = c openBtn.BackgroundColor3 = c titleBar.BackgroundColor3 = Color3.new(math.clamp(c.R*1.3,0,1), math.clamp(c.G*1.3,0,1), math.clamp(c.B*1.3,0,1)) end elseif currentEditType == "image" then local id = val:match("%d+") if id then bgImage.Image = "rbxassetid://" .. id end end editPanel.Visible = false currentEditType = nil end) local function setMenuSize(size) Settings.MenuSize = size main.Size = Sizes[size] end sizeSmallBtn.MouseButton1Click:Connect(function() setMenuSize(0) end) sizeNormalBtn.MouseButton1Click:Connect(function() setMenuSize(1) end) sizeBigBtn.MouseButton1Click:Connect(function() setMenuSize(2) end) local function applyTheme(id) Settings.Theme = id local t = Themes[id] main.BackgroundColor3 = t.main titleBar.BackgroundColor3 = t.bar openBtn.BackgroundColor3 = t.bar end themeBtn.MouseButton1Click:Connect(function() applyTheme(Settings.Theme % 5 + 1) end) -- FPS + Ping local lastFps, frames = 0, 0 RunService.RenderStepped:Connect(function() frames += 1 if tick() - lastFps >= 0.5 then local fps = math.floor(frames / (tick() - lastFps)) frames = 0 lastFps = tick() local ping = math.floor(player:GetNetworkPing() * 1000) statsLabel.Text = fps .. " FPS\n" .. ping .. " ms" statsLabel.TextColor3 = ping < 70 and Color3.fromRGB(100,255,140) or ping < 140 and Color3.fromRGB(255,220,80) or Color3.fromRGB(255,90,90) end end) -- ====================== ESP + HEALTH + TRACERS ====================== local playerESPFolder = Instance.new("Folder", screenGui) local tracerFolder = Instance.new("Folder", screenGui) local function clearPlayerESP() playerESPFolder:ClearAllChildren() tracerFolder:ClearAllChildren() end local function updatePlayerESP() if not root then return end for _, plr in ipairs(Players:GetPlayers()) do if plr ~= player and plr.Character then local char = plr.Character local hum = char:FindFirstChildOfClass("Humanoid") local hrp = char:FindFirstChild("HumanoidRootPart") if not (hum and hrp and hum.Health > 0) then continue end if Settings.PlayerESP and not playerESPFolder:FindFirstChild(plr.Name) then local hl = Instance.new("Highlight") hl.Name = plr.Name hl.Adornee = char hl.FillColor = Color3.fromRGB(255, 50, 50) hl.OutlineColor = Color3.new(1,1,1) hl.FillTransparency = 0.55 hl.Parent = playerESPFolder local bill = Instance.new("BillboardGui") bill.Name = plr.Name .. "_Bill" bill.Adornee = hrp bill.Size = UDim2.fromOffset(200, 60) bill.StudsOffset = Vector3.new(0, 3.8, 0) bill.AlwaysOnTop = true bill.Parent = playerESPFolder local nameL = Instance.new("TextLabel") nameL.Size = UDim2.new(1,0,0.35,0) nameL.BackgroundTransparency = 1 nameL.Text = plr.Name nameL.TextColor3 = Color3.fromRGB(255, 80, 80) nameL.TextStrokeTransparency = 0.3 nameL.Font = Enum.Font.GothamBold nameL.TextSize = 13 nameL.Parent = bill local distL = Instance.new("TextLabel") distL.Name = "Dist" distL.Size = UDim2.new(1,0,0.3,0) distL.Position = UDim2.fromScale(0,0.35) distL.BackgroundTransparency = 1 distL.TextColor3 = Color3.new(1,1,1) distL.Font = Enum.Font.Gotham distL.TextSize = 12 distL.Parent = bill local barBg = Instance.new("Frame") barBg.Name = "BarBg" barBg.Size = UDim2.new(0.8, 0, 0.18, 0) barBg.Position = UDim2.new(0.1, 0, 0.72, 0) barBg.BackgroundColor3 = Color3.fromRGB(40,40,40) barBg.BorderSizePixel = 0 barBg.Parent = bill Instance.new("UICorner", barBg).CornerRadius = UDim.new(0, 3) local bar = Instance.new("Frame") bar.Name = "Bar" bar.Size = UDim2.new(1,0,1,0) bar.BackgroundColor3 = Color3.fromRGB(0,220,80) bar.BorderSizePixel = 0 bar.Parent = barBg Instance.new("UICorner", bar).CornerRadius = UDim.new(0, 3) end if Settings.PlayerESP then local bill = playerESPFolder:FindFirstChild(plr.Name .. "_Bill") if bill then local distL = bill:FindFirstChild("Dist") if distL then distL.Text = math.floor((root.Position - hrp.Position).Magnitude) .. " studs" end local bar = bill:FindFirstChild("BarBg") and bill.BarBg:FindFirstChild("Bar") if bar then local pct = math.clamp(hum.Health / hum.MaxHealth, 0, 1) bar.Size = UDim2.new(pct, 0, 1, 0) bar.BackgroundColor3 = pct > 0.5 and Color3.fromRGB(0,220,80) or pct > 0.25 and Color3.fromRGB(255,180,0) or Color3.fromRGB(255,50,50) end end end if Settings.Tracers then local tracerName = plr.Name .. "_Tracer" if not tracerFolder:FindFirstChild(tracerName) then local att0 = Instance.new("Attachment", root) local att1 = Instance.new("Attachment", hrp) local beam = Instance.new("Beam") beam.Name = tracerName beam.Attachment0 = att0 beam.Attachment1 = att1 beam.FaceCamera = true beam.Width0 = 0.15 beam.Width1 = 0.15 beam.Color = ColorSequence.new(Color3.fromRGB(255, 60, 60)) beam.Transparency = NumberSequence.new(0.3) beam.Parent = tracerFolder end end end end end -- ====================== VUELO ====================== local bodyVelocity, bodyGyro, flyConn local function stopFly() if bodyVelocity then bodyVelocity:Destroy() bodyVelocity = nil end if bodyGyro then bodyGyro:Destroy() bodyGyro = nil end if flyConn then flyConn:Disconnect() flyConn = nil end if humanoid then humanoid.PlatformStand = false end end local function startFly() stopFly() if not root then return end bodyVelocity = Instance.new("BodyVelocity") bodyVelocity.MaxForce = Vector3.new(9e9, 9e9, 9e9) bodyVelocity.Velocity = Vector3.zero bodyVelocity.Parent = root bodyGyro = Instance.new("BodyGyro") bodyGyro.MaxTorque = Vector3.new(9e9, 9e9, 9e9) bodyGyro.P = 5000 bodyGyro.Parent = root humanoid.PlatformStand = true flyConn = RunService.RenderStepped:Connect(function() if not Settings.Flying or not root then return end if humanoid and humanoid.Health < humanoid.MaxHealth then humanoid.Health = humanoid.MaxHealth end local camCF = camera.CFrame local moveDir = Vector3.zero if UserInputService:IsKeyDown(Enum.KeyCode.W) then moveDir += camCF.LookVector end if UserInputService:IsKeyDown(Enum.KeyCode.S) then moveDir -= camCF.LookVector end if UserInputService:IsKeyDown(Enum.KeyCode.A) then moveDir -= camCF.RightVector end if UserInputService:IsKeyDown(Enum.KeyCode.D) then moveDir += camCF.RightVector end if UserInputService:IsKeyDown(Enum.KeyCode.Space) then moveDir += Vector3.yAxis end if UserInputService:IsKeyDown(Enum.KeyCode.LeftControl) or UserInputService:IsKeyDown(Enum.KeyCode.LeftShift) then moveDir -= Vector3.yAxis end local humMove = humanoid.MoveDirection if humMove.Magnitude > 0.05 then moveDir += (camCF.LookVector * humMove.Z * -1) + (camCF.RightVector * humMove.X) end if moveDir.Magnitude > 0 then moveDir = moveDir.Unit * Settings.FlySpeed end bodyVelocity.Velocity = moveDir bodyGyro.CFrame = camCF end) end From JusTalk https://justalk.com/?p=it-- PARTE 2/3 -- Conexiones de los botones que abren panel speedBtn.MouseButton1Click:Connect(function() openEditPanel("speed", "Velocidad de Caminar", "Ejemplo: 50", Settings.WalkSpeed) end) jumpBtn.MouseButton1Click:Connect(function() openEditPanel("jump", "Poder de Salto", "Ejemplo: 100", Settings.JumpPower) end) flySpeedBtn.MouseButton1Click:Connect(function() openEditPanel("fly", "Velocidad de Vuelo", "Ejemplo: 70", Settings.FlySpeed) end) fovBtn.MouseButton1Click:Connect(function() openEditPanel("fov", "Campo de Visión (FOV)", "Ejemplo: 90", Settings.FOV) end) colorBtn.MouseButton1Click:Connect(function() openEditPanel("color", "Color RGB", "Ejemplo: 25,25,35", nil) end) imageBtn.MouseButton1Click:Connect(function() openEditPanel("image", "ID de Imagen", "Solo números del asset", nil) end) editApply.MouseButton1Click:Connect(function() local val = editBox.Text if currentEditType == "speed" then local n = tonumber(val) if n and n > 0 then Settings.WalkSpeed = n if humanoid then humanoid.WalkSpeed = n end end elseif currentEditType == "jump" then local n = tonumber(val) if n and n > 0 then Settings.JumpPower = n if humanoid then humanoid.JumpPower = n humanoid.JumpHeight = n / 2.4 end end elseif currentEditType == "fly" then local n = tonumber(val) if n and n > 0 then Settings.FlySpeed = n end elseif currentEditType == "fov" then local n = tonumber(val) if n and n >= 30 and n <= 120 then Settings.FOV = n camera.FieldOfView = n end elseif currentEditType == "color" then local r,g,b = val:match("(%d+)%s*,%s*(%d+)%s*,%s*(%d+)") if r then local c = Color3.fromRGB(tonumber(r), tonumber(g), tonumber(b)) main.BackgroundColor3 = c openBtn.BackgroundColor3 = c titleBar.BackgroundColor3 = Color3.new(math.clamp(c.R*1.3,0,1), math.clamp(c.G*1.3,0,1), math.clamp(c.B*1.3,0,1)) end elseif currentEditType == "image" then local id = val:match("%d+") if id then bgImage.Image = "rbxassetid://" .. id end end editPanel.Visible = false currentEditType = nil end) local function setMenuSize(size) Settings.MenuSize = size main.Size = Sizes[size] end sizeSmallBtn.MouseButton1Click:Connect(function() setMenuSize(0) end) sizeNormalBtn.MouseButton1Click:Connect(function() setMenuSize(1) end) sizeBigBtn.MouseButton1Click:Connect(function() setMenuSize(2) end) local function applyTheme(id) Settings.Theme = id local t = Themes[id] main.BackgroundColor3 = t.main titleBar.BackgroundColor3 = t.bar openBtn.BackgroundColor3 = t.bar end themeBtn.MouseButton1Click:Connect(function() applyTheme(Settings.Theme % 5 + 1) end) -- FPS + Ping local lastFps, frames = 0, 0 RunService.RenderStepped:Connect(function() frames += 1 if tick() - lastFps >= 0.5 then local fps = math.floor(frames / (tick() - lastFps)) frames = 0 lastFps = tick() local ping = math.floor(player:GetNetworkPing() * 1000) statsLabel.Text = fps .. " FPS\n" .. ping .. " ms" statsLabel.TextColor3 = ping < 70 and Color3.fromRGB(100,255,140) or ping < 140 and Color3.fromRGB(255,220,80) or Color3.fromRGB(255,90,90) end end) -- ====================== ESP + HEALTH + TRACERS ====================== local playerESPFolder = Instance.new("Folder", screenGui) local tracerFolder = Instance.new("Folder", screenGui) local function clearPlayerESP() playerESPFolder:ClearAllChildren() tracerFolder:ClearAllChildren() end local function updatePlayerESP() if not root then return end for _, plr in ipairs(Players:GetPlayers()) do if plr ~= player and plr.Character then local char = plr.Character local hum = char:FindFirstChildOfClass("Humanoid") local hrp = char:FindFirstChild("HumanoidRootPart") if not (hum and hrp and hum.Health > 0) then continue end if Settings.PlayerESP and not playerESPFolder:FindFirstChild(plr.Name) then local hl = Instance.new("Highlight") hl.Name = plr.Name hl.Adornee = char hl.FillColor = Color3.fromRGB(255, 50, 50) hl.OutlineColor = Color3.new(1,1,1) hl.FillTransparency = 0.55 hl.Parent = playerESPFolder local bill = Instance.new("BillboardGui") bill.Name = plr.Name .. "_Bill" bill.Adornee = hrp bill.Size = UDim2.fromOffset(200, 60) bill.StudsOffset = Vector3.new(0, 3.8, 0) bill.AlwaysOnTop = true bill.Parent = playerESPFolder local nameL = Instance.new("TextLabel") nameL.Size = UDim2.new(1,0,0.35,0) nameL.BackgroundTransparency = 1 nameL.Text = plr.Name nameL.TextColor3 = Color3.fromRGB(255, 80, 80) nameL.TextStrokeTransparency = 0.3 nameL.Font = Enum.Font.GothamBold nameL.TextSize = 13 nameL.Parent = bill local distL = Instance.new("TextLabel") distL.Name = "Dist" distL.Size = UDim2.new(1,0,0.3,0) distL.Position = UDim2.fromScale(0,0.35) distL.BackgroundTransparency = 1 distL.TextColor3 = Color3.new(1,1,1) distL.Font = Enum.Font.Gotham distL.TextSize = 12 distL.Parent = bill local barBg = Instance.new("Frame") barBg.Name = "BarBg" barBg.Size = UDim2.new(0.8, 0, 0.18, 0) barBg.Position = UDim2.new(0.1, 0, 0.72, 0) barBg.BackgroundColor3 = Color3.fromRGB(40,40,40) barBg.BorderSizePixel = 0 barBg.Parent = bill Instance.new("UICorner", barBg).CornerRadius = UDim.new(0, 3) local bar = Instance.new("Frame") bar.Name = "Bar" bar.Size = UDim2.new(1,0,1,0) bar.BackgroundColor3 = Color3.fromRGB(0,220,80) bar.BorderSizePixel = 0 bar.Parent = barBg Instance.new("UICorner", bar).CornerRadius = UDim.new(0, 3) end if Settings.PlayerESP then local bill = playerESPFolder:FindFirstChild(plr.Name .. "_Bill") if bill then local distL = bill:FindFirstChild("Dist") if distL then distL.Text = math.floor((root.Position - hrp.Position).Magnitude) .. " studs" end local bar = bill:FindFirstChild("BarBg") and bill.BarBg:FindFirstChild("Bar") if bar then local pct = math.clamp(hum.Health / hum.MaxHealth, 0, 1) bar.Size = UDim2.new(pct, 0, 1, 0) bar.BackgroundColor3 = pct > 0.5 and Color3.fromRGB(0,220,80) or pct > 0.25 and Color3.fromRGB(255,180,0) or Color3.fromRGB(255,50,50) end end end if Settings.Tracers then local tracerName = plr.Name .. "_Tracer" if not tracerFolder:FindFirstChild(tracerName) then local att0 = Instance.new("Attachment", root) local att1 = Instance.new("Attachment", hrp) local beam = Instance.new("Beam") beam.Name = tracerName beam.Attachment0 = att0 beam.Attachment1 = att1 beam.FaceCamera = true beam.Width0 = 0.15 beam.Width1 = 0.15 beam.Color = ColorSequence.new(Color3.fromRGB(255, 60, 60)) beam.Transparency = NumberSequence.new(0.3) beam.Parent = tracerFolder end end end end end -- ====================== VUELO ====================== local bodyVelocity, bodyGyro, flyConn local function stopFly() if bodyVelocity then bodyVelocity:Destroy() bodyVelocity = nil end if bodyGyro then bodyGyro:Destroy() bodyGyro = nil end if flyConn then flyConn:Disconnect() flyConn = nil end if humanoid then humanoid.PlatformStand = false end end local function startFly() stopFly() if not root then return end bodyVelocity = Instance.new("BodyVelocity") bodyVelocity.MaxForce = Vector3.new(9e9, 9e9, 9e9) bodyVelocity.Velocity = Vector3.zero bodyVelocity.Parent = root bodyGyro = Instance.new("BodyGyro") bodyGyro.MaxTorque = Vector3.new(9e9, 9e9, 9e9) bodyGyro.P = 5000 bodyGyro.Parent = root humanoid.PlatformStand = true flyConn = RunService.RenderStepped:Connect(function() if not Settings.Flying or not root then return end if humanoid and humanoid.Health < humanoid.MaxHealth then humanoid.Health = humanoid.MaxHealth end local camCF = camera.CFrame local moveDir = Vector3.zero if UserInputService:IsKeyDown(Enum.KeyCode.W) then moveDir += camCF.LookVector end if UserInputService:IsKeyDown(Enum.KeyCode.S) then moveDir -= camCF.LookVector end if UserInputService:IsKeyDown(Enum.KeyCode.A) then moveDir -= camCF.RightVector end if UserInputService:IsKeyDown(Enum.KeyCode.D) then moveDir += camCF.RightVector end if UserInputService:IsKeyDown(Enum.KeyCode.Space) then moveDir += Vector3.yAxis end if UserInputService:IsKeyDown(Enum.KeyCode.LeftControl) or UserInputService:IsKeyDown(Enum.KeyCode.LeftShift) then moveDir -= Vector3.yAxis end local humMove = humanoid.MoveDirection if humMove.Magnitude > 0.05 then moveDir += (camCF.LookVector * humMove.Z * -1) + (camCF.RightVector * humMove.X) end if moveDir.Magnitude > 0 then moveDir = moveDir.Unit * Settings.FlySpeed end bodyVelocity.Velocity = moveDir bodyGyro.CFrame = camCF end) end -- PARTE 3/3 -- ====================== AIMBOT ====================== local function getClosestPlayer() local closest, minDist = nil, Settings.AimbotRange for _, plr in ipairs(Players:GetPlayers()) do if plr ~= player and plr.Character then local hum = plr.Character:FindFirstChildOfClass("Humanoid") local head = plr.Character:FindFirstChild("Head") local hrp = plr.Character:FindFirstChild("HumanoidRootPart") local target = head or hrp if hum and target and hum.Health > 0 and root then local dist = (root.Position - target.Position).Magnitude if dist < minDist then minDist = dist closest = target end end end end return closest end local aimbotConn local function setAimbot(state) Settings.Aimbot = state aimbotBtn.Text = state and "Aimbot Agresivo: ON" or "Aimbot Agresivo: OFF" aimbotBtn.BackgroundColor3 = state and Color3.fromRGB(28,145,65) or Color3.fromRGB(155,40,40) if state then if aimbotConn then aimbotConn:Disconnect() end aimbotConn = RunService.RenderStepped:Connect(function() local target = getClosestPlayer() if target then camera.CFrame = CFrame.new(camera.CFrame.Position, target.Position) if root then local look = (target.Position - root.Position) * Vector3.new(1,0,1) if look.Magnitude > 0.1 then root.CFrame = CFrame.lookAt(root.Position, root.Position + look) end end end end) else if aimbotConn then aimbotConn:Disconnect() aimbotConn = nil end end end -- ====================== KILL AURA ====================== local killAuraConn local function setKillAura(state) Settings.KillAura = state killAuraBtn.Text = state and "Kill Aura: ON" or "Kill Aura: OFF" killAuraBtn.BackgroundColor3 = state and Color3.fromRGB(28,145,65) or Color3.fromRGB(155,40,40) if state then if killAuraConn then killAuraConn:Disconnect() end killAuraConn = RunService.Heartbeat:Connect(function() if not root then return end for _, plr in ipairs(Players:GetPlayers()) do if plr ~= player and plr.Character then local hum = plr.Character:FindFirstChildOfClass("Humanoid") local hrp = plr.Character:FindFirstChild("HumanoidRootPart") if hum and hrp and hum.Health > 0 then local dist = (root.Position - hrp.Position).Magnitude if dist <= Settings.KillAuraRange then root.CFrame = CFrame.lookAt(root.Position, hrp.Position) local tool = character and character:FindFirstChildOfClass("Tool") if tool then tool:Activate() end end end end end end) else if killAuraConn then killAuraConn:Disconnect() killAuraConn = nil end end end -- ====================== FULLBRIGHT ====================== local oldLighting = {} local function setFullbright(state) Settings.Fullbright = state fullbrightBtn.Text = state and "Fullbright: ON" or "Fullbright: OFF" fullbrightBtn.BackgroundColor3 = state and Color3.fromRGB(28,145,65) or Color3.fromRGB(155,40,40) if state then oldLighting.Brightness = Lighting.Brightness oldLighting.Ambient = Lighting.Ambient oldLighting.OutdoorAmbient = Lighting.OutdoorAmbient oldLighting.FogEnd = Lighting.FogEnd oldLighting.ClockTime = Lighting.ClockTime Lighting.Brightness = 2 Lighting.Ambient = Color3.new(1,1,1) Lighting.OutdoorAmbient = Color3.new(1,1,1) Lighting.FogEnd = 100000 Lighting.ClockTime = 12 else if oldLighting.Brightness then Lighting.Brightness = oldLighting.Brightness Lighting.Ambient = oldLighting.Ambient Lighting.OutdoorAmbient = oldLighting.OutdoorAmbient Lighting.FogEnd = oldLighting.FogEnd Lighting.ClockTime = oldLighting.ClockTime end end end -- ====================== OTROS TOGGLES ====================== local noclipConn, faceCamConn local function setNoclip(state) Settings.Noclip = state noclipBtn.Text = state and "Noclip: ON" or "Noclip: OFF" noclipBtn.BackgroundColor3 = state and Color3.fromRGB(28,145,65) or Color3.fromRGB(155,40,40) if state then if noclipConn then noclipConn:Disconnect() end noclipConn = RunService.Stepped:Connect(function() if character then for _, p in ipairs(character:GetDescendants()) do if p:IsA("BasePart") then p.CanCollide = false end end end end) else if noclipConn then noclipConn:Disconnect() noclipConn = nil end end end local function setFly(state) Settings.Flying = state flyBtn.Text = state and "Fly Invencible: ON" or "Fly Invencible: OFF" flyBtn.BackgroundColor3 = state and Color3.fromRGB(28,145,65) or Color3.fromRGB(155,40,40) if state then startFly() else stopFly() end end local function setFaceCamera(state) Settings.FaceCamera = state faceCamBtn.Text = state and "Mirar hacia Cámara: ON" or "Mirar hacia Cámara: OFF" faceCamBtn.BackgroundColor3 = state and Color3.fromRGB(28,145,65) or Color3.fromRGB(155,40,40) if state then if faceCamConn then faceCamConn:Disconnect() end faceCamConn = RunService.RenderStepped:Connect(function() if root then local look = camera.CFrame.LookVector * Vector3.new(1,0,1) if look.Magnitude > 0.05 then root.CFrame = CFrame.lookAt(root.Position, root.Position + look) end end end) else if faceCamConn then faceCamConn:Disconnect() faceCamConn = nil end end end local function setPlayerESP(state) Settings.PlayerESP = state playerESPBtn.Text = state and "ESP + Health Bars: ON" or "ESP + Health Bars: OFF" playerESPBtn.BackgroundColor3 = state and Color3.fromRGB(28,145,65) or Color3.fromRGB(155,40,40) if not state then clearPlayerESP() end end local function setTracers(state) Settings.Tracers = state tracersBtn.Text = state and "Tracers: ON" or "Tracers: OFF" tracersBtn.BackgroundColor3 = state and Color3.fromRGB(28,145,65) or Color3.fromRGB(155,40,40) if not state then tracerFolder:ClearAllChildren() end end -- ====================== KEYBINDS ====================== UserInputService.InputBegan:Connect(function(input, gp) if gp then return end if input.KeyCode == Enum.KeyCode.F then setFly(not Settings.Flying) end if input.KeyCode == Enum.KeyCode.N then setNoclip(not Settings.Noclip) end if input.KeyCode == Enum.KeyCode.T then setTracers(not Settings.Tracers) end if input.KeyCode == Enum.KeyCode.K then setKillAura(not Settings.KillAura) end end) -- ====================== CONEXIONES FINALES ====================== openBtn.MouseButton1Click:Connect(function() main.Visible = not main.Visible end) closeBtn.MouseButton1Click:Connect(function() main.Visible = false editPanel.Visible = false end) aimbotBtn.MouseButton1Click:Connect(function() setAimbot(not Settings.Aimbot) end) killAuraBtn.MouseButton1Click:Connect(function() setKillAura(not Settings.KillAura) end) faceCamBtn.MouseButton1Click:Connect(function() setFaceCamera(not Settings.FaceCamera) end) noclipBtn.MouseButton1Click:Connect(function() setNoclip(not Settings.Noclip) end) flyBtn.MouseButton1Click:Connect(function() setFly(not Settings.Flying) end) playerESPBtn.MouseButton1Click:Connect(function() setPlayerESP(not Settings.PlayerESP) end) tracersBtn.MouseButton1Click:Connect(function() setTracers(not Settings.Tracers) end) fullbrightBtn.MouseButton1Click:Connect(function() setFullbright(not Settings.Fullbright) end) resetBtn.MouseButton1Click:Connect(function() setAimbot(false) setKillAura(false) setFaceCamera(false) setNoclip(false) setFly(false) setPlayerESP(false) setTracers(false) setFullbright(false) Settings.WalkSpeed = 16 Settings.JumpPower = 50 Settings.FlySpeed = 70 if humanoid then humanoid.WalkSpeed = 16 humanoid.JumpPower = 50 end camera.FieldOfView = 70 applyTheme(1) setMenuSize(1) bgImage.Image = "" end) RunService.RenderStepped:Connect(function() if Settings.PlayerESP or Settings.Tracers then updatePlayerESP() end end) player.CharacterAdded:Connect(function() task.wait(0.4) getCharacter() if Settings.Flying then setFly(true) end if Settings.Noclip then setNoclip(true) end if Settings.FaceCamera then setFaceCamera(true) end if humanoid then humanoid.WalkSpeed = Settings.WalkSpeed humanoid.JumpPower = Settings.JumpPower end end) print("[Pulpo Script] Cargado completamente - Nueva UI + Todas las funciones") From JusTalk https://justalk.com/?p=it