Court vision
Key Required

Court vision

[🎃]🏀Basketball Legends🏀harleyknight996harleyknight996 4.2K views 28.5K executesUpdated May 17, 2026
5.0/ 5(2 votes)
20100% Positive
Lua Script•284 lines (10523 chars)
-- Basketball Legends - MAX Very Late/Early Green + Anti-Smother + Auto Guard (Scrollable GUI)
-- Mobile Friendly - No Hitbox Extender

local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local TweenService = game:GetService("TweenService")
local RunService = game:GetService("RunService")

local player = Players.LocalPlayer

-- Settings
local enabled = true
local antiSmother = true
local farShots = true
local maxVeryLateEarly = true
local autoGuardEnabled = true

local perfectValue = 1.30

-- ScreenGui
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "LegendsMaxGreenHub"
screenGui.ResetOnSpawn = false
screenGui.Parent = player:WaitForChild("PlayerGui")

-- Main Frame
local mainFrame = Instance.new("Frame")
mainFrame.Size = UDim2.new(0, 300, 0, 420)
mainFrame.Position = UDim2.new(0.5, -150, 0.1, 0)
mainFrame.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
mainFrame.BorderSizePixel = 0
mainFrame.Visible = true
mainFrame.Parent = screenGui

local corner = Instance.new("UICorner")
corner.CornerRadius = UDim.new(0, 14)
corner.Parent = mainFrame

-- Title Bar
local titleBar = Instance.new("Frame")
titleBar.Size = UDim2.new(1, 0, 0, 45)
titleBar.BackgroundColor3 = Color3.fromRGB(0, 80, 220)
titleBar.Parent = mainFrame

local titleCorner = Instance.new("UICorner")
titleCorner.CornerRadius = UDim.new(0, 14)
titleCorner.Parent = titleBar

local titleLabel = Instance.new("TextLabel")
titleLabel.Size = UDim2.new(1, -90, 1, 0)
titleLabel.BackgroundTransparency = 1
titleLabel.Text = "🏀 MAX Green Hub"
titleLabel.TextColor3 = Color3.new(1, 1, 1)
titleLabel.TextScaled = true
titleLabel.Font = Enum.Font.GothamBold
titleLabel.Parent = titleBar

local closeBtn = Instance.new("TextButton")
closeBtn.Size = UDim2.new(0, 35, 0, 35)
closeBtn.Position = UDim2.new(1, -42, 0.5, -17.5)
closeBtn.BackgroundColor3 = Color3.fromRGB(220, 50, 50)
closeBtn.Text = "X"
closeBtn.TextColor3 = Color3.new(1, 1, 1)
closeBtn.TextScaled = true
closeBtn.Parent = titleBar

local closeCorner = Instance.new("UICorner")
closeCorner.CornerRadius = UDim.new(0, 8)
closeCorner.Parent = closeBtn

-- Scrollable Area
local scrolling = Instance.new("ScrollingFrame")
scrolling.Size = UDim2.new(1, -20, 1, -70)
scrolling.Position = UDim2.new(0, 10, 0, 55)
scrolling.BackgroundTransparency = 1
scrolling.ScrollBarThickness = 8
scrolling.ScrollBarImageColor3 = Color3.fromRGB(0, 120, 255)
scrolling.Parent = mainFrame

local listLayout = Instance.new("UIListLayout")
listLayout.Padding = UDim.new(0, 10)
listLayout.SortOrder = Enum.SortOrder.LayoutOrder
listLayout.Parent = scrolling

-- Floating Toggle Button
local toggleUIButton = Instance.new("TextButton")
toggleUIButton.Size = UDim2.new(0, 130, 0, 50)
toggleUIButton.Position = UDim2.new(1, -150, 0, 30)
toggleUIButton.BackgroundColor3 = Color3.fromRGB(0, 120, 255)
toggleUIButton.Text = "Toggle UI"
toggleUIButton.TextColor3 = Color3.new(1, 1, 1)
toggleUIButton.TextScaled = true
toggleUIButton.Font = Enum.Font.GothamBold
toggleUIButton.Parent = screenGui

local toggleCorner = Instance.new("UICorner")
toggleCorner.CornerRadius = UDim.new(0, 12)
toggleCorner.Parent = toggleUIButton

-- Create Toggle Function
local function createToggle(txt, default, callback)
    local btn = Instance.new("TextButton")
    btn.Size = UDim2.new(1, 0, 0, 55)
    btn.BackgroundColor3 = default and Color3.fromRGB(0, 200, 0) or Color3.fromRGB(200, 0, 0)
    btn.Text = txt .. ": " .. (default and "ON" or "OFF")
    btn.TextColor3 = Color3.new(1, 1, 1)
    btn.TextScaled = true
    btn.Font = Enum.Font.GothamSemibold
    btn.Parent = scrolling

    local c = Instance.new("UICorner")
    c.CornerRadius = UDim.new(0, 10)
    c.Parent = btn

    btn.MouseButton1Click:Connect(function()
        default = not default
        btn.Text = txt .. ": " .. (default and "ON" or "OFF")
        btn.BackgroundColor3 = default and Color3.fromRGB(0, 200, 0) or Color3.fromRGB(200, 0, 0)
        if callback then callback(default) end
    end)
end

-- Toggles
createToggle("Main Auto Perfect", enabled, function(v) enabled = v end)
createToggle("Strong Anti-Smother", antiSmother, function(v) antiSmother = v end)
createToggle("Extremely Far Shots", farShots, function(v) farShots = v end)
createToggle("MAX Very Late & Very Early Green", maxVeryLateEarly, function(v) maxVeryLateEarly = v end)
createToggle("Auto Guard", autoGuardEnabled, function(v) autoGuardEnabled = v end)

-- Update Canvas Size
listLayout:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function()
    scrolling.CanvasSize = UDim2.new(0, 0, 0, listLayout.AbsoluteContentSize.Y + 30)
end)

-- Draggable Main Frame
local mainDragging = false
local mainDragStart, mainStartPos

titleBar.InputBegan:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
        mainDragging = true
        mainDragStart = input.Position
        mainStartPos = mainFrame.Position
    end
end)

UserInputService.InputChanged:Connect(function(input)
    if mainDragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then
        local delta = input.Position - mainDragStart
        mainFrame.Position = UDim2.new(mainStartPos.X.Scale, mainStartPos.X.Offset + delta.X,
                                       mainStartPos.Y.Scale, mainStartPos.Y.Offset + delta.Y)
    end
end)

UserInputService.InputEnded:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
        mainDragging = false
    end
end)

-- Draggable Toggle Button
local toggleDragging = false
local toggleDragStart, toggleStartPos

toggleUIButton.InputBegan:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
        toggleDragging = true
        toggleDragStart = input.Position
        toggleStartPos = toggleUIButton.Position
    end
end)

UserInputService.InputChanged:Connect(function(input)
    if toggleDragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then
        local delta = input.Position - toggleDragStart
        toggleUIButton.Position = UDim2.new(toggleStartPos.X.Scale, toggleStartPos.X.Offset + delta.X,
                                            toggleStartPos.Y.Scale, toggleStartPos.Y.Offset + delta.Y)
    end
end)

UserInputService.InputEnded:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
        toggleDragging = false
    end
end)

-- Toggle Main GUI
local function toggleMainUI()
    mainFrame.Visible = not mainFrame.Visible
end

closeBtn.MouseButton1Click:Connect(toggleMainUI)
toggleUIButton.MouseButton1Click:Connect(toggleMainUI)

-- ==================== MAX GREEN FORCING ====================
local function forcePerfectShot()
    if not enabled then return end

    -- Force meter bar
    local pgui = player.PlayerGui
    local visual = pgui:FindFirstChild("Visual") or pgui:FindFirstChildWhichIsA("ScreenGui")
    if visual then
        local shooting = visual:FindFirstChild("Shooting")
        if shooting then
            local bar = shooting:FindFirstChild("Bar") or shooting:FindFirstChild("Meter")
            if bar and bar:IsA("Frame") then
                bar.Size = UDim2.fromScale(1, 1)
                TweenService:Create(bar, TweenInfo.new(0.005), {Size = UDim2.fromScale(1, 1)}):Play()
            end
        end
    end

    pcall(function()
        local char = player.Character
        if char then
            for _, obj in pairs(char:GetDescendants()) do
                local n = obj.Name:lower()
                if n:find("contest") or n:find("smother") or n:find("shot") or n:find("meter") 
                   or n:find("release") or n:find("range") or n:find("quality") 
                   or n:find("perfect") or n:find("great") or n:find("late") or n:find("early") then
                    
                    if obj:IsA("NumberValue") or obj:IsA("IntValue") or obj:IsA("FloatValue") then
                        obj.Value = perfectValue
                    elseif obj:IsA("BindableEvent") then
                        obj:Fire(perfectValue)
                    end
                end
            end
        end
    end)
end

RunService.Heartbeat:Connect(forcePerfectShot)

-- Strong burst on shoot tap (best for very late/early)
UserInputService.InputBegan:Connect(function(input)
    if enabled and (input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch) then
        for i = 1, 8 do
            task.spawn(function()
                task.wait(0.002 * i)
                forcePerfectShot()
            end)
        end
    end
end)

-- ==================== AUTO GUARD ====================
local guardConnection
local function startAutoGuard()
    if guardConnection then guardConnection:Disconnect() end
    guardConnection = RunService.Heartbeat:Connect(function()
        if not autoGuardEnabled then return end
        local myChar = player.Character
        if not myChar or not myChar:FindFirstChild("HumanoidRootPart") then return end
        local myRoot = myChar.HumanoidRootPart
        local closest, minDist = nil, math.huge

        for _, plr in ipairs(Players:GetPlayers()) do
            if plr ~= player and plr.Character then
                local root = plr.Character:FindFirstChild("HumanoidRootPart")
                if root then
                    local hasBall = plr.Character:FindFirstChild("Basketball") or plr.Character:FindFirstChildWhichIsA("Tool")
                    if hasBall then
                        local dist = (myRoot.Position - root.Position).Magnitude
                        if dist < minDist and dist < 60 then
                            minDist = dist
                            closest = root
                        end
                    end
                end
            end
        end

        if closest then
            local dir = (closest.Position - myRoot.Position).Unit
            myRoot.CFrame = CFrame.lookAt(myRoot.Position, myRoot.Position + dir)
        end
    end)
end
startAutoGuard()

print("🏀 MAX Green Scrollable Hub Loaded!")
print("Scroll up/down inside the menu on mobile.")
print("Use the blue 'Toggle UI' button to open/close.")

Features & Information

Auto green, extremely far shots, high contesteds

Community Comments (3)

yd14tlt8wuogyd14tlt8wuogMay 18, 2026

work?

a17ajg9lvyxta17ajg9lvyxtMay 18, 2026

work?

POOIPOOPPOOIPOOPJul 25, 2026

you *er * bull* * horse dung * so lazy you have to use ai

More Scripts for [🎃]🏀Basketball Legends🏀