local player = game:GetService("Players").LocalPlayer local gui = Instance.new("ScreenGui") gui.Name = "PanelLomunomis" gui.ResetOnSpawn = false gui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling gui.Parent = player:WaitForChild("PlayerGui") local numBotones = 6 local altoBoton = 66 local espaciado = 22 local margenSupInf = 22 local altoTitulo = altoBoton local panelHeight = margenSupInf + altoTitulo + espaciado + (numBotones * altoBoton) + ((numBotones - 1) * espaciado) + margenSupInf local panel = Instance.new("Frame") panel.Size = UDim2.new(0, 700, 0, panelHeight) panel.Position = UDim2.new(0.05, 0, 0.5, -panelHeight / 2) panel.BackgroundColor3 = Color3.fromRGB(170, 40, 120) panel.BorderColor3 = Color3.fromRGB(0, 170, 255) panel.BorderSizePixel = 3 panel.ZIndex = 10 panel.Parent = gui local titulo = Instance.new("TextLabel") titulo.Size = UDim2.new(1, -40, 0, altoTitulo) titulo.Position = UDim2.new(0, 20, 0, margenSupInf) titulo.BackgroundTransparency = 1 titulo.Text = "PANEL DE LOMUNOMIS" titulo.Font = Enum.Font.FredokaOne titulo.TextColor3 = Color3.fromRGB(0, 170, 255) titulo.TextSize = 58 titulo.TextWrapped = true titulo.ZIndex = 11 titulo.Parent = panel -- Estados local flyActive, ccActive, infiniteJump, xrayActive, superJumpActive = false, false, false, false, false local connections = {} local originalTransparency = {} local NORMAL_JUMPPOWER, SUPER_JUMPPOWER = 50, 180 local NORMAL_JUMPHEIGHT, SUPER_JUMPHEIGHT = 7.2, 24 -- Utilidades Noclip local function setNoCollideOnPart(part) if part:IsA("BasePart") then part.CanCollide = false end end local function setCollideOnPart(part) if part:IsA("BasePart") and part.Name ~= "Handle" and part.Name ~= "Head" then part.CanCollide = true end end local function applyNoClipToCharacter(char) for _, v in ipairs(char:GetDescendants()) do setNoCollideOnPart(v) end -- Asegurar que cualquier parte nueva también quede sin colisión if connections.noclipAdded then connections.noclipAdded:Disconnect() end connections.noclipAdded = char.DescendantAdded:Connect(function(obj) if ccActive then setNoCollideOnPart(obj) end end) end local function restoreCollisions(char) for _, v in ipairs(char:GetDescendants()) do setCollideOnPart(v) end if connections.noclipAdded then connections.noclipAdded:Disconnect() connections.noclipAdded = nil end end -- Reaplicar noclip al respawn si sigue activo if connections.charAdded then connections.charAdded:Disconnect() end connections.charAdded = player.CharacterAdded:Connect(function(newChar) if ccActive then -- Espera a que carguen las partes principales antes de aplicar newChar:WaitForChild("Humanoid", 5) newChar:WaitForChild("HumanoidRootPart", 5) applyNoClipToCharacter(newChar) end end) local acciones = { {"VOLAR", function() flyActive = not flyActive local char = player.Character if flyActive then connections.fly = game:GetService("RunService").RenderStepped:Connect(function() if not flyActive then return end char = player.Character local hrp = char and char:FindFirstChild("HumanoidRootPart") if not hrp then return end local UIS, cam, vel = game:GetService("UserInputService"), workspace.CurrentCamera, Vector3.zero if UIS:IsKeyDown(Enum.KeyCode.W) then vel += cam.CFrame.LookVector * 70 end if UIS:IsKeyDown(Enum.KeyCode.S) then vel -= cam.CFrame.LookVector * 70 end if UIS:IsKeyDown(Enum.KeyCode.A) then vel -= cam.CFrame.RightVector * 70 end if UIS:IsKeyDown(Enum.KeyCode.D) then vel += cam.CFrame.RightVector * 70 end if UIS:IsKeyDown(Enum.KeyCode.Space) then vel += Vector3.new(0, 70, 0) end hrp.Velocity = vel end) else if connections.fly then connections.fly:Disconnect(); connections.fly = nil end if char and char:FindFirstChild("HumanoidRootPart") then char.HumanoidRootPart.Velocity = Vector3.zero end end end}, {"CORRER", function() local hum = player.Character and player.Character:FindFirstChildOfClass("Humanoid") if hum then hum.WalkSpeed = hum.WalkSpeed <= 16 and 60 or 16 end end}, {"ATRAVESAR PAREDES", function() ccActive = not ccActive local char = player.Character if ccActive then connections.noclip = game:GetService("RunService").Stepped:Connect(function() if not ccActive then return end char = player.Character if char then for _,v in pairs(char:GetDescendants()) do if v:IsA("BasePart") and v.CanCollide then v.CanCollide = false end end end end) else if connections.noclip then connections.noclip:Disconnect(); connections.noclip = nil end if char then for _,v in pairs(char:GetDescendants()) do if v:IsA("BasePart") and v.Name ~= "Handle" and v.Name ~= "Head" then v.CanCollide = true end end end end end}, {"SUPER SALTO", function() local hum = player.Character and player.Character:FindFirstChildOfClass("Humanoid") if hum then superJumpActive = not superJumpActive if superJumpActive then hum.UseJumpPower = true hum.JumpPower = SUPER_JUMPPOWER hum.UseJumpPower = false hum.JumpHeight = SUPER_JUMPHEIGHT else hum.UseJumpPower = true hum.JumpPower = NORMAL_JUMPPOWER hum.UseJumpPower = false hum.JumpHeight = NORMAL_JUMPHEIGHT end end end}, {"SALTO INFINITO", function() infiniteJump = not infiniteJump if infiniteJump then connections.infjump = game:GetService("UserInputService").JumpRequest:Connect(function() local hum = player.Character and player.Character:FindFirstChildOfClass("Humanoid") if hum then hum:ChangeState(Enum.HumanoidStateType.Jumping) end end) else if connections.infjump then connections.infjump:Disconnect(); connections.infjump = nil end end end}, {"VER A TRAVÉS DE LAS PAREDES", function() xrayActive = not xrayActive local function esPared(obj) return obj:IsA("BasePart") and not obj:IsDescendantOf(player.Character) and obj.CanCollide and obj.Transparency < 0.95 end if xrayActive then originalTransparency = {} for _,v in pairs(workspace:GetDescendants()) do if esPared(v) then originalTransparency[v] = v.Transparency v.Transparency = 0.7 if v:IsA("BasePart") and v.ClassName ~= "MeshPart" then v.Material = Enum.Material.ForceField end end end else for v,transp in pairs(originalTransparency) do if v and v.Parent then v.Transparency = transp v.Material = Enum.Material.Plastic end end originalTransparency = {} end end}, } -- Crear botones for i, dat in ipairs(acciones) do local btn = Instance.new("TextButton") btn.Size = UDim2.new(1, -40, 0, altoBoton) btn.Position = UDim2.new(0, 20, 0, margenSupInf + altoTitulo + espaciado + (i - 1) * (altoBoton + espaciado)) btn.BackgroundColor3 = Color3.fromRGB(170, 40, 120) btn.BorderColor3 = Color3.fromRGB(0, 170, 255) btn.TextColor3 = Color3.fromRGB(0, 170, 255) btn.BorderSizePixel = 3 btn.Text = dat[1] btn.Font = Enum.Font.FredokaOne btn.TextSize = 42 btn.TextWrapped = true btn.ZIndex = 11 btn.Parent = panel btn.MouseButton1Click:Connect(dat[2]) end -- Bloqueador de avisos optimizado y persistente task.spawn(function() local pg = player:WaitForChild("PlayerGui") local cg = game:GetService("CoreGui") local function bloquear(v) if v:IsA("TextLabel") or v:IsA("TextButton") or v:IsA("ImageLabel") then local txt = string.lower(v.Text or "") if string.find(txt, "xeno") and string.find(txt, "update") then v.Text = "" v.Visible = false end end end -- Revisar lo que ya existe for _,v in ipairs(cg:GetDescendants()) do bloquear(v) end for _,v in ipairs(pg:GetDescendants()) do bloquear(v) end -- Escuchar nuevos objetos cg.DescendantAdded:Connect(bloquear) pg.DescendantAdded:Connect(bloquear) end)