Description

Basketball Legends script adds powerful shooting enhancements for easier scoring in fast 5v5 matches and pickup games. With Auto Green, players can improve shot timing automatically and make cleaner releases without needing perfect manual accuracy.

The script also supports extremely far shots and high contested shots, allowing you to score from longer distances and perform better even when defenders are close. These features are designed to make shooting more consistent, aggressive, and effective during every match.

๐Ÿ’— Functions:

Auto green, extremely far shots, high contesteds

AccessNO KEY Created18.05.2026 Updated18.05.2026 DeveloperMax Green Hub
Basketball legendsExplore more scripts for this game โ†’

Script Code

284 lines ยท 11 KB
-- 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.")

Comments

0

No comments yet.