Description

This bloxx league script is made by elite scripts with cool features such as boost, Ball and visuals. its also open source and you can use any executor for this.

Features

  • + Boost
  • + Ball
  • + Visuals
  • + Infinite Jump
  • + SoftSpeed Assist
  • + Soft Speed Factor
  • + Ball Predictor
  • + Predict Horizon
  • + Landing Marker
  • + Ball ESP
  • + Ball Tracer
  • + Ball Name
  • + Ball Cam Assist
  • + Boost Pad ESP
  • + Goal ESP
  • + Enemy Car ESP
  • + Car Team Check
  • + Fullbright
  • + No Fog
  • + Custom FOV
  • + FOV value
  • + Anti-AFK
  • + Discord LED Footer
  • + Auto Re-attach on Respawn
  • + Force Re-scan Ball

Supported Executors

Xeno Volt Potassium Wave Delta Solara Opiumware Codex MacSploit Vega X Velocity

Script

Add Xeno Scripts as a preferred source
--[[
    ELITE SCRIPTS  ·  BLOXX LEAGUE
    Rayfield UI · Elite purple branding (188, 78, 255)

    Features:
      Infinite Boost · Infinite Jump · Ball Predictor (trajectory + landing)
      Ball ESP · Boost Pad ESP · Goal ESP · Soft Speed Assist
      Auto Boost on Jump · Camera Ball Lock · Fullbright · Anti-AFK
      Config save · Discord LED · Universal UNC

    Works on: Xeno, JJSploit, Synapse, Wave, Solara, Fluxus, Delta,
              Hydrogen, Codex, Krnl, Script-Ware, and every UNC executor
    Keyless · free
]]

-- ======================== UNC / EXECUTOR COMPAT ========================
local function safeHttpGet(url)
    local ok, res = pcall(function()
        if syn and syn.request then
            local r = syn.request({Url = url, Method = "GET"})
            return r.Body
        elseif http and http.request then
            local r = http.request({Url = url, Method = "GET"})
            return r.Body
        elseif request then
            local r = request({Url = url, Method = "GET"})
            return r.Body
        elseif http_request then
            local r = http_request({Url = url, Method = "GET"})
            return r.Body
        elseif fluxus and fluxus.request then
            local r = fluxus.request({Url = url, Method = "GET"})
            return r.Body
        else
            return game:HttpGet(url)
        end
    end)
    if ok and res then return res end
    return game:HttpGet(url)
end

local Rayfield = loadstring(safeHttpGet("https://sirius.menu/rayfield"))()

if not Drawing then
    pcall(function() Drawing = getgenv().Drawing or Drawing end)
end

local function safeDrawing(class)
    if not Drawing then return nil end
    local ok, obj = pcall(function() return Drawing.new(class) end)
    if ok then return obj end
    return nil
end

-- ======================== SERVICES ========================
local Players          = game:GetService("Players")
local RunService       = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local Workspace        = game:GetService("Workspace")
local Lighting         = game:GetService("Lighting")
local TweenService     = game:GetService("TweenService")
local StarterGui       = game:GetService("StarterGui")
local VirtualInputManager = game:GetService("VirtualInputManager")

local LocalPlayer = Players.LocalPlayer
local Camera      = Workspace.CurrentCamera
local Mouse       = LocalPlayer:GetMouse()

-- ======================== SETTINGS ========================
local S = {
    -- Boost / Movement
    InfiniteBoost     = false,
    InfiniteJump      = false,
    SoftSpeed         = false,
    SoftSpeedBoost    = 0.35,
    AutoBoostOnJump   = false,
    BoostAmount       = 100,          -- target boost value (0-100 style)

    -- Ball
    BallPredict       = true,
    PredictSeconds    = 1.8,          -- how far ahead to project
    PredictSteps      = 28,           -- trajectory resolution
    BallESP           = true,
    BallTracer        = true,
    BallName          = true,
    BallColor         = Color3.fromRGB(188, 78, 255),
    PredictColor      = Color3.fromRGB(0, 255, 180),
    LandingMarker     = true,

    -- Visual ESP
    BoostPadESP       = true,
    BoostPadColor     = Color3.fromRGB(0, 200, 255),
    GoalESP           = true,
    GoalColor         = Color3.fromRGB(255, 80, 80),
    CarESP            = false,
    CarName           = true,
    CarDistance       = true,
    CarTeamCheck      = true,
    CarColor          = Color3.fromRGB(188, 78, 255),
    MaxESPDist        = 1200,

    -- Camera / QoL
    BallCamAssist     = false,
    BallCamSmooth     = 0.12,
    FullBright        = false,
    NoFog             = false,
    CustomFOV         = false,
    FOVValue          = 90,

    -- Misc
    AntiAFK           = true,
    AutoReattach      = true,
    DiscordLED        = true,
    DiscordLEDColor   = Color3.fromRGB(188, 78, 255),
    DiscordLink       = "https://discord.gg/JyHTa3M7h",
}

-- ======================== STATE ========================
local espCache     = {}
local predictLines = {}
local landingDot   = nil
local ballTracer   = nil
local ballLabel    = nil
local connections  = {}
local originalFog  = nil
local originalAmb  = nil
local originalBright = nil

-- Discord LED
local DiscordLEDText = safeDrawing("Text")
local DiscordLEDLine = safeDrawing("Line")
if DiscordLEDText then
    DiscordLEDText.Text = "discord.gg/JyHTa3M7h"
    DiscordLEDText.Size = 12
    DiscordLEDText.Center = true
    DiscordLEDText.Outline = true
    DiscordLEDText.Color = S.DiscordLEDColor
    DiscordLEDText.Transparency = 1
    DiscordLEDText.Visible = S.DiscordLED
end
if DiscordLEDLine then
    DiscordLEDLine.Thickness = 1
    DiscordLEDLine.Color = S.DiscordLEDColor
    DiscordLEDLine.Transparency = 0.55
    DiscordLEDLine.Visible = S.DiscordLED
end

-- ======================== HELPERS ========================
local function getChar()
    return LocalPlayer.Character
end

local function getHum()
    local c = getChar()
    return c and c:FindFirstChildOfClass("Humanoid")
end

local function getHRP()
    local c = getChar()
    return c and c:FindFirstChild("HumanoidRootPart")
end

local function isAlive(plr)
    local c = plr.Character
    if not c then return false end
    local h = c:FindFirstChildOfClass("Humanoid")
    return h and h.Health > 0
end

-- Find the match ball (common names across car-soccer games)
local function findBall()
    local candidates = {
        Workspace:FindFirstChild("Ball"),
        Workspace:FindFirstChild("ball"),
        Workspace:FindFirstChild("SoccerBall"),
        Workspace:FindFirstChild("Football"),
        Workspace:FindFirstChild("GameBall"),
        Workspace:FindFirstChild("BallModel"),
    }
    for _, c in ipairs(candidates) do
        if c then
            if c:IsA("BasePart") then return c end
            local part = c:FindFirstChildWhichIsA("BasePart") or c:FindFirstChild("Ball") or c.PrimaryPart
            if part then return part end
        end
    end
    -- deeper search
    for _, obj in ipairs(Workspace:GetDescendants()) do
        if obj:IsA("BasePart") then
            local n = string.lower(obj.Name)
            if (n == "ball" or n == "soccerball" or n == "football" or n:find("ball")) and obj.Size.Magnitude > 4 then
                return obj
            end
        end
    end
    return nil
end

-- Soft boost injection: try common attribute / value / remote paths
local function setBoost(value)
    local char = getChar()
    if not char then return end
    -- Attribute paths
    pcall(function()
        if char:GetAttribute("Boost") ~= nil then char:SetAttribute("Boost", value) end
        if char:GetAttribute("BoostAmount") ~= nil then char:SetAttribute("BoostAmount", value) end
        if char:GetAttribute("BoostFuel") ~= nil then char:SetAttribute("BoostFuel", value) end
    end)
    -- Value objects
    for _, v in ipairs(char:GetDescendants()) do
        if v:IsA("NumberValue") or v:IsA("IntValue") then
            local n = string.lower(v.Name)
            if n:find("boost") or n:find("fuel") or n:find("nitro") then
                pcall(function() v.Value = value end)
            end
        end
    end
    -- Player values
    local plrVals = LocalPlayer:FindFirstChild("Values") or LocalPlayer:FindFirstChild("PlayerValues")
    if plrVals then
        for _, v in ipairs(plrVals:GetDescendants()) do
            if (v:IsA("NumberValue") or v:IsA("IntValue")) and string.lower(v.Name):find("boost") then
                pcall(function() v.Value = value end)
            end
        end
    end
end

local function clearPredictDrawings()
    for _, d in ipairs(predictLines) do
        pcall(function() d:Remove() end)
    end
    predictLines = {}
    if landingDot then pcall(function() landingDot:Remove() end) landingDot = nil end
end

local function projectTrajectory(ball, seconds, steps)
    if not ball then return {} end
    local pos = ball.Position
    local vel = ball.AssemblyLinearVelocity
    if vel.Magnitude < 0.05 then
        vel = ball.Velocity or Vector3.zero
    end
    local grav = Workspace.Gravity
    local dt = seconds / steps
    local points = {pos}
    for i = 1, steps do
        vel = vel + Vector3.new(0, -grav, 0) * dt
        pos = pos + vel * dt
        -- simple ground bounce approximation
        if pos.Y < 1.5 then
            pos = Vector3.new(pos.X, 1.5, pos.Z)
            vel = Vector3.new(vel.X * 0.85, -vel.Y * 0.55, vel.Z * 0.85)
        end
        table.insert(points, pos)
    end
    return points
end

-- ======================== UI ========================
local Window = Rayfield:CreateWindow({
    Name            = "Elite Scripts",
    LoadingTitle    = "Elite Scripts",
    LoadingSubtitle = "Bloxx League · Elite",
    Theme           = "Default",
    ConfigurationSaving = {
        Enabled    = true,
        FolderName = "EliteScripts",
        FileName   = "BloxxLeague_Config"
    },
    Discord  = { Enabled = false },
    KeySystem = false
})

local HomeTab   = Window:CreateTab("Home", 4483362458)
local BoostTab  = Window:CreateTab("Boost / Move", 4483362458)
local BallTab   = Window:CreateTab("Ball", 4483362458)
local VisualTab = Window:CreateTab("Visuals", 4483362458)
local MiscTab   = Window:CreateTab("Misc", 4483362458)
local AboutTab  = Window:CreateTab("About", 4483362458)

-- ---------- HOME ----------
HomeTab:CreateSection("Elite · Bloxx League")
HomeTab:CreateParagraph({
    Title = "Status",
    Content = "Infinite Boost · Infinite Jump · Ball Predictor · Ball ESP · Boost Pad ESP · Soft Speed · Ball Cam · Fullbright\nPaste into any UNC executor while in Bloxx League."
})
HomeTab:CreateParagraph({
    Title = "Quick Start",
    Content = "1. Enable Infinite Boost + Infinite Jump\n2. Turn on Ball Predictor + Ball ESP\n3. Optional: Soft Speed Assist + Ball Cam Assist\n4. Config auto-saves under EliteScripts folder"
})
HomeTab:CreateButton({
    Name = "Copy Discord Invite",
    Callback = function()
        local link = S.DiscordLink
        if setclipboard then
            pcall(setclipboard, link)
            Rayfield:Notify({Title = "Elite", Content = "Discord link copied", Duration = 3})
        else
            Rayfield:Notify({Title = "Elite", Content = link, Duration = 5})
        end
    end
})

-- ---------- BOOST / MOVE ----------
BoostTab:CreateSection("Boost")
BoostTab:CreateToggle({
    Name = "Infinite Boost",
    CurrentValue = S.InfiniteBoost,
    Flag = "InfiniteBoost",
    Callback = function(v) S.InfiniteBoost = v end
})
BoostTab:CreateSlider({
    Name = "Boost Target Value",
    Range = {50, 100},
    Increment = 5,
    CurrentValue = S.BoostAmount,
    Flag = "BoostAmount",
    Callback = function(v) S.BoostAmount = v end
})
BoostTab:CreateToggle({
    Name = "Auto Boost on Jump",
    CurrentValue = S.AutoBoostOnJump,
    Flag = "AutoBoostOnJump",
    Callback = function(v) S.AutoBoostOnJump = v end
})

BoostTab:CreateSection("Movement")
BoostTab:CreateToggle({
    Name = "Infinite Jump",
    CurrentValue = S.InfiniteJump,
    Flag = "InfiniteJump",
    Callback = function(v) S.InfiniteJump = v end
})
BoostTab:CreateToggle({
    Name = "Soft Speed Assist",
    CurrentValue = S.SoftSpeed,
    Flag = "SoftSpeed",
    Callback = function(v) S.SoftSpeed = v end
})
BoostTab:CreateSlider({
    Name = "Soft Speed Factor",
    Range = {0.1, 0.8},
    Increment = 0.05,
    CurrentValue = S.SoftSpeedBoost,
    Flag = "SoftSpeedBoost",
    Callback = function(v) S.SoftSpeedBoost = v end
})

-- ---------- BALL ----------
BallTab:CreateSection("Ball Predictor")
BallTab:CreateToggle({
    Name = "Ball Predictor (trajectory)",
    CurrentValue = S.BallPredict,
    Flag = "BallPredict",
    Callback = function(v)
        S.BallPredict = v
        if not v then clearPredictDrawings() end
    end
})
BallTab:CreateSlider({
    Name = "Predict Horizon (sec)",
    Range = {0.6, 3.0},
    Increment = 0.1,
    CurrentValue = S.PredictSeconds,
    Flag = "PredictSeconds",
    Callback = function(v) S.PredictSeconds = v end
})
BallTab:CreateToggle({
    Name = "Landing Marker",
    CurrentValue = S.LandingMarker,
    Flag = "LandingMarker",
    Callback = function(v) S.LandingMarker = v end
})

BallTab:CreateSection("Ball Visuals")
BallTab:CreateToggle({
    Name = "Ball ESP",
    CurrentValue = S.BallESP,
    Flag = "BallESP",
    Callback = function(v) S.BallESP = v end
})
BallTab:CreateToggle({
    Name = "Ball Tracer",
    CurrentValue = S.BallTracer,
    Flag = "BallTracer",
    Callback = function(v) S.BallTracer = v end
})
BallTab:CreateToggle({
    Name = "Ball Name / Distance",
    CurrentValue = S.BallName,
    Flag = "BallName",
    Callback = function(v) S.BallName = v end
})
BallTab:CreateToggle({
    Name = "Ball Cam Assist",
    CurrentValue = S.BallCamAssist,
    Flag = "BallCamAssist",
    Callback = function(v) S.BallCamAssist = v end
})

-- ---------- VISUALS ----------
VisualTab:CreateSection("Arena ESP")
VisualTab:CreateToggle({
    Name = "Boost Pad ESP",
    CurrentValue = S.BoostPadESP,
    Flag = "BoostPadESP",
    Callback = function(v) S.BoostPadESP = v end
})
VisualTab:CreateToggle({
    Name = "Goal ESP",
    CurrentValue = S.GoalESP,
    Flag = "GoalESP",
    Callback = function(v) S.GoalESP = v end
})
VisualTab:CreateToggle({
    Name = "Enemy Car ESP",
    CurrentValue = S.CarESP,
    Flag = "CarESP",
    Callback = function(v) S.CarESP = v end
})
VisualTab:CreateToggle({
    Name = "Car Team Check",
    CurrentValue = S.CarTeamCheck,
    Flag = "CarTeamCheck",
    Callback = function(v) S.CarTeamCheck = v end
})

VisualTab:CreateSection("World")
VisualTab:CreateToggle({
    Name = "Fullbright",
    CurrentValue = S.FullBright,
    Flag = "FullBright",
    Callback = function(v)
        S.FullBright = v
        if v then
            originalBright = Lighting.Brightness
            originalAmb = Lighting.Ambient
            Lighting.Brightness = 2
            Lighting.Ambient = Color3.fromRGB(180, 180, 180)
            Lighting.OutdoorAmbient = Color3.fromRGB(180, 180, 180)
        else
            if originalBright then Lighting.Brightness = originalBright end
            if originalAmb then Lighting.Ambient = originalAmb end
        end
    end
})
VisualTab:CreateToggle({
    Name = "No Fog",
    CurrentValue = S.NoFog,
    Flag = "NoFog",
    Callback = function(v)
        S.NoFog = v
        if v then
            originalFog = Lighting.FogEnd
            Lighting.FogEnd = 1e6
        else
            if originalFog then Lighting.FogEnd = originalFog end
        end
    end
})
VisualTab:CreateToggle({
    Name = "Custom FOV",
    CurrentValue = S.CustomFOV,
    Flag = "CustomFOV",
    Callback = function(v) S.CustomFOV = v end
})
VisualTab:CreateSlider({
    Name = "FOV Value",
    Range = {70, 120},
    Increment = 1,
    CurrentValue = S.FOVValue,
    Flag = "FOVValue",
    Callback = function(v) S.FOVValue = v end
})

-- ---------- MISC ----------
MiscTab:CreateSection("Utility")
MiscTab:CreateToggle({
    Name = "Anti-AFK",
    CurrentValue = S.AntiAFK,
    Flag = "AntiAFK",
    Callback = function(v) S.AntiAFK = v end
})
MiscTab:CreateToggle({
    Name = "Discord LED Footer",
    CurrentValue = S.DiscordLED,
    Flag = "DiscordLED",
    Callback = function(v)
        S.DiscordLED = v
        if DiscordLEDText then DiscordLEDText.Visible = v end
        if DiscordLEDLine then DiscordLEDLine.Visible = v end
    end
})
MiscTab:CreateToggle({
    Name = "Auto Re-attach on Respawn",
    CurrentValue = S.AutoReattach,
    Flag = "AutoReattach",
    Callback = function(v) S.AutoReattach = v end
})
MiscTab:CreateButton({
    Name = "Force Re-scan Ball",
    Callback = function()
        local b = findBall()
        Rayfield:Notify({
            Title = "Elite",
            Content = b and ("Ball found: " .. b:GetFullName()) or "Ball not found — try in match",
            Duration = 4
        })
    end
})

-- ---------- ABOUT ----------
AboutTab:CreateSection("Elite Scripts")
AboutTab:CreateParagraph({
    Title = "Bloxx League Build",
    Content = "Infinite boost · infinite jump · ball trajectory predictor with landing marker · ball / boost-pad / goal ESP · soft CFrame speed · ball cam assist · fullbright · config save · Discord LED.\nUniversal UNC — any modern executor."
})
AboutTab:CreateParagraph({
    Title = "Discord",
    Content = "https://discord.gg/JyHTa3M7h"
})
AboutTab:CreateButton({
    Name = "Copy Discord Invite",
    Callback = function()
        if setclipboard then
            pcall(setclipboard, S.DiscordLink)
            Rayfield:Notify({Title = "Elite", Content = "Copied", Duration = 2})
        end
    end
})
AboutTab:CreateParagraph({
    Title = "Note",
    Content = "Soft movement only (no BodyVelocity / WalkSpeed spam). Boost uses attribute + NumberValue paths common in car-soccer games. Predictor uses physics projection — best in freeplay / ranked matches."
})

-- ======================== CORE LOOPS ========================

-- Infinite Jump (JumpRequest)
UserInputService.JumpRequest:Connect(function()
    if not S.InfiniteJump then return end
    local hum = getHum()
    if hum then
        hum:ChangeState(Enum.HumanoidStateType.Jumping)
    end
    if S.AutoBoostOnJump then
        setBoost(S.BoostAmount)
    end
end)

-- Anti-AFK
if S.AntiAFK then
    pcall(function()
        local vu = game:GetService("VirtualUser")
        LocalPlayer.Idled:Connect(function()
            if S.AntiAFK then
                vu:CaptureController()
                vu:ClickButton2(Vector2.new())
            end
        end)
    end)
end

-- Main Heartbeat
RunService.Heartbeat:Connect(function(dt)
    local hrp = getHRP()
    local hum = getHum()

    -- Infinite Boost
    if S.InfiniteBoost then
        setBoost(S.BoostAmount)
    end

    -- Soft Speed (CFrame nudge only — no WalkSpeed write)
    if S.SoftSpeed and hrp and hum and hum.MoveDirection.Magnitude > 0.05 then
        local dir = hum.MoveDirection
        hrp.CFrame = hrp.CFrame + dir * S.SoftSpeedBoost
    end

    -- Custom FOV
    if S.CustomFOV and Camera then
        Camera.FieldOfView = S.FOVValue
    end

    -- Ball Cam Assist
    if S.BallCamAssist then
        local ball = findBall()
        if ball and Camera then
            local target = CFrame.lookAt(Camera.CFrame.Position, ball.Position)
            Camera.CFrame = Camera.CFrame:Lerp(target, S.BallCamSmooth)
        end
    end

    -- Discord LED position
    if S.DiscordLED and DiscordLEDText then
        local vs = Camera.ViewportSize
        local cx, cy = vs.X / 2, vs.Y - 28
        DiscordLEDText.Position = Vector2.new(cx, cy)
        if DiscordLEDLine then
            DiscordLEDLine.From = Vector2.new(cx - 88, cy + 10)
            DiscordLEDLine.To   = Vector2.new(cx + 88, cy + 10)
        end
    end
end)

-- RenderStepped — Ball Predictor + ESP
RunService.RenderStepped:Connect(function()
    local ball = findBall()
    local hrp = getHRP()

    -- clear old predict lines each frame (rebuild)
    clearPredictDrawings()

    if ball and S.BallPredict then
        local points = projectTrajectory(ball, S.PredictSeconds, S.PredictSteps)
        for i = 1, #points - 1 do
            local a = points[i]
            local b = points[i + 1]
            local sa, ona = Camera:WorldToViewportPoint(a)
            local sb, onb = Camera:WorldToViewportPoint(b)
            if ona or onb then
                local line = safeDrawing("Line")
                if line then
                    line.From = Vector2.new(sa.X, sa.Y)
                    line.To = Vector2.new(sb.X, sb.Y)
                    line.Color = S.PredictColor
                    line.Thickness = 1.6
                    line.Transparency = 0.25
                    line.Visible = true
                    table.insert(predictLines, line)
                end
            end
        end
        if S.LandingMarker and #points > 0 then
            local last = points[#points]
            local sp, on = Camera:WorldToViewportPoint(last)
            if on then
                landingDot = safeDrawing("Circle")
                if landingDot then
                    landingDot.Position = Vector2.new(sp.X, sp.Y)
                    landingDot.Radius = 7
                    landingDot.Color = S.PredictColor
                    landingDot.Filled = true
                    landingDot.Transparency = 0.35
                    landingDot.Visible = true
                    landingDot.NumSides = 16
                end
            end
        end
    end

    -- Ball ESP / Tracer / Name
    if ball and (S.BallESP or S.BallTracer or S.BallName) then
        local sp, onScreen = Camera:WorldToViewportPoint(ball.Position)
        if onScreen then
            if S.BallESP then
                local box = safeDrawing("Square")
                if box then
                    local size = math.clamp(2200 / (sp.Z + 1), 12, 48)
                    box.Size = Vector2.new(size, size)
                    box.Position = Vector2.new(sp.X - size / 2, sp.Y - size / 2)
                    box.Color = S.BallColor
                    box.Thickness = 1.4
                    box.Filled = false
                    box.Transparency = 0.2
                    box.Visible = true
                    table.insert(predictLines, box) -- reuse cleanup list
                end
            end
            if S.BallTracer and hrp then
                local from = Camera:WorldToViewportPoint(hrp.Position)
                local tr = safeDrawing("Line")
                if tr then
                    tr.From = Vector2.new(from.X, from.Y)
                    tr.To = Vector2.new(sp.X, sp.Y)
                    tr.Color = S.BallColor
                    tr.Thickness = 1.2
                    tr.Transparency = 0.35
                    tr.Visible = true
                    table.insert(predictLines, tr)
                end
            end
            if S.BallName and hrp then
                local dist = (ball.Position - hrp.Position).Magnitude
                local txt = safeDrawing("Text")
                if txt then
                    txt.Text = string.format("BALL  %.0fm", dist)
                    txt.Size = 14
                    txt.Center = true
                    txt.Outline = true
                    txt.Color = S.BallColor
                    txt.Position = Vector2.new(sp.X, sp.Y - 28)
                    txt.Visible = true
                    table.insert(predictLines, txt)
                end
            end
        end
    end

    -- Boost Pad ESP (name heuristics)
    if S.BoostPadESP then
        for _, obj in ipairs(Workspace:GetDescendants()) do
            if obj:IsA("BasePart") then
                local n = string.lower(obj.Name)
                if n:find("boost") or n:find("pad") or n:find("nitro") or n:find("pickup") then
                    if obj.Size.Magnitude < 25 then
                        local sp, on = Camera:WorldToViewportPoint(obj.Position)
                        if on and sp.Z > 0 and sp.Z < S.MaxESPDist then
                            local c = safeDrawing("Circle")
                            if c then
                                c.Position = Vector2.new(sp.X, sp.Y)
                                c.Radius = 5
                                c.Color = S.BoostPadColor
                                c.Filled = true
                                c.Transparency = 0.4
                                c.Visible = true
                                c.NumSides = 12
                                table.insert(predictLines, c)
                            end
                        end
                    end
                end
            end
        end
    end

    -- Goal ESP
    if S.GoalESP then
        for _, obj in ipairs(Workspace:GetDescendants()) do
            if obj:IsA("BasePart") then
                local n = string.lower(obj.Name)
                if n:find("goal") or n:find("net") or n:find("post") then
                    if obj.Size.Magnitude > 8 then
                        local sp, on = Camera:WorldToViewportPoint(obj.Position)
                        if on and sp.Z > 0 and sp.Z < S.MaxESPDist then
                            local t = safeDrawing("Text")
                            if t then
                                t.Text = "GOAL"
                                t.Size = 13
                                t.Center = true
                                t.Outline = true
                                t.Color = S.GoalColor
                                t.Position = Vector2.new(sp.X, sp.Y)
                                t.Visible = true
                                table.insert(predictLines, t)
                            end
                        end
                    end
                end
            end
        end
    end

    -- Enemy Car ESP
    if S.CarESP then
        for _, plr in ipairs(Players:GetPlayers()) do
            if plr ~= LocalPlayer and isAlive(plr) then
                if S.CarTeamCheck and LocalPlayer.Team and plr.Team and LocalPlayer.Team == plr.Team then
                    -- skip teammate
                else
                    local char = plr.Character
                    local root = char and (char:FindFirstChild("HumanoidRootPart") or char.PrimaryPart)
                    if root then
                        local sp, on = Camera:WorldToViewportPoint(root.Position)
                        if on and sp.Z > 0 and sp.Z < S.MaxESPDist then
                            local dist = hrp and (root.Position - hrp.Position).Magnitude or 0
                            if S.CarName then
                                local t = safeDrawing("Text")
                                if t then
                                    t.Text = string.format("%s  %.0fm", plr.Name, dist)
                                    t.Size = 13
                                    t.Center = true
                                    t.Outline = true
                                    t.Color = S.CarColor
                                    t.Position = Vector2.new(sp.X, sp.Y - 18)
                                    t.Visible = true
                                    table.insert(predictLines, t)
                                end
                            end
                            local box = safeDrawing("Square")
                            if box then
                                local size = math.clamp(1800 / (sp.Z + 1), 10, 40)
                                box.Size = Vector2.new(size * 1.4, size)
                                box.Position = Vector2.new(sp.X - size * 0.7, sp.Y - size * 0.5)
                                box.Color = S.CarColor
                                box.Thickness = 1.2
                                box.Filled = false
                                box.Transparency = 0.25
                                box.Visible = true
                                table.insert(predictLines, box)
                            end
                        end
                    end
                end
            end
        end
    end
end)

-- Character re-attach
LocalPlayer.CharacterAdded:Connect(function()
    if S.AutoReattach then
        task.wait(1.2)
        -- loops already running; nothing else required
    end
end)

Rayfield:Notify({
    Title = "Elite Scripts",
    Content = "Bloxx League loaded · Infinite Boost / Jump / Ball Predict ready",
    Duration = 5
})

print("[ELITE] Bloxx League script loaded · discord.gg/JyHTa3M7h")
Script worked? 🚀 Boost it to #1 so others find it too.

Comments (0)

Log in to add a comment.