Gl hub
Key RequiredUniversal

Gl hub

Universal Scripttomascalderoncetomascalderonce 230 views 8.3K executesUpdated Aug 24, 2026
Unrated
00
Lua Script•229 lines (9541 chars)
--[ 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)

Features & Information

Tps reach

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts