-- Super Hub Leon | Versión corregida - Infinite Jump se guarda + Reset funciona local Rayfield = loadstring(game:HttpGet('https://sirius.menu/rayfield'))() local Window = Rayfield:CreateWindow({ Name = "Super Hub Leon", LoadingTitle = "Cargando Super Hub Leon...", LoadingSubtitle = "Todo persiste • Infinite Jump guardado • Reset arreglado", ConfigurationSaving = { Enabled = true, FolderName = "SuperHubLeon", FileName = "ConfigV14" }, KeySystem = false }) local MainTab = Window:CreateTab("Principal", 4483362458) -- Valores por defecto (se usan al resetear) local DefaultSettings = { WalkSpeed = 16, JumpPower = 50, InfiniteJump = false, Noclip = false, Fly = false, DayNight = false, -- false = Day, true = Night BodyLight = false, InfiniteYield = false, AntiAFK = false, AntiVoid = false } -- Variables actuales (se cargan desde Rayfield) local Settings = table.clone(DefaultSettings) local flySpeed = 50 local lastSafePosition = Vector3.new(0, 100, 0) local antiVoidConnection local antiAFKConn local infJumpConn local noclipConn local flying = false local bv, bg local bodyLightInstance = nil local player = game.Players.LocalPlayer local RunService = game:GetService("RunService") local UIS = game:GetService("UserInputService") local Lighting = game:GetService("Lighting") local VirtualUser = game:GetService("VirtualUser") local CheckpointCFrame = nil local SavedPositionCFrame = nil local CheckpointEnabled = false -- Helpers local function GetRoot() return player.Character and player.Character:FindFirstChild("HumanoidRootPart") end local function GetHumanoid() return player.Character and player.Character:FindFirstChildOfClass("Humanoid") end local function ApplyMovement() local hum = GetHumanoid() if hum then hum.WalkSpeed = Settings.WalkSpeed hum.JumpPower = Settings.JumpPower end end local function ApplyInfiniteJump(enable) if infJumpConn then infJumpConn:Disconnect() infJumpConn = nil end if enable then infJumpConn = UIS.JumpRequest:Connect(function() local hum = GetHumanoid() if hum then hum:ChangeState("Jumping") end end) end end local function ApplyNoclip(enable) if noclipConn then noclipConn:Disconnect() noclipConn = nil end if enable then noclipConn = RunService.Stepped:Connect(function() local char = player.Character if char then for _, part in ipairs(char:GetDescendants()) do if part:IsA("BasePart") then part.CanCollide = false end end end end) end end local function ApplyFly(enable) local root = GetRoot() if not root then return end if enable then bv = Instance.new("BodyVelocity", root) bv.MaxForce = Vector3.new(9e9,9e9,9e9) bv.Velocity = Vector3.zero bg = Instance.new("BodyGyro", root) bg.MaxTorque = Vector3.new(9e9,9e9,9e9) bg.P = 15000 bg.CFrame = root.CFrame local hum = GetHumanoid() if hum then hum.PlatformStand = true end flying = true task.spawn(function() while flying and root.Parent do bv.Velocity = workspace.CurrentCamera.CFrame.LookVector * flySpeed bg.CFrame = workspace.CurrentCamera.CFrame task.wait() end end) else flying = false if bv then bv:Destroy() end if bg then bg:Destroy() end local hum = GetHumanoid() if hum then hum.PlatformStand = false end end end local function ApplyDayNight(isNight) if isNight then Lighting.Brightness = 0.4 Lighting.ClockTime = 0 Lighting.Ambient = Color3.fromRGB(40,40,60) Lighting.OutdoorAmbient = Color3.fromRGB(30,30,50) Lighting.FogEnd = 300 else Lighting.Brightness = 2 Lighting.ClockTime = 12 Lighting.Ambient = Color3.fromRGB(180,180,180) Lighting.OutdoorAmbient = Color3.fromRGB(200,200,200) Lighting.FogEnd = 100000 end end local function ApplyBodyLight(enable) if bodyLightInstance then bodyLightInstance:Destroy() bodyLightInstance = nil end if enable then local root = GetRoot() if not root then return end local pl = Instance.new("PointLight", root) pl.Brightness = 25 pl.Range = 60 pl.Color = Color3.fromRGB(255,240,200) pl.Shadows = true local sl = Instance.new("SurfaceLight", root) sl.Brightness = 18 sl.Range = 45 sl.Color = Color3.fromRGB(255,245,210) sl.Face = Enum.NormalId.Top bodyLightInstance = pl -- solo para limpiar después end end local function ApplyInfiniteYield(enable) if enable and not infiniteYieldLoaded then infiniteYieldLoaded = true pcall(loadstring(game:HttpGet('https://raw.githubusercontent.com/EdgeIY/infiniteyield/master/source'))) end end local function ApplyAntiAFK(enable) if antiAFKConn then antiAFKConn:Disconnect() antiAFKConn = nil end if enable then antiAFKConn = player.Idled:Connect(function() VirtualUser:CaptureController() VirtualUser:ClickButton2(Vector2.new()) end) end end local function ApplyAntiVoid(enable) if antiVoidConnection then antiVoidConnection:Disconnect() antiVoidConnection = nil end if enable then antiVoidConnection = RunService.Heartbeat:Connect(function() local root = GetRoot() if not root then return end if root.Position.Y > Settings.AntiVoidHeight + 20 and root.AssemblyLinearVelocity.Y > -80 then lastSafePosition = root.Position end if root.Position.Y < Settings.AntiVoidHeight then root.CFrame = CFrame.new(lastSafePosition + Vector3.new(0, Settings.AntiVoidRespawnOffset, 0)) end end) end end -- Re-aplicar todo al respawn player.CharacterAdded:Connect(function(char) task.wait(0.8) local root = char:WaitForChild("HumanoidRootPart", 5) if not root then return end if CheckpointEnabled and CheckpointCFrame then root.CFrame = CheckpointCFrame end ApplyMovement() ApplyInfiniteJump(Settings.InfiniteJump) ApplyNoclip(Settings.Noclip) if Settings.Fly then task.spawn(ApplyFly, true) end ApplyBodyLight(Settings.BodyLight) ApplyAntiVoid(Settings.AntiVoid) end) -- Cargar configuración inicial y aplicar Rayfield:LoadConfiguration() -- Después de cargar, aplicar todo lo que esté activado task.spawn(function() task.wait(0.5) ApplyMovement() ApplyInfiniteJump(Settings.InfiniteJump) ApplyNoclip(Settings.Noclip) if Settings.Fly then ApplyFly(true) end ApplyDayNight(Settings.DayNight) ApplyBodyLight(Settings.BodyLight) ApplyAntiAFK(Settings.AntiAFK) ApplyAntiVoid(Settings.AntiVoid) if Settings.InfiniteYield then ApplyInfiniteYield(true) end end) if player.Character then task.delay(1, function() local root = GetRoot() if root then lastSafePosition = root.Position end end) end -- Interfaz (Flags iguales para que se guarden) MainTab:CreateSection("Movimiento") MainTab:CreateSlider({Name = "Velocidad", Range = {16, 300}, Increment = 5, Suffix = "", CurrentValue = Settings.WalkSpeed, Flag = "WalkSpeed", Callback = function(v) Settings.WalkSpeed = v ApplyMovement() end}) MainTab:CreateSlider({Name = "Salto", Range = {50, 300}, Increment = 5, Suffix = "", CurrentValue = Settings.JumpPower, Flag = "JumpPower", Callback = function(v) Settings.JumpPower = v ApplyMovement() end}) MainTab:CreateSection("Cheats") MainTab:CreateToggle({Name = "Infinite Jump", CurrentValue = Settings.InfiniteJump, Flag = "InfiniteJump", Callback = function(v) Settings.InfiniteJump = v ApplyInfiniteJump(v) end}) MainTab:CreateToggle({Name = "Noclip", CurrentValue = Settings.Noclip, Flag = "Noclip", Callback = function(v) Settings.Noclip = v ApplyNoclip(v) end}) MainTab:CreateToggle({Name = "Fly (mira y vuela)", CurrentValue = Settings.Fly, Flag = "Fly", Callback = function(v) Settings.Fly = v ApplyFly(v) end}) MainTab:CreateSlider({Name = "Velocidad Fly", Range = {20, 200}, Increment = 5, CurrentValue = flySpeed, Flag = "FlySpeed", Callback = function(v) flySpeed = v end}) MainTab:CreateSection("Visuales") MainTab:CreateToggle({Name = "Modo Noche", CurrentValue = Settings.DayNight, Flag = "DayNight", Callback = function(v) Settings.DayNight = v ApplyDayNight(v) end}) MainTab:CreateToggle({Name = "Luz muy fuerte en el cuerpo", CurrentValue = Settings.BodyLight, Flag = "BodyLight", Callback = function(v) Settings.BodyLight = v ApplyBodyLight(v) end}) MainTab:CreateSection("Protección") MainTab:CreateToggle({Name = "Anti-AFK", CurrentValue = Settings.AntiAFK, Flag = "AntiAFK", Callback = function(v) Settings.AntiAFK = v ApplyAntiAFK(v) end}) MainTab:CreateToggle({Name = "Anti-Void (no morir al caer)", CurrentValue = Settings.AntiVoid, Flag = "AntiVoid", Callback = function(v) Settings.AntiVoid = v ApplyAntiVoid(v) end}) MainTab:CreateSection("Extras") MainTab:CreateToggle({Name = "Activar Infinite Yield", CurrentValue = Settings.InfiniteYield, Flag = "InfiniteYield", Callback = function(v) Settings.InfiniteYield = v ApplyInfiniteYield(v) end}) MainTab:CreateSection("Checkpoints") MainTab:CreateButton({Name = "Guardar Checkpoint", Callback = function() local root = GetRoot() if root then CheckpointCFrame = root.CFrame Rayfield:Notify({Title="Checkpoint", Content="Guardado"}) end end}) MainTab:CreateToggle({Name = "Auto-respawn en checkpoint", CurrentValue = CheckpointEnabled, Flag = "CheckpointEnabled", Callback = function(v) CheckpointEnabled = v end}) MainTab:CreateButton({Name = "Guardar posición actual", Callback = function() local root = GetRoot() if root then SavedPositionCFrame = root.CFrame Rayfield:Notify({Title="Posición", Content="Guardada"}) end end}) MainTab:CreateButton({Name = "Teleport a posición guardada", Callback = function() local root = GetRoot() if root and SavedPositionCFrame then root.CFrame = SavedPositionCFrame + Vector3.new(0,5,0) end end}) MainTab:CreateSection("Configuración") MainTab:CreateButton({ Name = "Resetear TODOS los ajustes a valores por defecto", Callback = function() Rayfield:DeleteConfiguration() -- Borra el archivo guardado -- Restaurar valores por defecto for k, v in pairs(DefaultSettings) do Settings[k] = v end flySpeed = 50 -- Aplicar defaults inmediatamente ApplyMovement() ApplyInfiniteJump(false) ApplyNoclip(false) ApplyFly(false) ApplyDayNight(false) ApplyBodyLight(false) ApplyAntiAFK(false) ApplyAntiVoid(false) -- Limpiar toggles visuales (Rayfield no los resetea solos) Rayfield:Notify({ Title = "Ajustes reseteados", Content = "Todos los valores volvieron a por defecto\nPuedes volver a activar lo que quieras", Duration = 5 }) end }) Rayfield:Notify({ Title = "Super Hub Leon Cargado", Content = "Infinite Jump ahora se guarda correctamente\nBotón de reset arreglado y funcional", Duration = 6 })