--[[ WARNING: Heads up! This script has not been verified by ScriptBlox. Use at your own risk! ]] -- [1] CONFIGURAÇÃO E INTERFACE local Players = game:GetService("Players") local RunService = game:GetService("RunService") local LocalPlayer = Players.LocalPlayer -- !!! CORREÇÃO: VARIÁVEIS DE ESTADO FALTANDO !!! local OrbitState = 0 -- 0: OFF, 1: ATIVO, 2: TRAVADO local LockedPosition = nil -- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! local itemsInRing = {} local targetPlayerName = "" -- Inicializando com valores padrão local config = { radius = 10, radius2 = 10, speed = 15, targetRadius = 50, height = 1, height2 = 1 } local ScreenGui = Instance.new("ScreenGui", game:GetService("CoreGui")) local MainFrame = Instance.new("Frame", ScreenGui) MainFrame.Size = UDim2.new(0, 220, 0, 400) MainFrame.Position = UDim2.new(0.5, -110, 0.5, -200) MainFrame.BackgroundColor3 = Color3.new(0, 0, 0) MainFrame.BackgroundTransparency = 0.2 Instance.new("UICorner", MainFrame).CornerRadius = UDim.new(0, 20) MainFrame.Active, MainFrame.Draggable = true, true local Title = Instance.new("TextLabel", MainFrame) Title.Size = UDim2.new(1, 0, 0, 40) Title.Text = "ÓRBITA ELITE V7.8" Title.TextColor3 = Color3.new(1, 1, 1) Title.BackgroundTransparency = 1 Title.Font = Enum.Font.GothamBold Title.TextSize = 18 local Toggle = Instance.new("TextButton", MainFrame) Toggle.Size = UDim2.new(0.9, 0, 0, 45) Toggle.Position = UDim2.new(0.05, 0, 0.12, 0) Toggle.Text = "ÓRBITA: OFF" Toggle.BackgroundColor3 = Color3.fromRGB(255, 0, 0) Toggle.TextColor3 = Color3.new(1, 1, 1) Toggle.Font = Enum.Font.GothamBold Instance.new("UICorner", Toggle).CornerRadius = UDim.new(0, 10) -- [ NOVO TECLADO DUPLO DE DISTÂNCIA ] local labelDist = Instance.new("TextLabel", MainFrame) labelDist.Size = UDim2.new(0.9, 0, 0, 15) labelDist.Position = UDim2.new(0.05, 0, 0.32, -8) labelDist.Text = "Distâncias (Alternadas)" labelDist.TextColor3 = Color3.fromRGB(200, 200, 200) labelDist.BackgroundTransparency = 1 labelDist.Font = Enum.Font.Gotham labelDist.TextSize = 12 local InRad1 = Instance.new("TextBox", MainFrame) InRad1.Size = UDim2.new(0.43, 0, 0, 35) InRad1.Position = UDim2.new(0.05, 0, 0.32, 10) InRad1.Text = "10" InRad1.BackgroundColor3 = Color3.fromRGB(30, 30, 30) InRad1.TextColor3 = Color3.new(1, 1, 1) Instance.new("UICorner", InRad1) local InRad2 = Instance.new("TextBox", MainFrame) InRad2.Size = UDim2.new(0.43, 0, 0, 35) InRad2.Position = UDim2.new(0.52, 0, 0.32, 10) InRad2.Text = "10" InRad2.BackgroundColor3 = Color3.fromRGB(30, 30, 30) InRad2.TextColor3 = Color3.new(1, 1, 1) Instance.new("UICorner", InRad2) -- [ BOTÃO GATILHO - DOURADO NO CANTO INFERIOR ] -- [ BOTÃO GATILHO ] local SideToggle = Instance.new("TextButton", MainFrame) SideToggle.Size = UDim2.new(0, 30, 0, 30) SideToggle.Position = UDim2.new(1, -35, 1, -35) SideToggle.Text = ">" SideToggle.BackgroundColor3 = Color3.fromRGB(212, 175, 55) SideToggle.TextColor3 = Color3.new(0, 0, 0) SideToggle.Font = Enum.Font.GothamBold SideToggle.ZIndex = 2 Instance.new("UICorner", SideToggle).CornerRadius = UDim.new(1, 0) -- [ MENU LATERAL COM ROLAGEM POR ARRASTO ] local SideMenu = Instance.new("ScrollingFrame", MainFrame) -- Mudado para ScrollingFrame SideMenu.Name = "SideMenu" SideMenu.Size = UDim2.new(0, 150, 0, 150) SideMenu.Position = UDim2.new(1, 10, 1, -150) SideMenu.BackgroundColor3 = Color3.new(0, 0, 0) SideMenu.BackgroundTransparency = 0.2 SideMenu.Visible = false SideMenu.BorderSizePixel = 0 SideMenu.ScrollBarThickness = 0 -- Esconde a barra para ficar limpo SideMenu.ScrollingDirection = Enum.ScrollingDirection.Y -- Só sobe e desce SideMenu.CanvasSize = UDim2.new(0, 0, 0, 400) -- TAMANHO TOTAL INTERNO (Aumente aqui para caber mais funções) SideMenu.MidImage = "" -- Remove imagens padrão de scroll SideMenu.TopImage = "" SideMenu.BottomImage = "" Instance.new("UICorner", SideMenu).CornerRadius = UDim.new(0, 15) -- [ BOTÃO VOLTAR ] local BackBtn = Instance.new("TextButton", SideMenu) BackBtn.Size = UDim2.new(1, 0, 0, 30) BackBtn.Text = "< Voltar" BackBtn.BackgroundColor3 = Color3.fromRGB(150, 0, 0) BackBtn.TextColor3 = Color3.new(1, 1, 1) BackBtn.Font = Enum.Font.GothamBold Instance.new("UICorner", BackBtn).CornerRadius = UDim.new(0, 10) -- [ SISTEMA DE ABRIR/FECHAR ] SideToggle.MouseButton1Click:Connect(function() SideMenu.Visible = true SideMenu:TweenPosition(UDim2.new(1, 5, 1, -150), "Out", "Back", 0.4, true) end) BackBtn.MouseButton1Click:Connect(function() SideMenu:TweenPosition(UDim2.new(1, 10, 1, -150), "In", "Quad", 0.3, true, function() SideMenu.Visible = false end) end) -- [ BOTÃO FLY DENTRO DO SIDE MENU ] local FlyBtn = Instance.new("TextButton", SideMenu) FlyBtn.Size = UDim2.new(0.9, 0, 0, 35) FlyBtn.Position = UDim2.new(0.05, 0, 0, 40) -- Posicionado abaixo do botão Voltar FlyBtn.Text = "Ativar Fly" FlyBtn.BackgroundColor3 = Color3.fromRGB(30, 30, 30) -- Preto suave FlyBtn.TextColor3 = Color3.new(1, 1, 1) FlyBtn.Font = Enum.Font.GothamBold FlyBtn.TextSize = 14 Instance.new("UICorner", FlyBtn).CornerRadius = UDim.new(0, 8) -- [ FUNÇÃO DE EXECUÇÃO ] FlyBtn.MouseButton1Click:Connect(function() FlyBtn.Text = "Carregando..." pcall(function() loadstring(game:HttpGet("https://raw.githubusercontent.com/XNEOFF/FlyGuiV3/main/FlyGuiV3.txt"))() end) task.wait(1) FlyBtn.Text = "Fly Ativado" FlyBtn.BackgroundColor3 = Color3.fromRGB(0, 150, 0) -- Fica verde ao ativar end) -- [ BOTÃO FLING ALL DENTRO DO SIDE MENU ] local FlingBtn = Instance.new("TextButton", SideMenu) FlingBtn.Size = UDim2.new(0.9, 0, 0, 35) -- Posição alterada para mais embaixo (0.55) FlingBtn.Position = UDim2.new(0.05, 0, 0, 85) FlingBtn.Text = "Fling All" FlingBtn.BackgroundColor3 = Color3.fromRGB(30, 30, 30) FlingBtn.TextColor3 = Color3.new(1, 1, 1) FlingBtn.Font = Enum.Font.GothamBold FlingBtn.TextSize = 14 Instance.new("UICorner", FlingBtn).CornerRadius = UDim.new(0, 8) -- [ FUNÇÃO DE EXECUÇÃO FLING ALL ] FlingBtn.MouseButton1Click:Connect(function() FlingBtn.Text = "Executando..." pcall(function() loadstring(game:HttpGet("https://pastebin.com/raw/zqyDSUWX"))() end) task.wait(1) FlingBtn.Text = "Fling All OK" FlingBtn.BackgroundColor3 = Color3.fromRGB(0, 150, 0) -- Fica verde ao executar end) local FPSBtn = Instance.new("TextButton", SideMenu) FPSBtn.Size = UDim2.new(0.9, 0, 0, 35) FPSBtn.Position = UDim2.new(0.05, 0, 0, 130) -- Posicionado abaixo do Fling All FPSBtn.Text = "FPSBoost" FPSBtn.BackgroundColor3 = Color3.fromRGB(30, 30, 30) FPSBtn.TextColor3 = Color3.new(1, 1, 1) FPSBtn.Font = Enum.Font.GothamBold FPSBtn.TextSize = 14 Instance.new("UICorner", FPSBtn).CornerRadius = UDim.new(0, 8) local fpsActivated = false FPSBtn.MouseButton1Click:Connect(function() if not fpsActivated then fpsActivated = true FPSBtn.Text = "Aplicando..." FPSBtn.BackgroundColor3 = Color3.fromRGB(150, 100, 0) pcall(function() loadstring(game:HttpGet("https://rawscripts.net/raw/Universal-Script-FpsBoost-9260"))() end) task.wait(1) FPSBtn.Text = "FPS Ativado" FPSBtn.BackgroundColor3 = Color3.fromRGB(0, 150, 0) else FPSBtn.Text = "Já Ativado!" task.wait(1) FPSBtn.Text = "FPSBoost" end end) -- [ BOTÃO SUPER RING OLD ] local SuperRingBtn = Instance.new("TextButton", SideMenu) SuperRingBtn.Size = UDim2.new(0.9, 0, 0, 35) SuperRingBtn.Position = UDim2.new(0.05, 0, 0, 175) -- Posicionado abaixo do FPSBoost SuperRingBtn.Text = "Super Ring Old" SuperRingBtn.BackgroundColor3 = Color3.fromRGB(30, 30, 30) SuperRingBtn.TextColor3 = Color3.new(1, 1, 1) SuperRingBtn.Font = Enum.Font.GothamBold SuperRingBtn.TextSize = 14 Instance.new("UICorner", SuperRingBtn).CornerRadius = UDim.new(0, 8) -- Variável para guardar o script atual e poder pará-lo local currentSuperRingThread = nil -- [ FUNÇÃO DE EXECUÇÃO SUPER RING OLD ] SuperRingBtn.MouseButton1Click:Connect(function() SuperRingBtn.Text = "Ativando..." SuperRingBtn.BackgroundColor3 = Color3.fromRGB(150, 0, 0) -- Vermelho ao clicar -- Tenta parar a thread antiga se ela existir para evitar conflitos if currentSuperRingThread then task.cancel(currentSuperRingThread) end -- Inicia uma nova thread para o script currentSuperRingThread = task.spawn(function() local success, result = pcall(function() -- ATUALIZADO: Verificando e lendo "Script_24.txt" if isfile and isfile("Script_24.txt") then local scriptContent = readfile("Script_24.txt") local func = loadstring(scriptContent) if func then func() else error("Erro ao carregar o script (Loadstring falhou)") end else error("Arquivo Script_24.txt não encontrado") end end) if success then SuperRingBtn.Text = "Super Ring OK" SuperRingBtn.BackgroundColor3 = Color3.fromRGB(0, 150, 0) -- Verde ao ativar else warn("Erro no SuperRing: " .. tostring(result)) SuperRingBtn.Text = "Erro!" SuperRingBtn.BackgroundColor3 = Color3.fromRGB(50, 0, 0) task.wait(2) SuperRingBtn.Text = "Super Ring Old" SuperRingBtn.BackgroundColor3 = Color3.fromRGB(30, 30, 30) end end) end) -- [ BOTÃO ADMIN PLAY ] local AdminBtn = Instance.new("TextButton", SideMenu) AdminBtn.Size = UDim2.new(0.9, 0, 0, 35) AdminBtn.Position = UDim2.new(0.05, 0, 0, 220) -- Posicionado abaixo do Super Ring Old AdminBtn.Text = "Admin Play" AdminBtn.BackgroundColor3 = Color3.fromRGB(30, 30, 30) AdminBtn.TextColor3 = Color3.new(1, 1, 1) AdminBtn.Font = Enum.Font.GothamBold AdminBtn.TextSize = 14 Instance.new("UICorner", AdminBtn).CornerRadius = UDim.new(0, 8) -- [ FUNÇÃO DE EXECUÇÃO ADMIN PLAY ] AdminBtn.MouseButton1Click:Connect(function() AdminBtn.Text = "Ativando..." pcall(function() loadstring(readfile("Script_1.txt"))() end) task.wait(1) AdminBtn.Text = "Admin Ativado" AdminBtn.BackgroundColor3 = Color3.fromRGB(0, 150, 0) -- Verde ao ativar end) local function createInput(name, pos, default) local label = Instance.new("TextLabel", MainFrame) label.Size, label.Position = UDim2.new(0.9, 0, 0, 15), UDim2.new(0.05, 0, pos.Y.Scale, pos.Y.Offset - 18) label.Text, label.TextColor3, label.BackgroundTransparency = name, Color3.fromRGB(200, 200, 200), 1 label.Font, label.TextSize = Enum.Font.Gotham, 12 local box = Instance.new("TextBox", MainFrame) box.Size, box.Position, box.Text = UDim2.new(0.9, 0, 0, 35), pos, default box.BackgroundColor3, box.TextColor3 = Color3.fromRGB(30, 30, 30), Color3.new(1, 1, 1) Instance.new("UICorner", box).CornerRadius = UDim.new(0, 8) return box end -- [ AJUSTE DE POSIÇÃO DOS INPUTS ] local InSpeed = createInput("Velocidade Giro", UDim2.new(0.05, 0, 0.47, 10), "15") local InTarget = createInput("Raio de Ataque (Auto)", UDim2.new(0.05, 0, 0.62, 10), "50") local InPlayer = createInput("Alvo Específico (Digite Nome)", UDim2.new(0.05, 0, 0.77, 10), "") -- [ NOVO TECLADO DUPLO DE ALTURA VERTICAL ] local labelHeight = Instance.new("TextLabel", MainFrame) labelHeight.Size = UDim2.new(0.9, 0, 0, 15) labelHeight.Position = UDim2.new(0.05, 0, 0.87, -8) labelHeight.Text = "Alturas (Alternadas)" labelHeight.TextColor3 = Color3.fromRGB(200, 200, 200) labelHeight.BackgroundTransparency = 1 labelHeight.Font = Enum.Font.Gotham labelHeight.TextSize = 12 local InHeight1 = Instance.new("TextBox", MainFrame) InHeight1.Size = UDim2.new(0.43, 0, 0, 35) InHeight1.Position = UDim2.new(0.05, 0, 0.87, 10) InHeight1.Text = "1" InHeight1.BackgroundColor3 = Color3.fromRGB(30, 30, 30) InHeight1.TextColor3 = Color3.new(1, 1, 1) Instance.new("UICorner", InHeight1) local InHeight2 = Instance.new("TextBox", MainFrame) InHeight2.Size = UDim2.new(0.43, 0, 0, 35) InHeight2.Position = UDim2.new(0.52, 0, 0.87, 10) InHeight2.Text = "1" InHeight2.BackgroundColor3 = Color3.fromRGB(30, 30, 30) InHeight2.TextColor3 = Color3.new(1, 1, 1) Instance.new("UICorner", InHeight2) -- [2] BUSCA DE JOGADOR local function getPlayer(str) str = str:lower() for _, v in pairs(Players:GetPlayers()) do if v.Name:lower():sub(1, #str) == str or v.DisplayName:lower():sub(1, #str) == str then return v end end return nil end InPlayer.FocusLost:Connect(function() local p = getPlayer(InPlayer.Text) if p then targetPlayerName = p.Name InPlayer.Text = p.DisplayName else targetPlayerName = "" InPlayer.Text = "" end end) Players.PlayerRemoving:Connect(function(player) if player.Name == targetPlayerName then targetPlayerName = "" InPlayer.Text = "" end end) -- [-- [ INICIALIZAÇÃO DA TABELA DE BUSCA RÁPIDA ] if not _G.itemsInRingLookup then _G.itemsInRingLookup = {} end local itemsInRingLookup = _G.itemsInRingLookup local MAX_ITEMS_PER_LOOP = 50 -- Limita quantos itens novos processamos por vez task.spawn(function() while true do if OrbitState ~= 0 then local char = LocalPlayer.Character local root = char and char:FindFirstChild("HumanoidRootPart") if root then -- [ OTIMIZAÇÃO E DISTÂNCIA INFINITA ] settings().Physics.AllowSleep = false pcall(function() sethiddenproperty(LocalPlayer, "SimulationRadius", math.huge) sethiddenproperty(LocalPlayer, "MaxSimulationRadius", math.huge) end) -- [ OTIMIZAÇÃO: RAIO REDUZIDO ] -- Não precisamos de 100000, 5000 é suficiente para cobrir mapas grandes. local parts = workspace:GetPartBoundsInRadius(root.Position, 5000) local itemsProcessed = 0 for _, item in pairs(parts) do -- Limite de processamento para não travar if itemsProcessed >= MAX_ITEMS_PER_LOOP then break end if item:IsA("BasePart") and not item.Anchored and not item:IsDescendantOf(char) then -- Verificação rápida if not itemsInRingLookup[item] then item.Velocity = Vector3.new(0, 0, 0) table.insert(itemsInRing, item) itemsInRingLookup[item] = true itemsProcessed = itemsProcessed + 1 end end end -- [ LIMPEZA DE ITENS INVÁLIDOS (OTIMIZADO) ] -- Limpa apenas os primeiros 10 itens inválidos por loop para não travar local cleaned = 0 for i = #itemsInRing, 1, -1 do if cleaned > 10 then break end local item = itemsInRing[i] if not item or not item.Parent then itemsInRingLookup[item] = nil table.remove(itemsInRing, i) cleaned = cleaned + 1 end end end end -- Tempo de espera maior para estabilidade task.wait(0.7) end end) -- [4] LÓGICA DO BOTÃO (3 ESTADOS) Toggle.MouseButton1Click:Connect(function() local char = LocalPlayer.Character local root = char and char:FindFirstChild("HumanoidRootPart") if not root then return end if OrbitState == 0 then -- ATIVAR OrbitState = 1 Toggle.Text = "ÓRBITA: ATIVA" Toggle.BackgroundColor3 = Color3.fromRGB(0, 200, 0) Toggle.TextColor3 = Color3.new(1, 1, 1) elseif OrbitState == 1 then -- TRAVAR OrbitState = 2 LockedPosition = root.Position Toggle.Text = "ÓRBITA: TRAVADA" Toggle.BackgroundColor3 = Color3.fromRGB(255, 255, 0) Toggle.TextColor3 = Color3.new(0, 0, 0) else -- DESLIGAR OrbitState = 0 LockedPosition = nil Toggle.Text = "ÓRBITA: OFF" Toggle.BackgroundColor3 = Color3.fromRGB(255, 0, 0) Toggle.TextColor3 = Color3.new(1, 1, 1) for _, v in pairs(itemsInRing) do if v:FindFirstChild("OrbitBP") then v.OrbitBP:Destroy() end end itemsInRing = {} end end) -- [5] LÓGICA DE FÍSICA (AGRESSIVA + ALTERNÂNCIA DUPLA) RunService.Stepped:Connect(function() if OrbitState == 0 then return end local char = LocalPlayer.Character local root = char and char:FindFirstChild("HumanoidRootPart") if not root then return end -- COLISÃO for _, v in ipairs(char:GetChildren()) do if v:IsA("BasePart") then v.CanCollide = false end end -- ALVO local targetPart = root if OrbitState == 2 and LockedPosition then targetPart = {Position = LockedPosition} elseif targetPlayerName ~= "" then local p = Players:FindFirstChild(targetPlayerName) if p and p.Character and p.Character:FindFirstChild("HumanoidRootPart") then targetPart = p.Character.HumanoidRootPart end else local closestDist = config.targetRadius for _, p in ipairs(Players:GetPlayers()) do if p ~= LocalPlayer and p.Character and p.Character:FindFirstChild("HumanoidRootPart") then local dist = (root.Position - p.Character.HumanoidRootPart.Position).Magnitude if dist < closestDist then closestDist = dist targetPart = p.Character.HumanoidRootPart end end end end -- [ ALTERNÂNCIA DE RAIO E ALTURA A CADA SEGUNDO ] local r1 = tonumber(InRad1.Text) or 10 local r2 = tonumber(InRad2.Text) or 10 local h1 = tonumber(InHeight1.Text) or 1 local h2 = tonumber(InHeight2.Text) or 1 -- Lógica de alternância baseada no tempo real (tick) local isEven = (math.floor(tick()) % 2 == 0) local currentRadius = isEven and r1 or r2 local currentHeight = isEven and h1 or h2 -- FÍSICA AGRESSIVA for i = #itemsInRing, 1, -1 do local item = itemsInRing[i] if item and item.Parent and not item.Anchored then local bp = item:FindFirstChild("OrbitBP") or Instance.new("BodyPosition", item) bp.Name = "OrbitBP" -- !!! CONFIGURAÇÃO DE FORÇA BRUTA MÁXIMA !!! -- math.huge define o valor como infinito, garantindo rigidez total bp.MaxForce = Vector3.new(math.huge, math.huge, math.huge) bp.P = 1e10 -- Potência alta para resposta rápida bp.D = 500 -- Amortecimento aumentado para evitar vibração (bug) -- !!! GARANTIA DE ESTADO DO ITEM !!! item.CanCollide = false -- Resetamos a velocidade física para o BodyPosition assumir o controle total item.Velocity = Vector3.new(0, 0, 0) item.RotVelocity = Vector3.new(0, 0, 0) -- [ CÁLCULO DA ÓRBITA 100% REDONDA ] -- ============================================= -- CÁLCULO E APLICAÇÃO DA ÓRBITA (VELOCIDADES VARIADAS) -- ============================================= local totalItems = math.max(#itemsInRing, 1) -- Define um multiplicador de velocidade base maior local baseSpeedMultiplier = 2.0 -- Gera uma velocidade única para este item baseado no seu índice (i) -- Isso faz com que velocidades variem entre 1x e 10x a base local itemSpeed = baseSpeedMultiplier + ((i % 10) * 0.5) -- FÓRMULA DE ÂNGULO: Usa a velocidade específica do item local angle = (tick() * itemSpeed) + (i * (math.pi * 2 / totalItems)) -- RAIO: Distância do centro local radius = config.radius + 10 -- Define a posição alvo baseada no ângulo + Posição do Jogador local x = math.cos(angle) * radius local z = math.sin(angle) * radius -- Aplica a posição alvo diretamente if bp then bp.Position = root.Position + Vector3.new(x, 2, z) end -- !!! CORREÇÃO: USANDO AS ALTURAS E RAIOS ALTERNADOS !!! bp.Position = targetPart.Position + Vector3.new( math.cos(angle) * currentRadius, currentHeight, math.sin(angle) * currentRadius ) else table.remove(itemsInRing, i) end end end) -- [6] ATUALIZAR CONFIGURAÇÕES InRad1.FocusLost:Connect(function() config.radius = tonumber(InRad1.Text) or 10 end) InRad2.FocusLost:Connect(function() config.radius2 = tonumber(InRad2.Text) or 10 end) InSpeed.FocusLost:Connect(function() config.speed = tonumber(InSpeed.Text) or 15 end) InTarget.FocusLost:Connect(function() config.targetRadius = tonumber(InTarget.Text) or 50 end) InHeight1.FocusLost:Connect(function() config.height = tonumber(InHeight1.Text) or 1 end) InHeight2.FocusLost:Connect(function() config.height2 = tonumber(InHeight2.Text) or 1 end)