local library = loadstring(game:HttpGet("https://[Log in to view URL]"))()
local theme = loadstring(game:HttpGet("https://[Log in to view URL]"))()
local savemanager = loadstring(game:HttpGet("https://[Log in to view URL]"))()
theme:SetLibrary(library)
savemanager:SetLibrary(library)
savemanager:IgnoreThemeSettings()
savemanager:SetIgnoreIndexes({
"MenuKeybind"
})
local window = library:CreateWindow({
Title = "SCORPIO ARCADE BASKETBALL",
Footer = "SCORPIO HUB",
ShowCustomCursor = true,
Icon = "rbxassetid://111089074878671"
})
getgenv().window = window;
local tabs = {
main = window:AddTab("BASKETBALL MAIN", "USER"),
misc = window:AddTab("BASKETBALL MICS", "SETTINGS"),
ui = window:AddTab("UI SETTINGS", "SETTINGS")
}
getgenv().tabs = tabs;
theme:ApplyToTab(tabs.ui)
savemanager:BuildConfigSection(tabs.ui)
local g = getgenv()
g.autogreen = false;
g.perfectmeter = false;
g.spinbot = false;
g.spinspeed = 10;
g.antioob = false;
g.clonethooobprt = {}
g.oobOriginalSizes = {}
g.antioob_new = false;
g.anticontest = false;
g.contestheight = 15.1;
g.autoguard = false;
g.dribbleglide = false;
g.glidedistance = 5;
g.infinitestamina = false;
g.autosprint = false;
g.speeedwd = false;
g.speedor = 16;
g.cframespeed = false;
g.cfv = 5;
g.fpscap = false;
g.fpsvalue = 60;
local old_namecall;
local aimbots_group = tabs.main:AddLeftGroupbox("Aimbots")
aimbots_group:AddToggle("autogreen", {
Text = "Auto Green",
Default = g.autogreen,
Callback = function(state)
g.autogreen = state
end
})
local perfectmeter_thread;
aimbots_group:AddToggle("perfectmeter", {
Text = "Always perfect meter",
Default = g.perfectmeter,
Callback = function(state)
g.perfectmeter = state;
if state then
perfectmeter_thread = task.spawn(function()
end)
elseif perfectmeter_thread then
task.cancel(perfectmeter_thread)
perfectmeter_thread = nil
end
end
})
local spin_group = tabs.main:AddLeftGroupbox("Spin")
local function updateSpin()
local player = game.Players.LocalPlayer;
local char = player.Character;
if not(char and char:FindFirstChild("HumanoidRootPart")) then
return
end;
local hrp = char.HumanoidRootPart;
local bv = hrp:FindFirstChild("sbn")
if g.spinbot then
if not bv then
bv = Instance.new("BodyAngularVelocity")
bv.Name = "sbn"
bv.MaxTorque = Vector3.new(0, math.huge, 0)
bv.Parent = hrp
end;
bv.AngularVelocity = Vector3.new(0, g.spinspeed, 0)
elseif bv then
bv:Destroy()
end
end;
spin_group:AddToggle("spinbot", {
Text = "Spin Bot",
Default = g.spinbot,
Callback = function(state)
g.spinbot = state;
updateSpin()
end
})
spin_group:AddSlider("spinspeed", {
Text = "Speed",
Default = g.spinspeed,
Min = 1,
Max = 50,
Rounding = 0,
Callback = function(value)
g.spinspeed = value;
if g.spinbot then
updateSpin()
end
end
})
local stamina_group = tabs.main:AddLeftGroupbox("Sprint/Stamina")
local stamina_thread, sprint_thread;
stamina_group:AddToggle("infinitestamina", {
Text = "Infinite Stamina",
Default = g.infinitestamina,
Callback = function(state)
g.infinitestamina = state;
if state then
stamina_thread = task.spawn(function()
while g.infinitestamina and task.wait(0.1) do
local player = game.Players.LocalPlayer;
if player and player:FindFirstChild("Values") then
local stamina = player.Values:FindFirstChild("Stamina")
local maxStamina = player.Values:FindFirstChild("MaxStamina")
if stamina and maxStamina then
stamina.Value = maxStamina.Value
end
end
end
end)
elseif stamina_thread then
task.cancel(stamina_thread)
end
end
})
stamina_group:AddToggle("autosprint", {
Text = "Auto Sprint",
Default = g.autosprint,
Callback = function(state)
g.autosprint = state;
if state then
sprint_thread = task.spawn(function()
while g.autosprint and task.wait(0.1) do
local player = game.Players.LocalPlayer;
local char = player.Character;
if char and char:FindFirstChildOfClass("Humanoid") then
local humanoid = char.Humanoid;
if humanoid.MoveDirection.Magnitude > 0 then
game:GetService("ReplicatedStorage").Events.Sprint:FireServer(humanoid.MoveDirection.Magnitude)
end
end
end
end)
elseif sprint_thread then
task.cancel(sprint_thread)
game:GetService("ReplicatedStorage").Events.Sprint:FireServer(0)
end
end
})
local speed_group = tabs.main:AddLeftGroupbox("Speed")
local walkspeed_thread, cfspeed_thread;
speed_group:AddToggle("speeedwd", {
Text = "WalkSpeed",
Default = g.speeedwd,
Callback = function(state)
g.speeedwd = state;
local char = game.Players.LocalPlayer.Character;
local humanoid = char and char:FindFirstChildOfClass("Humanoid")
if state then
walkspeed_thread = task.spawn(function()
while g.speeedwd and task.wait(0.1) do
if humanoid then
humanoid.WalkSpeed = g.speedor
end
end
end)
else
if walkspeed_thread then
task.cancel(walkspeed_thread)
end;
if humanoid then
humanoid.WalkSpeed = 16
end
end
end
})
speed_group:AddSlider("speedor", {
Text = "Speed",
Default = g.speedor,
Min = 1,
Max = 50,
Rounding = 0,
Callback = function(value)
g.speedor = value
end
})
speed_group:AddToggle("cframespeed", {
Text = "CFrame Speed",
Default = g.cframespeed,
Callback = function(state)
g.cframespeed = state;
if state then
cfspeed_thread = task.spawn(function()
while g.cframespeed and task.wait() do
local char = game.Players.LocalPlayer.Character;
local humanoid = char and char:FindFirstChildOfClass("Humanoid")
local hrp = char and char:FindFirstChild("HumanoidRootPart")
if humanoid and hrp and humanoid.MoveDirection.Magnitude > 0 then
local newPos = hrp.Position + (humanoid.MoveDirection * g.cfv * 0.1)
hrp.CFrame = hrp.CFrame:Lerp(CFrame.new(newPos, newPos + humanoid.MoveDirection), 0.5)
end
end
end)
elseif cfspeed_thread then
task.cancel(cfspeed_thread)
end
end
})
speed_group:AddSlider("cfv", {
Text = "Speed",
Default = g.cfv,
Min = 0.01,
Max = 50,
Rounding = 2,
Callback = function(value)
g.cfv = value
end
})
local anti_group = tabs.main:AddRightGroupbox("Anti")
local oob_thread_1, oob_thread_2;
anti_group:AddToggle("antioob", {
Text = "No Boundaries",
Default = g.antioob,
Callback = function(state)
g.antioob = state;
local courts = workspace:FindFirstChild("Courts")
if not courts then
return
end;
if state then
for _, court in ipairs(courts:GetChildren()) do
for _, part in ipairs(court:GetDescendants()) do
if part:IsA("BasePart") and (part.Name:lower():find("oob") or part.Name:lower():find("border")) then
g.clonethooobprt[part] = part:Clone()
part:Destroy()
end
end
end
else
for originalPart, clonedPart in pairs(g.clonethooobprt) do
if originalPart and originalPart.Parent and not originalPart.Parent:FindFirstChild(originalPart.Name) then
local newPart = clonedPart:Clone()
newPart.Parent = originalPart.Parent
end
end;
g.clonethooobprt = {}
end
end
})
anti_group:AddToggle("antioob_new", {
Text = "Anti OOB",
Default = g.antioob_new,
Callback = function(state)
g.antioob_new = state;
if state then
for _, part in ipairs(workspace:GetDescendants()) do
if part:IsA("BasePart") and part.Name == "OutOfBounds_1" then
g.oobOriginalSizes[part] = part.Size;
part.Size = Vector3.new(0.0001, 0.0001, 0.001)
end
end
else
for part, originalSize in pairs(g.oobOriginalSizes) do
if part and part.Parent then
part.Size = originalSize
end
end;
g.oobOriginalSizes = {}
end
end
})
local anti_contest_thread;
anti_group:AddToggle("anticontest", {
Text = "Anti Contest",
Default = g.anticontest,
Callback = function(state)
g.anticontest = state
end
})
anti_group:AddSlider("contestheight", {
Text = "Height",
Default = g.contestheight,
Min = 0,
Max = 22,
Rounding = 1,
Callback = function(value)
g.contestheight = value
end
})
local auto_group = tabs.main:AddRightGroupbox("Auto")
local autoguard_thread;
auto_group:AddToggle("autoguard", {
Text = "Auto Guard",
Default = g.autoguard,
Callback = function(state)
g.autoguard = state;
if state then
autoguard_thread = task.spawn(function()
while g.autoguard and task.wait() do
local char = game.Players.LocalPlayer.Character;
local humanoid = char and char:FindFirstChildOfClass("Humanoid")
if humanoid and humanoid.RootPart then
humanoid:MoveTo(humanoid.RootPart.Position)
game:GetService("ReplicatedStorage").Events.Guard:FireServer()
end
end
end)
elseif autoguard_thread then
task.cancel(autoguard_thread)
end
end
})
local dribble_group = tabs.main:AddRightGroupbox("Dribble")
local dribble_thread;
dribble_group:AddToggle("dribbleglide", {
Text = "Dribble Glide",
Default = g.dribbleglide,
Callback = function(state)
g.dribbleglide = state;
if state then
dribble_thread = task.spawn(function()
while g.dribbleglide and task.wait() do
local player = game.Players.LocalPlayer;
local char = player.Character;
local values = player:FindFirstChild("Values")
if char and values and values:FindFirstChild("Dribbling") then
if values.Dribbling.Value == true then
local humanoid = char:FindFirstChildOfClass("Humanoid")
local hrp = char:FindFirstChild("HumanoidRootPart")
if humanoid and hrp and humanoid.MoveDirection.Magnitude > 0 then
local dist = g.glidedistance * 0.1;
local newPos = hrp.Position + (humanoid.MoveDirection * dist)
hrp.CFrame = hrp.CFrame:Lerp(CFrame.new(newPos, newPos + humanoid.MoveDirection), 0.3)
end
end
end
end
end)
elseif dribble_thread then
task.cancel(dribble_thread)
end
end
})
dribble_group:AddSlider("glidedistance", {
Text = "Distance",
Default = g.glidedistance,
Min = 0,
Max = 35,
Rounding = 0,
Callback = function(value)
g.glidedistance = value
end
})
local fps_group = tabs.misc:AddLeftGroupbox("FPS")
fps_group:AddToggle("fpscap", {
Text = "FPS Cap",
Default = g.fpscap,
Callback = function(state)
g.fpscap = state;
if state then
setfpscap(g.fpsvalue)
else
setfpscap(99999)
end
end
})
fps_group:AddSlider("fpsvalue", {
Text = "Cap",
Default = g.fpsvalue,
Min = 1,
Max = 240,
Rounding = 0,
Callback = function(value)
g.fpsvalue = value;
if g.fpscap then
setfpscap(value)
end
end
})
local unlockers_group = tabs.misc:AddRightGroupbox("Unlockers")
unlockers_group:AddButton("Unlock All Rewards", function()
game.Players.LocalPlayer.Profile.SeasonPass.SeasonPassLevel.Value = 100
end)
unlockers_group:AddButton("Unlock Premium", function()
game.Players.LocalPlayer.Profile.Gamepasses.SeasonPassPremium.Value = true
end)
unlockers_group:AddButton("Unlock All Clothing", function()
local profile = game.Players.LocalPlayer:FindFirstChild("Profile")
if not profile then
return
end;
local inventory = profile:FindFirstChild("Inventory")
local clothingAssets = game:GetService("ReplicatedStorage"):FindFirstChild("ClothingAssets")
if not(inventory and clothingAssets) then
return
end;
for _, categoryFolder in ipairs(clothingAssets:GetChildren()) do
local invCategory = inventory:FindFirstChild(categoryFolder.Name)
if not invCategory then
invCategory = Instance.new("Folder", inventory)
invCategory.Name = categoryFolder.Name
end;
for _, item in ipairs(categoryFolder:GetChildren()) do
if not invCategory:FindFirstChild(item.Name) then
local boolValue = Instance.new("BoolValue", invCategory)
boolValue.Name = item.Name
end
end
end;
game:GetService("ReplicatedStorage").Events.UpdateInventory:FireServer()
end)
local original_hip_height;
old_namecall = hookmetamethod(game, "__namecall", function(...)
local args = {
...
}
local self = args[1]
local method = getnamecallmethod()
if g.anticontest and checkcaller() and method == "FireServer" and tostring(self) == "Shoot" then
local char = game.Players.LocalPlayer.Character;
if char and char:FindFirstChildOfClass("Humanoid") then
local humanoid = char.Humanoid;
original_hip_height = humanoid.HipHeight;
humanoid.HipHeight = g.contestheight
end
end;
local result = {
old_namecall(...)
}
if g.anticontest and checkcaller() and method == "FireServer" and tostring(self) == "Shoot" then
local char = game.Players.LocalPlayer.Character;
if char and char:FindFirstChildOfClass("Humanoid") and original_hip_height then
char.Humanoid.HipHeight = original_hip_height;
original_hip_height = nil
end
end;
return unpack(result)
end)
library.OnUnload(function()
hookmetamethod(game, "__namecall", old_namecall)
g.autogreen = false;
g.perfectmeter = false;
if perfectmeter_thread then
task.cancel(perfectmeter_thread)
end;
g.spinbot = false;
updateSpin()
g.antioob = false;
g.antioob_new = false;
g.anticontest = false;
g.autoguard = false;
if autoguard_thread then
task.cancel(autoguard_thread)
end;
g.dribbleglide = false;
if dribble_thread then
task.cancel(dribble_thread)
end;
g.infinitestamina = false;
if stamina_thread then
task.cancel(stamina_thread)
end;
g.autosprint = false;
if sprint_thread then
task.cancel(sprint_thread)
end;
g.speeedwd = false;
if walkspeed_thread then
task.cancel(walkspeed_thread)
end;
g.cframespeed = false;
if cfspeed_thread then
task.cancel(cfspeed_thread)
end;
setfpscap(99999)
local char = game.Players.LocalPlayer.Character;
if char then
local humanoid = char:FindFirstChildOfClass("Humanoid")
if humanoid then
humanoid.WalkSpeed = 16;
if original_hip_height then
humanoid.HipHeight = original_hip_height
end
end
end;
if next(g.clonethooobprt) then
local courts = workspace:FindFirstChild("Courts")
for originalPart, clonedPart in pairs(g.clonethooobprt) do
if originalPart and originalPart.Parent and not originalPart.Parent:FindFirstChild(originalPart.Name) then
local newPart = clonedPart:Clone()
newPart.Parent = originalPart.Parent
end
end
end;
if next(g.oobOriginalSizes) then
for part, originalSize in pairs(g.oobOriginalSizes) do
if part and part.Parent then
part.Size = originalSize
end
end
end
end)
To embed this project on your website, copy the following code and paste it into your website's HTML: