-- Arcade Basketball | JBSploit.mov Script
-- Load dependencies
local repo = 'https://[Log in to view URL]'
local Library = loadstring(game:HttpGet('https://[Log in to view URL]'))()
local ThemeManager = loadstring(game:HttpGet('https://[Log in to view URL]'))()
local SaveManager = loadstring(game:HttpGet(repo .. 'addons/SaveManager.lua'))()
-- Roblox services
local Players = game:GetService('Players')
local Workspace = game:GetService('Workspace')
local RunService = game:GetService('RunService')
local ReplicatedStorage = game:GetService('ReplicatedStorage')
local UserInputService = game:GetService('UserInputService')
-- Player references
local LocalPlayer = Players.LocalPlayer
local Character = LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait()
local Humanoid = Character:FindFirstChildOfClass("Humanoid")
local HumanoidRootPart = Character.HumanoidRootPart
-- Player inventory and cosmetic assets
local inventory = LocalPlayer:WaitForChild("Profile"):WaitForChild("Inventory")
local clothingAssets = ReplicatedStorage:WaitForChild("ClothingAssets")
local LogosFolder = LocalPlayer.Profile.Logos
-- Basketballs and camera
local Basketballs = Workspace.Basketballs
local Camera = Workspace.CurrentCamera
-- Find the shoot function via garbage collection
local ShootFunction
for _, v in next, getgc(false) do
if type(v) == "function" then
local name = debug.getinfo(v).name
if name == "shoot" or name == "Shoot" then
ShootFunction = v
end
end
end
-- Default shoot arguments
local args = { true, 100, [4] = false }
-- Set up logos dropdown list
local LogosTable = {}
for _, value in ipairs(LogosFolder:GetChildren()) do
table.insert(LogosTable, tostring(value))
end
-- Create UI window
local Window = Library:CreateWindow({
Title = 'JBSploit | Free | Arcade Basketball',
Center = true,
AutoShow = true,
TabPadding = 8,
MenuFadeTime = 0.2
})
-- Tabs
local Tabs = {
Main = Window:AddTab('Main'),
UI_Settings = Window:AddTab('UI Settings'),
}
-- Main tab controls
local Main = Tabs.Main:AddLeftGroupbox('Main')
Main:AddToggle('AutoGreen', { Text = 'Auto Green' })
Main:AddToggle('WalkSpeed', { Text = 'Walk Speed' })
Main:AddSlider('Speed', {
Text = 'Speed',
Default = 16,
Min = 0,
Max = 40,
Rounding = 2,
})
Main:AddToggle('AutoGreenRageToggle', {
Text = 'Rage Auto Green (PRESS T)',
Default = false,
Tooltip = 'Very obvious -- works the best',
})
Main:AddToggle('LogosDisplayToggle', {
Text = 'Logos Display',
Default = false,
Tooltip = 'Shows a Logo next to your name in Chat [Client-Sided]',
Callback = function(Value)
for _, logo in ipairs(LogosFolder:GetChildren()) do
logo.Value = false
end
if Value then
LogosFolder:FindFirstChild(Options.LogosDropdown.Value).Value = true
end
end,
})
Main:AddDropdown('LogosDropdown', {
Values = LogosTable,
Default = 1,
Multi = false,
Text = 'Logos Dropdown',
Tooltip = 'Shows Logo in Chat [Client-Sided]',
Callback = function(Value)
if Toggles.LogosDisplayToggle.Value then
for _, logo in ipairs(LogosFolder:GetChildren()) do
logo.Value = false
end
LogosFolder:FindFirstChild(Value).Value = true
end
end,
})
Main:AddToggle('InfStamina', { Text = 'Infinite Stamina' })
Main:AddButton({
Text = 'Unlock All',
Func = function()
-- Clears profile inventory and clones clothing assets into it
for _, item in ipairs(inventory:GetChildren()) do
item:Destroy()
end
for _, asset in ipairs(clothingAssets:GetChildren()) do
asset:Clone().Parent = inventory
end
end,
DoubleClick = false,
})
-- Hook shoot event to enable AutoGreen functionality
local ShootRemote = ReplicatedStorage:WaitForChild("Events"):WaitForChild("Shoot")
local namecall
namecall = hookmetamethod(game, "__namecall", function(self, ...)
local arg = {...}
if not checkcaller() and self == ShootRemote and getnamecallmethod():lower() == "fireserver" and Toggles.AutoGreen.Value then
arg[2] = -0.98
return namecall(self, unpack(arg))
end
return namecall(self, ...)
end)
-- Rage auto green: press T to shoot with green effect
UserInputService.InputBegan:Connect(function(input, gameProcessed)
if input.KeyCode == Enum.KeyCode.T then
ShootRemote:FireServer(nil, -1, nil, nil)
ShootRemote:FireServer(nil, -1, nil)
end
end)
-- Infinite stamina
LocalPlayer.Values.Stamina:GetPropertyChangedSignal("Value"):Connect(function()
if LocalPlayer.Values.Stamina.Value ~= 1 and Toggles.InfStamina.Value then
LocalPlayer.Values.Stamina.Value = 1
end
end)
-- WalkSpeed control
RunService.RenderStepped:Connect(function()
if Toggles.WalkSpeed.Value then
Character.Humanoid.WalkSpeed = Options.Speed.Value
end
end)
-- Watermark and FPS tracker
Library:SetWatermarkVisibility(true)
local FrameTimer, FrameCounter = tick(), 0
local FPS = 60
RunService.RenderStepped:Connect(function()
FrameCounter += 1
if tick() - FrameTimer >= 1 then
FPS = FrameCounter
FrameTimer = tick()
FrameCounter = 0
end
local ping = math.floor(game:GetService('Stats').Network.ServerStatsItem['Data Ping']:GetValue())
Library:SetWatermark(('JBSploit | Free(Temp) | %s fps | %s ms'):format(math.floor(FPS), ping))
end)
Library.KeybindFrame.Visible = true
Library:OnUnload(function()
Library.Unloaded = true
end)
-- UI Settings tab
local MenuGroup = Tabs.UI_Settings:AddLeftGroupbox('Menu')
MenuGroup:AddLabel('Made by: jaayb, The')
MenuGroup:AddButton('Copy Discord', function()
setclipboard("https://[Log in to view URL]")
end)
MenuGroup:AddButton('Unload', function()
Library:Unload()
end)
MenuGroup:AddToggle('WatermarkVisibiltyToggle', {
Text = 'Hide Watermark',
Default = false,
Tooltip = 'Hides Watermark',
Callback = function(Value)
Library:SetWatermarkVisibility(not Value)
end,
})
MenuGroup:AddLabel('Menu bind')
:AddKeyPicker('MenuKeybind', {
Default = 'End',
NoUI = true,
Text = 'Menu keybind'
})
-- Apply Theme and Save settings
Library.ToggleKeybind = Options.MenuKeybind
ThemeManager:SetLibrary(Library)
SaveManager:SetLibrary(Library)
SaveManager:IgnoreThemeSettings()
SaveManager:SetIgnoreIndexes({ 'MenuKeybind' })
ThemeManager:SetFolder('JBSploit.mov')
SaveManager:SetFolder('JBSploit.mov/ArcadeBasketball')
SaveManager:BuildConfigSection(Tabs.UI_Settings)
ThemeManager:ApplyToTab(Tabs.UI_Settings)
SaveManager:LoadAutoloadConfig()
-- Notifications
Library:Notify(("Welcome to JBSploit.Mov %s"):format(LocalPlayer.Name), 6)
Library:Notify(("Status: - Undetected (Safe to use)"), 6)
To embed this project on your website, copy the following code and paste it into your website's HTML: