--[ GL_TPS_Hub_Optimized_2026 ]-- local Players = game:GetService("Players") local RunService = game:GetService("RunService") local Workspace = game:GetService("Workspace") local LocalPlayer = Players.LocalPlayer local Rayfield = loadstring(game:HttpGet('https://sirius.menu/rayfield'))() -- ========== ESTADO GLOBAL OTIMIZADO (Substituindo _G) ========== local GL_State = { -- Reach LegReach = false, HeadReach = false, TorsoReach = false, AutoCatch = false, LegRange = 5, HeadRange = 5, TorsoRange = 5, GkRange = 5, -- Reacts MainReact = false, ReactKill = false, BetterReact = false, ReactKillerV2 = false, Main2React = false, Prztx1React = false, MarsReact = false, SourenosReact = false, DreelovvReact = false, EmreMorLeftReact = false, EmreMorRightReact = false, KamaniReact = false, OtherReact1 = false, OtherReact2 = false, OtherReact3 = false, DribbleReact = false, BobReact = false, -- Special Settings BoostReactDetection = false, RemoveBallDelay = false, NRCMagnitude = 0, NRCRemoteFires = 0, ReactRange = 12, -- Cache de Bolas ActiveBalls = {} } -- ========== CORDENADAS ========== local GL_Coords = { LineGreen = CFrame.new(-0.1517, 175.2999, 161.1157), GKGreen = CFrame.new(-0.4020, 175.2999, 65.5266), LineBlue = CFrame.new(0.6095, 175.2999, 395.8729), GKBlue = CFrame.new(0.7262, 175.2999, 491.6229) } -- ========== INTERFACE (UI) ========== local Window = Rayfield:CreateWindow({ Name = "TPS Soccer Hub | V27 OTIMIZADO", LoadingTitle = "Injetando Motor de Física...", LoadingSubtitle = "GL Scripts", ConfigurationSaving = { Enabled = false } }) local ReachTab = Window:CreateTab("Reach") local ReactsTab = Window:CreateTab("Reacts") local GkTab = Window:CreateTab("Goleiro (GK)") local TPTab = Window:CreateTab("Teleportes") local MiscTab = Window:CreateTab("Misc") local function CreateToggleSlider(tab, name, stateKey, rangeKey, maxRange) tab:CreateToggle({ Name = "Ativar " .. name, CurrentValue = false, Callback = function(v) GL_State[stateKey] = v end }) tab:CreateSlider({ Name = "Alcance: " .. name, Range = {0, maxRange or 15}, Increment = 0.5, CurrentValue = 5, Callback = function(v) GL_State[rangeKey] = v end }) end ReachTab:CreateSection("Alcance Padrão") CreateToggleSlider(ReachTab, "Leg Reach", "LegReach", "LegRange") CreateToggleSlider(ReachTab, "Head Reach", "HeadReach", "HeadRange") CreateToggleSlider(ReachTab, "Torso Reach", "TorsoReach", "TorsoRange") ReactsTab:CreateSection("Configurações Principais") ReactsTab:CreateSlider({ Name = "Alcance Global dos Reacts", Range = {5, 25}, Increment = 1, CurrentValue = 12, Callback = function(v) GL_State.ReactRange = v end }) local function AddReact(name, stateKey) ReactsTab:CreateToggle({ Name = name, Callback = function(v) GL_State[stateKey] = v end }) end ReactsTab:CreateSection("Agressivos / Killers (Alta Frequência)") AddReact("React Kill", "ReactKill") AddReact("React Killer v2", "ReactKillerV2") AddReact("Mars React", "MarsReact") ReactsTab:CreateSection("Precisão / Controle (Baixa Latência)") AddReact("The Main React", "MainReact") AddReact("Better React", "BetterReact") AddReact("Main2 React", "Main2React") AddReact("Sourenos React", "SourenosReact") AddReact("Dreelovv React", "DreelovvReact") AddReact("Prztx1 React", "Prztx1React") AddReact("Kamani React", "KamaniReact") ReactsTab:CreateSection("Específicos / Drible") AddReact("EmreMor [Perna Esquerda]", "EmreMorLeftReact") AddReact("EmreMor [Perna Direita]", "EmreMorRightReact") AddReact("Dribble React (Alternado)", "DribbleReact") AddReact("Bob React", "BobReact") ReactsTab:CreateSection("Modificadores de Física (NRC/Delay)") ReactsTab:CreateToggle({ Name = "Boost React Detection", Callback = function(v) GL_State.BoostReactDetection = v end }) ReactsTab:CreateToggle({ Name = "Remove Ball Delay", Callback = function(v) GL_State.RemoveBallDelay = v end }) ReactsTab:CreateSlider({ Name = "NRC Magnitude Mod", Range = {0, 10}, Increment = 0.5, CurrentValue = 0, Callback = function(v) GL_State.NRCMagnitude = v end }) ReactsTab:CreateSlider({ Name = "NRC Remote Fires", Range = {0, 5}, Increment = 1, CurrentValue = 0, Callback = function(v) GL_State.NRCRemoteFires = v end }) GkTab:CreateSection("Defesa") CreateToggleSlider(GkTab, "Auto Catch (Mãos)", "AutoCatch", "GkRange", 20) local function AddTP(name, coord) TPTab:CreateButton({ Name = name, Callback = function() if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then LocalPlayer.Character.HumanoidRootPart.CFrame = coord end end}) end TPTab:CreateSection("Time Verde") AddTP("Line Green", GL_Coords.LineGreen) AddTP("GK Green", GL_Coords.GKGreen) TPTab:CreateSection("Time Azul") AddTP("Line Blue", GL_Coords.LineBlue) AddTP("GK Blue", GL_Coords.GKBlue) MiscTab:CreateButton({ Name = "Destruir Interface (Panic Mode)", Callback = function() Rayfield:Destroy() table.clear(GL_State) -- Desativa o loop end, }) -- ========== MOTOR DE BUSCA OTIMIZADO ========== -- Substitui o loop While por eventos para evitar lag local function CheckBall(inst) if inst:IsA("BasePart") and (inst.Name == "PSoccerBall" or inst.Name == "ClientBallProxy_PSoccerBall" or inst.Name == "TPS") then table.insert(GL_State.ActiveBalls, inst) end end for _, v in ipairs(Workspace:GetDescendants()) do CheckBall(v) end Workspace.DescendantAdded:Connect(CheckBall) Workspace.DescendantRemoving:Connect(function(inst) for i, ball in ipairs(GL_State.ActiveBalls) do if ball == inst then table.remove(GL_State.ActiveBalls, i) break end end end) -- ========== MOTOR DE TOQUE (PHYSICS STEP) ========== -- Utiliza Heartbeat em vez de task.wait() para sincronia perfeita com a física do jogo RunService.Heartbeat:Connect(function() if not next(GL_State) then return end -- Verifica Panic Mode local char = LocalPlayer.Character if not char then return end local root = char:FindFirstChild("HumanoidRootPart") if not root then return end local parts = { R_Leg = char:FindFirstChild("Right Foot") or char:FindFirstChild("Right Leg"), L_Leg = char:FindFirstChild("Left Foot") or char:FindFirstChild("Left Leg"), Head = char:FindFirstChild("Head"), Torso = char:FindFirstChild("UpperTorso") or char:FindFirstChild("Torso"), R_Arm = char:FindFirstChild("RightHand") or char:FindFirstChild("Right Arm"), L_Arm = char:FindFirstChild("LeftHand") or char:FindFirstChild("Left Arm") } local function FireTouch(part, ball, times) if not part then return end for _ = 1, (times or 1) do firetouchinterest(part, ball, 0) firetouchinterest(part, ball, 1) end end for _, ball in ipairs(GL_State.ActiveBalls) do if not ball.Parent then continue end local dist = (root.Position - ball.Position).Magnitude local fires = (GL_State.NRCRemoteFires > 0 and dist <= GL_State.ReactRange) and math.floor(GL_State.NRCRemoteFires) or 1 -- Reaches Independentes if GL_State.LegReach and dist <= GL_State.LegRange then FireTouch(parts.R_Leg, ball, fires) FireTouch(parts.L_Leg, ball, fires) end if GL_State.HeadReach and dist <= GL_State.HeadRange then FireTouch(parts.Head, ball, fires) end if GL_State.TorsoReach and dist <= GL_State.TorsoRange then FireTouch(parts.Torso, ball, fires) end if GL_State.AutoCatch and dist <= GL_State.GkRange then FireTouch(parts.R_Arm, ball, fires) FireTouch(parts.L_Arm, ball, fires) end -- Lógica de Reacts Refinada (Somente no alcance global) if dist <= GL_State.ReactRange then -- Agressivos (Alta frequência de firetouch) if GL_State.ReactKill or GL_State.ReactKillerV2 or GL_State.MarsReact then FireTouch(parts.R_Leg, ball, fires + 3) -- Spam agressivo FireTouch(parts.L_Leg, ball, fires + 1) end -- Precisão / Padrão (Toque duplo limpo) if GL_State.MainReact or GL_State.BetterReact or GL_State.Main2React or GL_State.SourenosReact or GL_State.DreelovvReact or GL_State.Prztx1React or GL_State.KamaniReact then FireTouch(parts.R_Leg, ball, fires) end -- Drible (Alterna pernas baseado no frame tick) if GL_State.DribbleReact then local activeLeg = (tick() % 0.2 < 0.1) and parts.R_Leg or parts.L_Leg FireTouch(activeLeg, ball, fires) end -- Específicos if GL_State.EmreMorLeftReact then FireTouch(parts.L_Leg, ball, fires) end if GL_State.EmreMorRightReact then FireTouch(parts.R_Leg, ball, fires) end if GL_State.BobReact then FireTouch(parts.Head, ball, fires) FireTouch(parts.Torso, ball, fires) end -- Special: Remove Delay (Força o jogo a registrar o toque ignorando debounce interno) if GL_State.RemoveBallDelay then FireTouch(parts.R_Leg, ball, 2) end -- Special: Boost Detection (Ativa touch extra se a bola estiver rápida) if GL_State.BoostReactDetection and ball.AssemblyLinearVelocity.Magnitude > 30 then FireTouch(parts.R_Leg, ball, fires + 2) end -- Special: NRC Magnitude (Manipulação vetorial leve se tiver Network Ownership parcial) if GL_State.NRCMagnitude > 0 then local dir = (ball.Position - root.Position).Unit -- Usa AssemblyLinearVelocity moderno no lugar de Velocity (depreciado) ball.AssemblyLinearVelocity = ball.AssemblyLinearVelocity + (dir * GL_State.NRCMagnitude) end end end end)