local Rayfield = loadstring(game:HttpGet('https://sirius.menu/rayfield'))() local Window = Rayfield:CreateWindow({ Name = "Universal Hub", LoadingTitle = "Carregando Script...", LoadingSubtitle = "by henrique", ConfigurationSaving = { Enabled = false, FolderName = nil, FileName = "UniversalHub" }, Discord = { Enabled = false, Invite = "noinvitelink", RememberJoins = true }, KeySystem = false }) -- ==================== VARIÁVEIS E SERVIÇOS ==================== local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local Lighting = game:GetService("Lighting") local Workspace = game:GetService("Workspace") local LocalPlayer = Players.LocalPlayer local Mouse = LocalPlayer:GetMouse() local Camera = Workspace.CurrentCamera -- Estados local originalMaterials = {} local espEnabled = false local espColor = Color3.fromRGB(255, 0, 0) local clickTPEnabled = false local infJumpEnabled = false local speedAccumulatorEnabled = false local noclipEnabled = false local flingEnabled = false local humanoidStandEnabled = true -- Começa em pé local instantPromptEnabled = false local aimbotEnabled = false local clickTpPlayerEnabled = false local promptConnections = {} local originalPromptDurations = {} local noclipConnection = nil local flingConnection = nil local fullbrightConnection = nil local originalLightingSettings = {} local currentAnimId = "" -- Função para pegar o jogador mais próximo do mouse na tela (Ignora paredes no 2D) local function getClosestPlayerToCursor() local closestPlayer = nil local shortestDistance = math.huge for _, v in pairs(Players:GetPlayers()) do if v ~= LocalPlayer and v.Character and v.Character:FindFirstChild("Head") and v.Character:FindFirstChild("Humanoid") and v.Character.Humanoid.Health > 0 then -- Pega a posição do jogador na tela local pos, onScreen = Camera:WorldToViewportPoint(v.Character.Head.Position) if onScreen then -- Calcula a distância entre o mouse e o jogador na tela local distance = (Vector2.new(Mouse.X, Mouse.Y) - Vector2.new(pos.X, pos.Y)).Magnitude if distance < shortestDistance then closestPlayer = v shortestDistance = distance end end end end return closestPlayer end -- ==================== TABS ==================== local TabPrincipal = Window:CreateTab("Principal", 4483362458) local TabPlayer = Window:CreateTab("Player", 4483362458) -- ==================== TAB PRINCIPAL ==================== TabPrincipal:CreateToggle({ Name = "Aimbot (Segurar Botão Direito)", CurrentValue = false, Flag = "AimbotToggle", Callback = function(Value) aimbotEnabled = Value end, }) TabPrincipal:CreateToggle({ Name = "Click TP em Players (Ctrl + Click)", CurrentValue = false, Flag = "ClickTPToggle", Callback = function(Value) clickTpPlayerEnabled = Value end, }) TabPrincipal:CreateToggle({ Name = "X-Ray (Transparência 0.5)", CurrentValue = false, Flag = "XRayToggle", Callback = function(Value) if Value then for _, v in pairs(Workspace:GetDescendants()) do if v:IsA("BasePart") and not v.Parent:FindFirstChild("Humanoid") then if not originalMaterials[v] then originalMaterials[v] = {Transparency = v.Transparency, Material = v.Material} end v.Transparency = 0.5 v.Material = Enum.Material.ForceField end end else for v, props in pairs(originalMaterials) do if v and v.Parent then v.Transparency = props.Transparency v.Material = props.Material end end originalMaterials = {} end end, }) TabPrincipal:CreateToggle({ Name = "No Fog", CurrentValue = false, Flag = "NoFogToggle", Callback = function(Value) if Value then Lighting.FogEnd = 1000000 else Lighting.FogEnd = 1000 end end, }) TabPrincipal:CreateToggle({ Name = "Shadows", CurrentValue = true, Flag = "ShadowsToggle", Callback = function(Value) Lighting.GlobalShadows = Value end }) TabPrincipal:CreateToggle({ Name = "Fullbright", CurrentValue = false, Flag = "FullbrightToggle", Callback = function(Value) if Value then originalLightingSettings.Ambient = Lighting.Ambient originalLightingSettings.OutdoorAmbient = Lighting.OutdoorAmbient originalLightingSettings.Brightness = Lighting.Brightness originalLightingSettings.ClockTime = Lighting.ClockTime fullbrightConnection = RunService.RenderStepped:Connect(function() Lighting.Ambient = Color3.fromRGB(255, 255, 255) Lighting.OutdoorAmbient = Color3.fromRGB(255, 255, 255) Lighting.Brightness = 2 Lighting.ClockTime = 14 end) else if fullbrightConnection then fullbrightConnection:Disconnect() end if originalLightingSettings.Ambient then Lighting.Ambient = originalLightingSettings.Ambient Lighting.OutdoorAmbient = originalLightingSettings.OutdoorAmbient Lighting.Brightness = originalLightingSettings.Brightness Lighting.ClockTime = originalLightingSettings.ClockTime end end end, }) TabPrincipal:CreateToggle({ Name = "ESP Players", CurrentValue = false, Flag = "ESPToggle", Callback = function(Value) espEnabled = Value if not Value then for _, player in pairs(Players:GetPlayers()) do if player.Character and player.Character:FindFirstChild("ESPHighlight") then player.Character.ESPHighlight:Destroy() end end end end, }) TabPrincipal:CreateColorPicker({ Name = "Cor do ESP", Color = Color3.fromRGB(255,0,0), Flag = "ESPColor", Callback = function(Value) espColor = Value end }) TabPrincipal:CreateInput({ Name = "Modificar Gravidade", PlaceholderText = "Padrão: 196.2", RemoveTextAfterFocusLost = false, Callback = function(Text) local num = tonumber(Text) if num then Workspace.Gravity = num end end, }) TabPrincipal:CreateToggle({ Name = "Prompt Instantâneo (Tempo 0)", CurrentValue = false, Flag = "InstantPromptToggle", Callback = function(Value) instantPromptEnabled = Value if instantPromptEnabled then for _, prompt in pairs(Workspace:GetDescendants()) do if prompt:IsA("ProximityPrompt") then originalPromptDurations[prompt] = prompt.HoldDuration prompt.HoldDuration = 0 end end promptConnections[1] = Workspace.DescendantAdded:Connect(function(d) if d:IsA("ProximityPrompt") then task.wait(0.1) d.HoldDuration = 0 end end) else if promptConnections[1] then promptConnections[1]:Disconnect() end for prompt, duration in pairs(originalPromptDurations) do if prompt and prompt.Parent then prompt.HoldDuration = duration end end originalPromptDurations = {} end end, }) -- ==================== TAB PLAYER ==================== TabPlayer:CreateSlider({ Name = "WalkSpeed", Range = {16, 500}, Increment = 1, CurrentValue = 16, Callback = function(Value) if LocalPlayer.Character:FindFirstChild("Humanoid") then LocalPlayer.Character.Humanoid.WalkSpeed = Value end end, }) TabPlayer:CreateToggle({ Name = "Velocidade Progressiva (+1)", CurrentValue = false, Flag = "SpeedAcc", Callback = function(Value) speedAccumulatorEnabled = Value end, }) TabPlayer:CreateSlider({ Name = "JumpPower", Range = {50, 500}, Increment = 1, CurrentValue = 50, Callback = function(Value) if LocalPlayer.Character:FindFirstChild("Humanoid") then LocalPlayer.Character.Humanoid.UseJumpPower = true LocalPlayer.Character.Humanoid.JumpPower = Value end end, }) TabPlayer:CreateToggle({ Name = "Pulo Infinito", CurrentValue = false, Callback = function(Value) infJumpEnabled = Value end, }) TabPlayer:CreateToggle({ Name = "Noclip", CurrentValue = false, Callback = function(Value) noclipEnabled = Value if noclipEnabled then noclipConnection = RunService.Stepped:Connect(function() if LocalPlayer.Character then for _, part in pairs(LocalPlayer.Character:GetDescendants()) do if part:IsA("BasePart") then part.CanCollide = false end end end end) else if noclipConnection then noclipConnection:Disconnect() noclipConnection = nil end if LocalPlayer.Character then local vitalParts = { "Torso", "UpperTorso", "LowerTorso", "Head", "Left Leg", "Right Leg", "LeftUpperLeg", "RightUpperLeg", "LeftLowerLeg", "RightLowerLeg", "LeftFoot", "RightFoot" } for _, partName in pairs(vitalParts) do local part = LocalPlayer.Character:FindFirstChild(partName) if part and part:IsA("BasePart") then part.CanCollide = true end end end end end, }) TabPlayer:CreateToggle({ Name = "Humanoid Stand (Ativado = Em Pé)", CurrentValue = true, Flag = "HumanoidStandToggle", Callback = function(Value) humanoidStandEnabled = Value if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid") then local humanoid = LocalPlayer.Character.Humanoid if humanoidStandEnabled then humanoid.PlatformStand = false humanoid:ChangeState(Enum.HumanoidStateType.GettingUp) else humanoid.PlatformStand = true humanoid:ChangeState(Enum.HumanoidStateType.Physics) end end end, }) TabPlayer:CreateInput({ Name = "ID da Animação", PlaceholderText = "ID...", RemoveTextAfterFocusLost = false, Callback = function(Text) currentAnimId = Text end, }) TabPlayer:CreateButton({ Name = "Play Animação", Callback = function() if currentAnimId ~= "" and LocalPlayer.Character then local humanoid = LocalPlayer.Character:FindFirstChildOfClass("Humanoid") if humanoid then local anim = Instance.new("Animation") anim.AnimationId = "rbxassetid://" .. currentAnimId humanoid:LoadAnimation(anim):Play() end end end, }) -- ==================== EVENTOS DE INPUT ==================== UserInputService.InputBegan:Connect(function(input, gameProcessed) -- Pulo Infinito if input.KeyCode == Enum.KeyCode.Space and not gameProcessed then if infJumpEnabled and LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid") then LocalPlayer.Character.Humanoid:ChangeState(Enum.HumanoidStateType.Jumping) end end -- Click TP através das paredes (Ativado com Ctrl + Clique esquerdo) if input.UserInputType == Enum.UserInputType.MouseButton1 and clickTpPlayerEnabled and not gameProcessed then -- Exigimos que a tecla Ctrl esteja pressionada para não bugar o tiro/clique normal do jogador if UserInputService:IsKeyDown(Enum.KeyCode.LeftControl) or UserInputService:IsKeyDown(Enum.KeyCode.RightControl) then local target = getClosestPlayerToCursor() if target and target.Character and target.Character:FindFirstChild("HumanoidRootPart") then if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then -- Teleporta você para as costas do jogador alvo LocalPlayer.Character.HumanoidRootPart.CFrame = target.Character.HumanoidRootPart.CFrame * CFrame.new(0, 0, 3) end end end end end) -- ==================== LOOPS DE SUPORTE ==================== RunService.RenderStepped:Connect(function() -- Aimbot (Mira Automática na Cabeça apenas segurando Botão Direito) if aimbotEnabled and UserInputService:IsMouseButtonPressed(Enum.UserInputType.MouseButton2) then local target = getClosestPlayerToCursor() if target and target.Character and target.Character:FindFirstChild("Head") then Camera.CFrame = CFrame.new(Camera.CFrame.Position, target.Character.Head.Position) end end -- Loop ESP if espEnabled then for _, player in pairs(Players:GetPlayers()) do if player ~= LocalPlayer and player.Character and player.Character:FindFirstChild("HumanoidRootPart") then local highlight = player.Character:FindFirstChild("ESPHighlight") or Instance.new("Highlight", player.Character) highlight.Name = "ESPHighlight" highlight.FillColor = espColor highlight.OutlineColor = espColor highlight.FillTransparency = 0.5 end end end -- Loop Velocidade Progressiva (+1) if speedAccumulatorEnabled and LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid") then local hum = LocalPlayer.Character.Humanoid if hum.MoveDirection.Magnitude > 0 then hum.WalkSpeed = hum.WalkSpeed + 0.1 end end -- Suporte do Humanoid Stand INFINITO if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid") then local humanoid = LocalPlayer.Character.Humanoid if humanoidStandEnabled then if humanoid.PlatformStand then humanoid.PlatformStand = false end else if not humanoid.PlatformStand then humanoid.PlatformStand = true end if humanoid:GetState() ~= Enum.HumanoidStateType.Physics then humanoid:ChangeState(Enum.HumanoidStateType.Physics) end end end end) Rayfield:LoadConfiguration()