M
Description
I haven't tested this script yet. Because my phone is a potato + Delta doesn't support some features I want to add. This script still has a lot of bugs and sometimes works, sometimes it doesn't.
GAME[TRADEUPS] BloxStrike
UPDATEDOct 19, 2026
ACCESSKeyless
PLATFORMDesktop & Mobile
Script source Luau
-- [[ BloxScripts Risk Notice ]]
-- This script has not been verified by BloxScripts.fun. Deal with caution.
--
-- Stay safe:
-- • Never log in on unofficial Roblox sites or lookalike domains.
-- • Real Roblox links use roblox.com (check the .com ending).
-- • Treat fake Roblox login / "claim reward" pages as phishing.
-- [[ End BloxScripts Risk Notice ]]
-- Jailbreak Script v9 | God Mode + Auto Shoot + Brutal Aim + Full Silent
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 CoreGui = game:GetService("CoreGui")
local VirtualUser = game:GetService("VirtualUser")
local Camera = Workspace.CurrentCamera
local LocalPlayer = Players.LocalPlayer
local Mouse = LocalPlayer:GetMouse()
getgenv().JBS = {
Aimbot = true, SilentAim = false, ShowFOV = false, AimbotSnap = true,
AutoShoot = false, GodMode = false,
ESP = false, ESP2D = false, ESPSkeleton = false, ESPVisibility = false,
ShowTeam = false, ESPName = true, ESPDist = true,
Fly = false, NoRecoil = false, NoSpread = false, Noclip = false,
Triggerbot = false, AntiAFK = false, AntiFlash = false, AntiSmoke = false,
SwitchBtnLocked = false, RequireLOS = false,
AimbotFOV = 250, AimbotSmooth = 0.2, AimbotPart = "Head",
AimbotDistWeight = 0.3, MaxAimDistance = 500, MaxVerticalDelta = 300,
FlySpeed = 80, TriggerDelay = 0.05,
FlyBV = nil, FlyBG = nil, NoclipConn = nil, AntiAFKConn = nil,
ESPTracked = {}, HealthHookInstalled = false,
}
local bypassHook = false
local lockedTarget = nil
local shootingUntil = 0
local RECOIL_WINDOW = 0.18
local function markShooting() shootingUntil = os.clock() + RECOIL_WINDOW end
local function getViewportCenter()
local vp = Camera.ViewportSize
return Vector2.new(vp.X / 2, vp.Y / 2)
end
local function isEnemy(p)
if p == LocalPlayer then return false end
if JBS.ShowTeam then return true end
if p.Team and LocalPlayer.Team then return p.Team ~= LocalPlayer.Team end
return true
end
-- ============================================
-- STRICT RIG FILTER
-- ============================================
local function getPlayerRig(p)
if not p or p == LocalPlayer then return nil end
if not p:IsA("Player") then return nil end
if p.Parent ~= Players then return nil end
local char = p.Character
if not char or char.ClassName ~= "Model" then return nil end
if char.Parent ~= Workspace then return nil end
local hum = char:FindFirstChildOfClass("Humanoid")
if not hum or hum.Health <= 0 then return nil end
local root = hum.RootPart or char:FindFirstChild("HumanoidRootPart")
if not root or not root:IsA("BasePart") then return nil end
local head = char.Head or char:FindFirstChild("Head")
if not head or not head:IsA("BasePart") then return nil end
if (head.Position - root.Position).Magnitude > 6 then return nil end
local torso = char:FindFirstChild("UpperTorso") or char:FindFirstChild("LowerTorso") or char:FindFirstChild("Torso")
if not torso or not torso:IsA("BasePart") then return nil end
return { char = char, hum = hum, root = root, head = head, torso = torso, rigType = hum.RigType }
end
local function getAimPart(rig)
if not rig then return nil end
local p = rig.char:FindFirstChild(JBS.AimbotPart)
if p and p:IsA("BasePart") and not p.Anchored then
if (p.Position - rig.root.Position).Magnitude < 6 then return p end
end
return rig.head
end
local function targetPassesFilters(rig)
if not rig then return false end
local root = rig.root
if root.Position.Y > 10000 or root.Position.Y < -500 then return false end
local myRoot = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart")
if not myRoot then return true end
local dist = (root.Position - myRoot.Position).Magnitude
if dist > JBS.MaxAimDistance then return false end
local vDelta = math.abs(root.Position.Y - myRoot.Position.Y)
if vDelta > JBS.MaxVerticalDelta then return false end
if JBS.RequireLOS then
local rp = RaycastParams.new()
rp.FilterType = Enum.RaycastFilterType.Exclude
rp.FilterDescendantsInstances = { LocalPlayer.Character, rig.char }
if Workspace:Raycast(Camera.CFrame.Position, root.Position - Camera.CFrame.Position, rp) then return false end
end
return true
end
local function collectTargets(maxDist)
local center = getViewportCenter()
local myRoot = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart")
local candidates = {}
for _, p in ipairs(Players:GetPlayers()) do
if not isEnemy(p) then continue end
local rig = getPlayerRig(p)
if not rig then continue end
if not targetPassesFilters(rig) then continue end
local sp, onScreen = Camera:WorldToViewportPoint(rig.root.Position)
if not onScreen then continue end
local sd = (Vector2.new(sp.X, sp.Y) - center).Magnitude
if sd > (maxDist or JBS.AimbotFOV) then continue end
local d3 = myRoot and (rig.root.Position - myRoot.Position).Magnitude or 0
table.insert(candidates, {
rig = rig, plr = p, part = getAimPart(rig),
score = sd + d3 * JBS.AimbotDistWeight,
})
end
table.sort(candidates, function(a, b) return a.score < b.score end)
return candidates
end
local function targetStillValid(t)
if not t or not t.plr or not t.plr.Parent then return false end
local rig = getPlayerRig(t.plr)
if not rig then return false end
if not targetPassesFilters(rig) then return false end
t.rig = rig
t.part = getAimPart(rig)
return t.part ~= nil
end
local function getTarget(maxDist)
if lockedTarget and targetStillValid(lockedTarget) then return lockedTarget end
lockedTarget = collectTargets(maxDist)[1]
return lockedTarget
end
local function findNextTarget(current, maxDist)
local c = collectTargets(maxDist)
if #c == 0 then return nil end
if not current then return c[1] end
for i, cand in ipairs(c) do
if cand.plr == current.plr then return c[i + 1] end
end
return c[1]
end
-- ============================================
-- GOD MODE (hook Health setter + loop enforcement)
-- ============================================
local godModeHealth = 1000000
pcall(function()
local mt = getrawmetatable(game)
local oldNew = mt.__newindex
setreadonly(mt, false)
mt.__newindex = newcclosure(function(self, key, value)
if JBS.GodMode and typeof(self) == "Instance" and self:IsA("Humanoid") then
if self:IsDescendantOf(LocalPlayer.Character or game) then
if key == "Health" and type(value) == "number" and value < self.MaxHealth then
return
end
if key == "MaxHealth" and type(value) == "number" and value < godModeHealth then
return oldNew(self, key, godModeHealth)
end
end
end
return oldNew(self, key, value)
end)
setreadonly(mt, true)
end)
task.spawn(function()
while task.wait(0.1) do
if JBS.GodMode then
local char = LocalPlayer.Character
local hum = char and char:FindFirstChildOfClass("Humanoid")
if hum then
pcall(function()
if hum.MaxHealth ~= godModeHealth then hum.MaxHealth = godModeHealth end
if hum.Health ~= godModeHealth then hum.Health = godModeHealth end
end)
end
end
end
end)
-- ============================================
-- AIMBOT — default SNAP instant lock
-- ============================================
local function applyAimbotToCFrame(inputCF)
local t = getTarget()
if not t or not t.part then return inputCF end
local pos = typeof(inputCF) == "CFrame" and inputCF.Position or Camera.CFrame.Position
local desired = CFrame.lookAt(pos, t.part.Position)
if JBS.AimbotSnap or JBS.AimbotSmooth <= 0.39 then return desired end
local alpha = math.clamp(JBS.AimbotSmooth * 0.5, 0.05, 1)
return inputCF:Lerp(desired, alpha)
end
pcall(function()
local mt = getrawmetatable(game)
local oldNew = mt.__newindex
setreadonly(mt, false)
mt.__newindex = newcclosure(function(self, key, value)
if bypassHook then return oldNew(self, key, value) end
if key == "CFrame" and typeof(self) == "Instance" and self == Camera then
if JBS.Aimbot then return oldNew(self, key, applyAimbotToCFrame(value)) end
end
return oldNew(self, key, value)
end)
setreadonly(mt, true)
end)
-- Recoil
local prevCamCF = Camera.CFrame
RunService:BindToRenderStep("JBS_RecoilStrip", Enum.RenderPriority.Camera.Value + 2, function()
local cur = Camera.CFrame
if JBS.NoRecoil and os.clock() < shootingUntil then
local delta = prevCamCF.Rotation:ToObjectSpace(cur.Rotation)
local rx, ry, rz = delta:ToEulerAnglesXYZ()
if math.abs(rx) + math.abs(ry) + math.abs(rz) < 0.15 then
bypassHook = true
Camera.CFrame = CFrame.new(cur.Position) * prevCamCF.Rotation
bypassHook = false
else prevCamCF = cur end
else prevCamCF = cur end
end)
UserInputService.InputBegan:Connect(function(i, g)
if g then return end
if i.UserInputType == Enum.UserInputType.MouseButton1 or i.UserInputType == Enum.UserInputType.Touch then
markShooting()
end
end)
-- ============================================
-- SILENT AIM (GetMouseLocation + all ray methods)
-- ============================================
local function getSilentTarget()
return getTarget(JBS.AimbotFOV)
end
pcall(function()
local mt = getrawmetatable(game)
local oldIndex = mt.__index
local oldNamecall = mt.__namecall
setreadonly(mt, false)
mt.__index = newcclosure(function(self, key)
if JBS.SilentAim then
local t = getSilentTarget()
if t and t.part then
if key == "Hit" and (self == Mouse or self == Camera) then
return CFrame.new(t.part.Position)
end
if key == "Target" and (self == Mouse or self == Camera) then
return t.part
end
if key == "UnitRay" and self == Mouse then
local o = Camera.CFrame.Position
return Ray.new(o, (t.part.Position - o).Unit * 2000)
end
if key == "GetMouseLocation" and self == UserInputService then
local sp, onScreen = Camera:WorldToViewportPoint(t.part.Position)
if onScreen then return Vector2.new(sp.X, sp.Y) end
end
end
end
return oldIndex(self, key)
end)
mt.__namecall = newcclosure(function(self, ...)
local method = getnamecallmethod()
if JBS.SilentAim and (method == "ScreenPointToRay" or method == "ViewportPointToRay") then
local t = getSilentTarget()
if t and t.part then
local o = Camera.CFrame.Position
return Ray.new(o, (t.part.Position - o).Unit * 1000)
end
end
if (method == "Raycast" or method == "FindPartOnRay" or method == "FindPartOnRayWithIgnoreList" or method == "FindPartOnRayWithWhitelist") and (JBS.SilentAim or JBS.NoSpread) then
local args = {...}
local camOrigin = Camera.CFrame.Position
local camDir = Camera.CFrame.LookVector
local origin
if method == "Raycast" then origin = args[1]
elseif typeof(self) == "Ray" then origin = self.Origin end
local isPlayerRay = typeof(origin) == "Vector3" and (origin - camOrigin).Magnitude < 15
if isPlayerRay and JBS.SilentAim then
local t = getSilentTarget()
if t and t.part then
if method == "Raycast" and typeof(args[1]) == "Vector3" and typeof(args[2]) == "Vector3" then
args[2] = (t.part.Position - args[1]).Unit * args[2].Magnitude
elseif typeof(self) == "Ray" then
return oldNamecall(Ray.new(self.Origin, (t.part.Position - self.Origin).Unit * self.Direction.Magnitude), ...)
end
return oldNamecall(self, unpack(args))
end
end
if isPlayerRay and JBS.NoSpread then
if method == "Raycast" and typeof(args[1]) == "Vector3" and typeof(args[2]) == "Vector3" then
local dir = args[2]
if dir.Magnitude > 0 and dir.Unit:Dot(camDir) > 0.5 then args[2] = camDir * dir.Magnitude end
elseif typeof(self) == "Ray" then
local dir = self.Direction
if dir.Magnitude > 0 and dir.Unit:Dot(camDir) > 0.5 then
return oldNamecall(Ray.new(self.Origin, camDir * dir.Magnitude), ...)
end
end
end
return oldNamecall(self, unpack(args))
end
return oldNamecall(self, ...)
end)
setreadonly(mt, true)
end)
if hookfunction then
pcall(function()
local oldRayNew = Ray.new
hookfunction(Ray.new, function(origin, direction)
if typeof(origin) ~= "Vector3" or typeof(direction) ~= "Vector3" then return oldRayNew(origin, direction) end
if (origin - Camera.CFrame.Position).Magnitude > 15 then return oldRayNew(origin, direction) end
if JBS.SilentAim then
local t = getSilentTarget()
if t and t.part then return oldRayNew(origin, (t.part.Position - origin).Unit * direction.Magnitude) end
end
if JBS.NoSpread then
local camDir = Camera.CFrame.LookVector
if direction.Magnitude > 0 and direction.Unit:Dot(camDir) > 0.5 then
return oldRayNew(origin, camDir * direction.Magnitude)
end
end
return oldRayNew(origin, direction)
end)
end)
end
-- ============================================
-- TRIGGERBOT + AUTO SHOOT (fire via VirtualUser fallback)
-- ============================================
local function fireOnce()
markShooting()
pcall(function()
if mouse1click then mouse1click() else
VirtualUser:CaptureController()
VirtualUser:ClickButton1(Vector2.new(0, 0))
end
end)
pcall(function()
VirtualUser:CaptureController()
VirtualUser:ClickButton1(Vector2.new(0, 0))
end)
end
task.spawn(function()
while task.wait(JBS.TriggerDelay) do
if JBS.Triggerbot and lockedTarget and targetStillValid(lockedTarget) then
local t = getTarget(80)
if t and t.plr and t.plr.Character then
local hum = t.plr.Character:FindFirstChildOfClass("Humanoid")
if hum and hum.Health > 0 then fireOnce() end
end
end
if JBS.AutoShoot and JBS.Aimbot and lockedTarget and targetStillValid(lockedTarget) then
fireOnce()
end
end
end)
-- ============================================
-- ESP — parent ke char (bukan CoreGui), AlwaysOnTop
-- ============================================
local function isPartVisible(part, char)
if not JBS.ESPVisibility then return true end
local origin = Camera.CFrame.Position
local rp = RaycastParams.new()
rp.FilterType = Enum.RaycastFilterType.Exclude
local excludes = { LocalPlayer.Character }
if char then table.insert(excludes, char) end
rp.FilterDescendantsInstances = excludes
return Workspace:Raycast(origin, part.Position - origin, rp) == nil
end
local function clearESP()
for _, entry in pairs(JBS.ESPTracked) do
if entry.highlight then pcall(function() entry.highlight:Destroy() end) end
if entry.billboard then pcall(function() entry.billboard:Destroy() end) end
if entry.boxLines then for _, l in ipairs(entry.boxLines) do pcall(function() l:Remove() end) end end
if entry.skelLines then for _, l in ipairs(entry.skelLines) do pcall(function() l:Remove() end) end end
end
JBS.ESPTracked = {}
end
local function removePlayerESP(p)
local e = JBS.ESPTracked[p]
if not e then return end
if e.highlight then pcall(function() e.highlight:Destroy() end) end
if e.billboard then pcall(function() e.billboard:Destroy() end) end
if e.boxLines then for _, l in ipairs(e.boxLines) do pcall(function() l:Remove() end) end end
if e.skelLines then for _, l in ipairs(e.skelLines) do pcall(function() l:Remove() end) end end
JBS.ESPTracked[p] = nil
end
local function attachESP(p)
if p == LocalPlayer or not isEnemy(p) then removePlayerESP(p) return end
local rig = getPlayerRig(p)
if not rig then removePlayerESP(p) return end
local char = rig.char
local entry = JBS.ESPTracked[p]
if not entry then
entry = { boxLines = {}, skelLines = {} }
JBS.ESPTracked[p] = entry
end
-- Highlight parent = char, adornee = char (v7 style — works)
if JBS.ESP then
if not entry.highlight or entry.highlight.Parent ~= char or entry.highlight.Adornee ~= char then
if entry.highlight then pcall(function() entry.highlight:Destroy() end) end
local hl = Instance.new("Highlight")
hl.Name = "JBS_HL"
hl.FillColor = Color3.fromRGB(255, 60, 60)
hl.OutlineColor = Color3.fromRGB(255, 255, 0)
hl.FillTransparency = 0.45
hl.OutlineTransparency = 0.2
hl.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop
hl.Adornee = char
hl.Parent = char
entry.highlight = hl
else
entry.highlight.Enabled = true
end
else
if entry.highlight then entry.highlight.Enabled = false end
end
-- Billboard
if JBS.ESPName or JBS.ESPDist then
if not entry.billboard or entry.billboard.Parent ~= rig.head then
if entry.billboard then pcall(function() entry.billboard:Destroy() end) end
local bb = Instance.new("BillboardGui")
bb.Name = "JBS_BB"
bb.Size = UDim2.new(0, 160, 0, 40)
bb.StudsOffset = Vector3.new(0, 2, 0)
bb.AlwaysOnTop = true
bb.Parent = rig.head
local lbl = Instance.new("TextLabel")
lbl.Name = "Lbl"
lbl.Size = UDim2.new(1, 0, 1, 0)
lbl.BackgroundTransparency = 1
lbl.TextColor3 = Color3.fromRGB(255, 255, 0)
lbl.Font = Enum.Font.GothamBold
lbl.TextSize = 14
lbl.TextStrokeTransparency = 0
lbl.Text = p.Name
lbl.Parent = bb
entry.billboard = bb
end
entry.billboard.Enabled = true
else
if entry.billboard then entry.billboard.Enabled = false end
end
end
local function refreshAllESP()
if not JBS.ESP and not JBS.ESP2D and not JBS.ESPSkeleton then clearESP() return end
for _, p in ipairs(Players:GetPlayers()) do attachESP(p) end
end
Players.PlayerAdded:Connect(function(p)
p.CharacterAdded:Connect(function() task.defer(function() attachESP(p) end) end)
p.CharacterRemoving:Connect(function() removePlayerESP(p) end)
end)
Players.PlayerRemoving:Connect(function(p) removePlayerESP(p) end)
task.spawn(function()
while task.wait(0.1) do
if JBS.ESP or JBS.ESP2D or JBS.ESPSkeleton then
for _, p in ipairs(Players:GetPlayers()) do
if isEnemy(p) and p.Character then attachESP(p)
elseif not isEnemy(p) then removePlayerESP(p) end
end
end
end
end)
RunService.RenderStepped:Connect(function()
if not JBS.ESPDist then return end
local myRoot = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart")
if not myRoot then return end
for p, entry in pairs(JBS.ESPTracked) do
if entry.billboard and entry.billboard.Parent then
local lbl = entry.billboard:FindFirstChild("Lbl")
local root = p.Character and p.Character:FindFirstChild("HumanoidRootPart")
if lbl and root then
local txt = p.Name
if JBS.ESPDist then txt = txt .. " [" .. math.floor((root.Position - myRoot.Position).Magnitude) .. "m]" end
lbl.Text = txt
end
end
end
end)
-- 2D + Skeleton
local function ensureBoxLines(entry)
if #entry.boxLines >= 4 then return end
for i = 1, 4 do
local l = Drawing.new("Line")
l.Thickness = 1.5 l.Color = Color3.fromRGB(255, 60, 60)
l.Transparency = 1 l.Visible = false
table.insert(entry.boxLines, l)
end
end
local function ensureSkelLines(entry, count)
while #entry.skelLines < count do
local l = Drawing.new("Line")
l.Thickness = 2 l.Color = Color3.fromRGB(255, 255, 0)
l.Transparency = 1 l.Visible = false
table.insert(entry.skelLines, l)
end
end
local function drawSkeleton(entry, rig, visible)
local bones = {}
if rig.rigType == Enum.HumanoidRigType.R15 then
local function gp(n) local x = rig.char:FindFirstChild(n) if x and x:IsA("BasePart") then return x end end
local h, ut, lt = rig.head, gp("UpperTorso"), gp("LowerTorso")
local lua_a, lla = gp("LeftUpperArm"), gp("LeftLowerArm")
local rua, rla = gp("RightUpperArm"), gp("RightLowerArm")
local lul, lll = gp("LeftUpperLeg"), gp("LeftLowerLeg")
local rul, rll = gp("RightUpperLeg"), gp("RightLowerLeg")
if h and ut then table.insert(bones, {h, ut}) end
if ut and lt then table.insert(bones, {ut, lt}) end
if ut and lua_a then table.insert(bones, {ut, lua_a}) end
if lua_a and lla then table.insert(bones, {lua_a, lla}) end
if ut and rua then table.insert(bones, {ut, rua}) end
if rua and rla then table.insert(bones, {rua, rla}) end
if lt and lul then table.insert(bones, {lt, lul}) end
if lul and lll then table.insert(bones, {lul, lll}) end
if lt and rul then table.insert(bones, {lt, rul}) end
if rul and rll then table.insert(bones, {rul, rll}) end
else
local h = rig.head
local t = rig.char:FindFirstChild("Torso")
local la, ra = rig.char:FindFirstChild("Left Arm"), rig.char:FindFirstChild("Right Arm")
local ll, rl = rig.char:FindFirstChild("Left Leg"), rig.char:FindFirstChild("Right Leg")
if h and t then table.insert(bones, {h, t}) end
if t and la then table.insert(bones, {t, la}) end
if t and ra then table.insert(bones, {t, ra}) end
if t and ll then table.insert(bones, {t, ll}) end
if t and rl then table.insert(bones, {t, rl}) end
end
ensureSkelLines(entry, #bones)
for i, pair in ipairs(bones) do
if visible then
local av, aon = Camera:WorldToViewportPoint(pair[1].Position)
local bv, bon = Camera:WorldToViewportPoint(pair[2].Position)
if aon and bon then
entry.skelLines[i].From = Vector2.new(av.X, av.Y)
entry.skelLines[i].To = Vector2.new(bv.X, bv.Y)
entry.skelLines[i].Visible = true
else entry.skelLines[i].Visible = false end
else entry.skelLines[i].Visible = false end
end
for i = #bones + 1, #entry.skelLines do entry.skelLines[i].Visible = false end
end
local function drawBox2D(entry, rig, visible)
ensureBoxLines(entry)
if not visible then for _, l in ipairs(entry.boxLines) do l.Visible = false end return end
local hp = Camera:WorldToViewportPoint(rig.head.Position + Vector3.new(0, 0.5, 0))
local fp = Camera:WorldToViewportPoint(rig.root.Position - Vector3.new(0, 2.5, 0))
if not hp or not fp then for _, l in ipairs(entry.boxLines) do l.Visible = false end return end
local h = math.abs(fp.Y - hp.Y)
if h < 8 then for _, l in ipairs(entry.boxLines) do l.Visible = false end return end
local w = h * 0.55
local left, right = hp.X - w/2, hp.X + w/2
local topY, botY = hp.Y, fp.Y
local pts = {
{Vector2.new(left, topY), Vector2.new(right, topY)},
{Vector2.new(right, topY), Vector2.new(right, botY)},
{Vector2.new(right, botY), Vector2.new(left, botY)},
{Vector2.new(left, botY), Vector2.new(left, topY)},
}
for i, p in ipairs(pts) do
entry.boxLines[i].From = p[1]
entry.boxLines[i].To = p[2]
entry.boxLines[i].Visible = true
end
end
RunService.RenderStepped:Connect(function()
for p, entry in pairs(JBS.ESPTracked) do
local rig = getPlayerRig(p)
if not rig then
for _, l in ipairs(entry.boxLines) do l.Visible = false end
for _, l in ipairs(entry.skelLines) do l.Visible = false end
continue
end
local _, onScreen = Camera:WorldToViewportPoint(rig.root.Position)
local visible = onScreen and (not JBS.ESPVisibility or isPartVisible(rig.root, rig.char))
if JBS.ESP2D then drawBox2D(entry, rig, visible)
else for _, l in ipairs(entry.boxLines) do l.Visible = false end end
if JBS.ESPSkeleton then drawSkeleton(entry, rig, visible)
else for _, l in ipairs(entry.skelLines) do l.Visible = false end end
end
for p, entry in pairs(JBS.ESPTracked) do
if not p.Parent then
if entry.highlight then pcall(function() entry.highlight:Destroy() end) end
if entry.billboard then pcall(function() entry.billboard:Destroy() end) end
for _, l in ipairs(entry.boxLines) do pcall(function() l:Remove() end) end
for _, l in ipairs(entry.skelLines) do pcall(function() l:Remove() end) end
JBS.ESPTracked[p] = nil
end
end
end)
-- ============================================
-- ANTI-FLASH + ANTI-SMOKE (extended filter)
-- ============================================
task.spawn(function()
while task.wait(0.1) do
if not JBS.AntiFlash then continue end
for _, v in pairs(Lighting:GetChildren()) do
if v:IsA("ColorCorrectionEffect") and (v.Brightness > 0.3 or v.Contrast > 0.3) then v.Enabled = false
elseif v:IsA("BloomEffect") or v:IsA("SunRaysEffect") then v.Enabled = false end
end
local pg = LocalPlayer:FindFirstChild("PlayerGui")
if pg then
for _, v in pairs(pg:GetDescendants()) do
local n = v.Name:lower()
if n:find("flash") or n:find("blind") or n:find("white") or n:find("grenade") or n:find("glare") then
pcall(function()
if v:IsA("ScreenGui") or v:IsA("Frame") or v:IsA("ImageLabel") then v.Enabled = false v.Visible = false end
end)
end
end
end
end
end)
local SMOKE_KEYS = {"smoke","dust","fog","gas","haze","mist","cloud","poison","toxic","vapor","steam","tear","spore"}
local function isSmokeName(n)
n = n:lower()
for _, k in ipairs(SMOKE_KEYS) do if n:find(k) then return true end end
return false
end
task.spawn(function()
while task.wait(0.15) do
if not JBS.AntiSmoke then continue end
for _, v in pairs(Workspace:GetDescendants()) do
if v:IsA("Smoke") then v.Enabled = false
elseif v:IsA("Fire") then v.Enabled = false
elseif v:IsA("ParticleEmitter") then
if isSmokeName(v.Name) or isSmokeName(v.Parent and v.Parent.Name or "") then v.Enabled = false end
elseif v:IsA("Beam") or v:IsA("Trail") then
if isSmokeName(v.Name) then v.Enabled = false end
elseif v:IsA("BasePart") then
if isSmokeName(v.Name) then v.Transparency = 1 v.CanCollide = false end
end
end
end
end)
-- ============================================
-- Fly / Noclip / Anti-AFK
-- ============================================
local function toggleFly(state)
local char = LocalPlayer.Character
local hrp = char and char:FindFirstChild("HumanoidRootPart")
if not hrp then return end
if state then
local bv = Instance.new("BodyVelocity")
bv.Name = "JBS_FlyBV"
bv.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
bv.Velocity = Vector3.new(0, 0, 0)
bv.Parent = hrp
local bg = Instance.new("BodyGyro")
bg.Name = "JBS_FlyBG"
bg.MaxTorque = Vector3.new(math.huge, math.huge, math.huge)
bg.P = 1000 bg.D = 50
bg.Parent = hrp
JBS.FlyBV, JBS.FlyBG = bv, bg
task.spawn(function()
while JBS.Fly do
local c = LocalPlayer.Character
local h = c and c:FindFirstChildOfClass("Humanoid")
if not h or not JBS.FlyBV then break end
local m = h.MoveDirection
if m.Magnitude > 0 then JBS.FlyBV.Velocity = Camera.CFrame:VectorToWorldSpace(m) * JBS.FlySpeed
else JBS.FlyBV.Velocity = Vector3.new(0, 0, 0) end
JBS.FlyBG.CFrame = Camera.CFrame
task.wait(0.03)
end
end)
else
if JBS.FlyBV then JBS.FlyBV:Destroy() JBS.FlyBV = nil end
if JBS.FlyBG then JBS.FlyBG:Destroy() JBS.FlyBG = nil end
end
end
local function toggleNoclip(state)
if JBS.NoclipConn then JBS.NoclipConn:Disconnect() JBS.NoclipConn = nil end
if state then
JBS.NoclipConn = RunService.Stepped:Connect(function()
local char = LocalPlayer.Character
if char then
for _, p in pairs(char:GetDescendants()) do
if p:IsA("BasePart") and p.CanCollide then p.CanCollide = false end
end
end
end)
else
local char = LocalPlayer.Character
if char then
for _, p in pairs(char:GetDescendants()) do
if p:IsA("BasePart") then p.CanCollide = true end
end
end
end
end
local function toggleAntiAFK(state)
if JBS.AntiAFKConn then JBS.AntiAFKConn:Disconnect() JBS.AntiAFKConn = nil end
if state then
JBS.AntiAFKConn = LocalPlayer.Idled:Connect(function()
pcall(function()
VirtualUser:CaptureController()
VirtualUser:ClickButton2(Vector2.new())
end)
end)
end
end
-- FOV circle
local fovCircle
pcall(function()
fovCircle = Drawing.new("Circle")
fovCircle.Thickness = 1.5 fovCircle.Color = Color3.fromRGB(255, 255, 255)
fovCircle.Filled = false fovCircle.NumSides = 60 fovCircle.Visible = false
end)
RunService.RenderStepped:Connect(function()
if fovCircle then
local vp = Camera.ViewportSize
fovCircle.Position = Vector2.new(vp.X / 2, vp.Y / 2)
fovCircle.Radius = JBS.AimbotFOV
fovCircle.Visible = JBS.ShowFOV
end
end)
-- ============================================
-- UI
-- ============================================
local gui = Instance.new("ScreenGui")
gui.Name = "JailbreakScript" gui.ResetOnSpawn = false gui.IgnoreGuiInset = true gui.Parent = CoreGui
local wm = Instance.new("TextLabel")
wm.Size = UDim2.new(0, 260, 0, 26) wm.Position = UDim2.new(0, 15, 0, 10)
wm.BackgroundColor3 = Color3.fromRGB(18, 18, 22) wm.BackgroundTransparency = 0.2
wm.TextColor3 = Color3.fromRGB(255, 200, 50)
wm.Font = Enum.Font.GothamBold wm.TextSize = 13
wm.Text = " Jailbreak Script v9"
wm.TextXAlignment = Enum.TextXAlignment.Left wm.Parent = gui
Instance.new("UICorner", wm).CornerRadius = UDim.new(0, 6)
local win = Instance.new("Frame")
win.Size = UDim2.new(0, 370, 0, 490) win.Position = UDim2.new(0.5, -185, 0.5, -245)
win.BackgroundColor3 = Color3.fromRGB(22, 22, 28)
win.BorderSizePixel = 0 win.Active = false win.Parent = gui
Instance.new("UICorner", win).CornerRadius = UDim.new(0, 12)
Instance.new("UIStroke", win).Color = Color3.fromRGB(60, 60, 80)
local header = Instance.new("Frame")
header.Size = UDim2.new(1, 0, 0, 42)
header.BackgroundColor3 = Color3.fromRGB(30, 30, 40)
header.BorderSizePixel = 0 header.Active = true header.Parent = win
Instance.new("UICorner", header).CornerRadius = UDim.new(0, 12)
local hTitle = Instance.new("TextLabel")
hTitle.Size = UDim2.new(1, -80, 1, 0) hTitle.Position = UDim2.new(0, 14, 0, 0)
hTitle.BackgroundTransparency = 1
hTitle.Text = "Jailbreak Script v9"
hTitle.TextColor3 = Color3.new(1, 1, 1)
hTitle.Font = Enum.Font.GothamBold hTitle.TextSize = 15
hTitle.TextXAlignment = Enum.TextXAlignment.Left hTitle.Parent = header
local closeBtn = Instance.new("TextButton")
closeBtn.Size = UDim2.new(0, 26, 0, 26) closeBtn.Position = UDim2.new(1, -34, 0, 8)
closeBtn.BackgroundColor3 = Color3.fromRGB(200, 50, 50)
closeBtn.Text = "×" closeBtn.TextColor3 = Color3.new(1, 1, 1)
closeBtn.Font = Enum.Font.GothamBold closeBtn.TextSize = 18
closeBtn.Parent = header
Instance.new("UICorner", closeBtn).CornerRadius = UDim.new(0, 6)
local floatBtn = Instance.new("TextButton")
floatBtn.Size = UDim2.new(0, 55, 0, 55) floatBtn.Position = UDim2.new(0, 20, 0, 180)
floatBtn.BackgroundColor3 = Color3.fromRGB(80, 60, 200)
floatBtn.Text = "⚡" floatBtn.TextColor3 = Color3.new(1, 1, 1)
floatBtn.Font = Enum.Font.GothamBold floatBtn.TextSize = 24
floatBtn.Visible = false floatBtn.Parent = gui
Instance.new("UICorner", floatBtn).CornerRadius = UDim.new(1, 0)
closeBtn.MouseButton1Click:Connect(function() win.Visible = false floatBtn.Visible = true end)
floatBtn.MouseButton1Click:Connect(function() win.Visible = true floatBtn.Visible = false end)
local dragging, dragStart, startPos
header.InputBegan:Connect(function(i)
if i.UserInputType == Enum.UserInputType.MouseButton1 or i.UserInputType == Enum.UserInputType.Touch then
dragging = true dragStart = i.Position startPos = win.Position
i.Changed:Connect(function()
if i.UserInputState == Enum.UserInputState.End then dragging = false end
end)
end
end)
UserInputService.InputChanged:Connect(function(i)
if dragging and (i.UserInputType == Enum.UserInputType.MouseMovement or i.UserInputType == Enum.UserInputType.Touch) then
local d = i.Position - dragStart
win.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + d.X, startPos.Y.Scale, startPos.Y.Offset + d.Y)
end
end)
local aimBtn = Instance.new("TextButton")
aimBtn.Size = UDim2.new(0, 70, 0, 70) aimBtn.Position = UDim2.new(1, -90, 1, -100)
aimBtn.BackgroundColor3 = Color3.fromRGB(200, 40, 40)
aimBtn.BackgroundTransparency = 0.2
aimBtn.Text = "AIM" aimBtn.TextColor3 = Color3.new(1, 1, 1)
aimBtn.Font = Enum.Font.GothamBold aimBtn.TextSize = 16
aimBtn.Visible = false aimBtn.Parent = gui
Instance.new("UICorner", aimBtn).CornerRadius = UDim.new(1, 0)
aimBtn.MouseButton1Down:Connect(function() JBS.Aimbot = true markShooting() end)
aimBtn.MouseButton1Up:Connect(function() JBS.Aimbot = false lockedTarget = nil end)
local switchBtn = Instance.new("TextButton")
switchBtn.Size = UDim2.new(0, 60, 0, 60) switchBtn.Position = UDim2.new(0, 20, 0.5, -30)
switchBtn.BackgroundColor3 = Color3.fromRGB(255, 140, 0)
switchBtn.BackgroundTransparency = 0.15
switchBtn.Text = "🎯" switchBtn.TextColor3 = Color3.new(1, 1, 1)
switchBtn.Font = Enum.Font.GothamBold switchBtn.TextSize = 26
switchBtn.Visible = false switchBtn.Active = true switchBtn.Parent = gui
Instance.new("UICorner", switchBtn).CornerRadius = UDim.new(1, 0)
local switchDragging, switchDragStart, switchStartPos, switchMoved = false, nil, nil, false
switchBtn.InputBegan:Connect(function(i)
if JBS.SwitchBtnLocked then return end
if i.UserInputType == Enum.UserInputType.MouseButton1 or i.UserInputType == Enum.UserInputType.Touch then
switchDragging = true switchMoved = false
switchDragStart = i.Position switchStartPos = switchBtn.Position
i.Changed:Connect(function()
if i.UserInputState == Enum.UserInputState.End then switchDragging = false end
end)
end
end)
UserInputService.InputChanged:Connect(function(i)
if switchDragging and (i.UserInputType == Enum.UserInputType.MouseMovement or i.UserInputType == Enum.UserInputType.Touch) then
local d = i.Position - switchDragStart
if d.Magnitude > 4 then switchMoved = true end
switchBtn.Position = UDim2.new(switchStartPos.X.Scale, switchStartPos.X.Offset + d.X, switchStartPos.Y.Scale, switchStartPos.Y.Offset + d.Y)
end
end)
switchBtn.MouseButton1Click:Connect(function()
if switchMoved then switchMoved = false return end
local nextT = findNextTarget(lockedTarget, JBS.AimbotFOV)
if nextT then
lockedTarget = nextT
switchBtn.BackgroundColor3 = Color3.fromRGB(0, 200, 100)
task.delay(0.3, function() if switchBtn and switchBtn.Parent then switchBtn.BackgroundColor3 = Color3.fromRGB(255, 140, 0) end end)
else
lockedTarget = nil
switchBtn.BackgroundColor3 = Color3.fromRGB(200, 40, 40)
task.delay(0.3, function() if switchBtn and switchBtn.Parent then switchBtn.BackgroundColor3 = Color3.fromRGB(255, 140, 0) end end)
end
end)
local tabBar = Instance.new("Frame")
tabBar.Size = UDim2.new(1, -20, 0, 32) tabBar.Position = UDim2.new(0, 10, 0, 50)
tabBar.BackgroundTransparency = 1 tabBar.Parent = win
local tabLayout = Instance.new("UIListLayout")
tabLayout.FillDirection = Enum.FillDirection.Horizontal tabLayout.Padding = UDim.new(0, 4)
tabLayout.Parent = tabBar
local content = Instance.new("Frame")
content.Size = UDim2.new(1, -20, 1, -95) content.Position = UDim2.new(0, 10, 0, 88)
content.BackgroundTransparency = 1 content.Parent = win
content.ClipsDescendants = true
local contentScroll = Instance.new("ScrollingFrame")
contentScroll.Size = UDim2.new(1, 0, 1, 0)
contentScroll.BackgroundTransparency = 1 contentScroll.ScrollBarThickness = 6
contentScroll.ScrollBarImageColor3 = Color3.fromRGB(80, 60, 200)
contentScroll.ScrollingEnabled = true
contentScroll.AutomaticCanvasSize = Enum.AutomaticSize.Y
contentScroll.CanvasSize = UDim2.new(0, 0, 0, 0) contentScroll.Parent = content
local contentLayout = Instance.new("UIListLayout")
contentLayout.Padding = UDim.new(0, 6) contentLayout.Parent = contentScroll
local pages, tabButtons = {}, {}
local function createTab(name)
local btn = Instance.new("TextButton")
btn.Size = UDim2.new(0, 105, 1, 0)
btn.BackgroundColor3 = Color3.fromRGB(40, 40, 52)
btn.Text = name btn.TextColor3 = Color3.fromRGB(180, 180, 200)
btn.Font = Enum.Font.GothamMedium btn.TextSize = 12
btn.Parent = tabBar
Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 6)
local page = Instance.new("Frame")
page.Size = UDim2.new(1, -6, 0, 0) page.AutomaticSize = Enum.AutomaticSize.Y
page.BackgroundTransparency = 1 page.Visible = false page.Parent = contentScroll
Instance.new("UIListLayout", page).Padding = UDim.new(0, 6)
pages[name] = page
table.insert(tabButtons, { btn = btn, name = name })
btn.MouseButton1Click:Connect(function()
for _, pg in pairs(pages) do pg.Visible = false end
for _, tb in ipairs(tabButtons) do
tb.btn.BackgroundColor3 = Color3.fromRGB(40, 40, 52)
tb.btn.TextColor3 = Color3.fromRGB(180, 180, 200)
end
page.Visible = true
btn.BackgroundColor3 = Color3.fromRGB(80, 60, 200)
btn.TextColor3 = Color3.new(1, 1, 1)
contentScroll.CanvasPosition = Vector2.new(0, 0)
end)
return page
end
local function makeToggle(parent, label, key, callback)
local frame = Instance.new("Frame")
frame.Size = UDim2.new(1, -10, 0, 40)
frame.BackgroundColor3 = Color3.fromRGB(35, 35, 45) frame.Parent = parent
Instance.new("UICorner", frame).CornerRadius = UDim.new(0, 8)
local lbl = Instance.new("TextLabel")
lbl.Size = UDim2.new(1, -60, 1, 0) lbl.Position = UDim2.new(0, 12, 0, 0)
lbl.BackgroundTransparency = 1 lbl.Text = label
lbl.TextColor3 = Color3.fromRGB(220, 220, 230)
lbl.Font = Enum.Font.Gotham lbl.TextSize = 12
lbl.TextXAlignment = Enum.TextXAlignment.Left lbl.Parent = frame
local ind = Instance.new("Frame")
ind.Size = UDim2.new(0, 40, 0, 22) ind.Position = UDim2.new(1, -50, 0.5, -11)
ind.BackgroundColor3 = Color3.fromRGB(60, 60, 70) ind.Parent = frame
Instance.new("UICorner", ind).CornerRadius = UDim.new(1, 0)
local circ = Instance.new("Frame")
circ.Size = UDim2.new(0, 18, 0, 18) circ.Position = UDim2.new(0, 2, 0.5, -9)
circ.BackgroundColor3 = Color3.fromRGB(180, 180, 190) circ.Parent = ind
Instance.new("UICorner", circ).CornerRadius = UDim.new(1, 0)
local btn = Instance.new("TextButton")
btn.Size = UDim2.new(1, 0, 1, 0) btn.BackgroundTransparency = 1 btn.Text = ""
btn.Parent = frame
local state = JBS[key] or false
if state then
ind.BackgroundColor3 = Color3.fromRGB(80, 60, 200)
circ.Position = UDim2.new(1, -20, 0.5, -9) circ.BackgroundColor3 = Color3.new(1, 1, 1)
end
btn.MouseButton1Click:Connect(function()
state = not state JBS[key] = state
if state then
ind.BackgroundColor3 = Color3.fromRGB(80, 60, 200)
circ.Position = UDim2.new(1, -20, 0.5, -9) circ.BackgroundColor3 = Color3.new(1, 1, 1)
else
ind.BackgroundColor3 = Color3.fromRGB(60, 60, 70)
circ.Position = UDim2.new(0, 2, 0.5, -9) circ.BackgroundColor3 = Color3.fromRGB(180, 180, 190)
end
if callback then callback(state) end
end)
end
local function makeSlider(parent, label, min, max, default, callback)
local frame = Instance.new("Frame")
frame.Size = UDim2.new(1, -10, 0, 55)
frame.BackgroundColor3 = Color3.fromRGB(35, 35, 45) frame.Parent = parent
Instance.new("UICorner", frame).CornerRadius = UDim.new(0, 8)
local lbl = Instance.new("TextLabel")
lbl.Size = UDim2.new(1, -20, 0, 22) lbl.Position = UDim2.new(0, 12, 0, 4)
lbl.BackgroundTransparency = 1 lbl.Text = label .. ": " .. default
lbl.TextColor3 = Color3.fromRGB(220, 220, 230)
lbl.Font = Enum.Font.Gotham lbl.TextSize = 12
lbl.TextXAlignment = Enum.TextXAlignment.Left lbl.Parent = frame
local bar = Instance.new("Frame")
bar.Size = UDim2.new(1, -24, 0, 6) bar.Position = UDim2.new(0, 12, 1, -16)
bar.BackgroundColor3 = Color3.fromRGB(60, 60, 70) bar.Parent = frame
Instance.new("UICorner", bar).CornerRadius = UDim.new(1, 0)
local fill = Instance.new("Frame")
fill.Size = UDim2.new((default - min) / (max - min), 0, 1, 0)
fill.BackgroundColor3 = Color3.fromRGB(80, 60, 200) fill.Parent = bar
Instance.new("UICorner", fill).CornerRadius = UDim.new(1, 0)
local knob = Instance.new("Frame")
knob.Size = UDim2.new(0, 14, 0, 14)
knob.Position = UDim2.new((default - min) / (max - min), -7, 0.5, -7)
knob.BackgroundColor3 = Color3.new(1, 1, 1) knob.Parent = bar
Instance.new("UICorner", knob).CornerRadius = UDim.new(1, 0)
local dragging = false
local function update(x)
local rel = math.clamp((x - bar.AbsolutePosition.X) / bar.AbsoluteSize.X, 0, 1)
local val = math.floor(min + (max - min) * rel)
fill.Size = UDim2.new(rel, 0, 1, 0)
knob.Position = UDim2.new(rel, -7, 0.5, -7)
lbl.Text = label .. ": " .. val
callback(val)
end
bar.InputBegan:Connect(function(i)
if i.UserInputType == Enum.UserInputType.MouseButton1 or i.UserInputType == Enum.UserInputType.Touch then
dragging = true update(i.Position.X)
end
end)
UserInputService.InputChanged:Connect(function(i)
if dragging and (i.UserInputType == Enum.UserInputType.MouseMovement or i.UserInputType == Enum.UserInputType.Touch) then update(i.Position.X) end
end)
UserInputService.InputEnded:Connect(function(i)
if i.UserInputType == Enum.UserInputType.MouseButton1 or i.UserInputType == Enum.UserInputType.Touch then dragging = false end
end)
end
local function makeDropdown(parent, label, options, callback)
local frame = Instance.new("Frame")
frame.Size = UDim2.new(1, -10, 0, 40)
frame.BackgroundColor3 = Color3.fromRGB(35, 35, 45) frame.Parent = parent
Instance.new("UICorner", frame).CornerRadius = UDim.new(0, 8)
local lbl = Instance.new("TextLabel")
lbl.Size = UDim2.new(1, -20, 1, 0) lbl.Position = UDim2.new(0, 12, 0, 0)
lbl.BackgroundTransparency = 1 lbl.Text = label .. ": " .. options[1]
lbl.TextColor3 = Color3.fromRGB(220, 220, 230)
lbl.Font = Enum.Font.Gotham lbl.TextSize = 12
lbl.TextXAlignment = Enum.TextXAlignment.Left lbl.Parent = frame
local idx = 1
local btn = Instance.new("TextButton")
btn.Size = UDim2.new(1, 0, 1, 0) btn.BackgroundTransparency = 1 btn.Text = ""
btn.Parent = frame
btn.MouseButton1Click:Connect(function()
idx = idx % #options + 1
lbl.Text = label .. ": " .. options[idx]
callback(options[idx])
end)
end
local function makeButton(parent, label, callback)
local btn = Instance.new("TextButton")
btn.Size = UDim2.new(1, -10, 0, 38)
btn.BackgroundColor3 = Color3.fromRGB(50, 50, 65)
btn.Text = label btn.TextColor3 = Color3.fromRGB(220, 220, 230)
btn.Font = Enum.Font.Gotham btn.TextSize = 12
btn.Parent = parent
Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 8)
btn.MouseButton1Click:Connect(callback)
end
local mainTab = createTab("Main")
local visTab = createTab("Visuals")
local miscTab = createTab("Misc")
makeToggle(mainTab, "Aimbot (Camera Lock)", "Aimbot", function(s)
if s then markShooting() switchBtn.Visible = true
else lockedTarget = nil switchBtn.Visible = false end
end)
makeToggle(mainTab, "Snap Aim (Instant)", "AimbotSnap")
makeToggle(mainTab, "Silent Aim (Bullet Redirect)", "SilentAim")
makeToggle(mainTab, "Auto Shoot (while aim)", "AutoShoot")
makeToggle(mainTab, "Triggerbot", "Triggerbot")
makeToggle(mainTab, "Show FOV Circle", "ShowFOV")
makeToggle(mainTab, "Lock Switch Button", "SwitchBtnLocked")
makeToggle(mainTab, "Require Line-of-Sight", "RequireLOS")
makeSlider(mainTab, "FOV", 50, 700, 250, function(v) JBS.AimbotFOV = v end)
makeSlider(mainTab, "Smooth (x100)", 1, 100, 20, function(v) JBS.AimbotSmooth = v / 100 end)
makeSlider(mainTab, "Dist Weight", 0, 10, 3, function(v) JBS.AimbotDistWeight = v / 10 end)
makeSlider(mainTab, "Max Aim Distance", 100, 1500, 500, function(v) JBS.MaxAimDistance = v end)
makeSlider(mainTab, "Max Vertical Delta", 50, 1000, 300, function(v) JBS.MaxVerticalDelta = v end)
makeDropdown(mainTab, "Aim Part", {"Head", "HumanoidRootPart", "UpperTorso", "Torso"}, function(v) JBS.AimbotPart = v end)
makeToggle(visTab, "ESP Highlight", "ESP", function() refreshAllESP() end)
makeToggle(visTab, "ESP 2D Box", "ESP2D")
makeToggle(visTab, "ESP Skeleton", "ESPSkeleton")
makeToggle(visTab, "ESP Visibility Check (no xray)", "ESPVisibility")
makeToggle(visTab, "Show Teammates", "ShowTeam", function() refreshAllESP() end)
makeToggle(visTab, "ESP Name", "ESPName")
makeToggle(visTab, "ESP Distance", "ESPDist")
makeToggle(visTab, "Full Bright", "FullBright", function(s)
if s then
Lighting.Brightness = 5 Lighting.ClockTime = 12
Lighting.FogEnd = 100000 Lighting.GlobalShadows = false
else
Lighting.Brightness = 2 Lighting.FogEnd = 1000 Lighting.GlobalShadows = true
end
end)
makeButton(visTab, "Refresh ESP", function() refreshAllESP() end)
makeToggle(miscTab, "God Mode", "GodMode")
makeToggle(miscTab, "Fly", "Fly", function(s) toggleFly(s) end)
makeToggle(miscTab, "Noclip", "Noclip", function(s) toggleNoclip(s) end)
makeToggle(miscTab, "No Recoil", "NoRecoil")
makeToggle(miscTab, "No Spread", "NoSpread")
makeToggle(miscTab, "Anti-Flashbang", "AntiFlash")
makeToggle(miscTab, "Anti-Smoke", "AntiSmoke")
makeToggle(miscTab, "Anti-AFK", "AntiAFK", function(s) toggleAntiAFK(s) end)
makeSlider(miscTab, "Fly Speed", 20, 300, 80, function(v) JBS.FlySpeed = v end)
makeSlider(miscTab, "WalkSpeed", 16, 200, 16, function(v)
local c = LocalPlayer.Character
local h = c and c:FindFirstChildOfClass("Humanoid")
if h then h.WalkSpeed = v end
end)
makeSlider(miscTab, "JumpPower", 50, 300, 50, function(v)
local c = LocalPlayer.Character
local h = c and c:FindFirstChildOfClass("Humanoid")
if h then h.UseJumpPower = true h.JumpPower = v end
end)
makeButton(miscTab, "Toggle AIM Button", function() aimBtn.Visible = not aimBtn.Visible end)
makeButton(miscTab, "Reset Character", function()
local c = LocalPlayer.Character
local h = c and c:FindFirstChildOfClass("Humanoid")
if h then h.Health = 0 end
end)
for _, tb in ipairs(tabButtons) do
if tb.name == "Main" then tb.btn:Fire("MouseButton1Click") break end
end
LocalPlayer.CharacterAdded:Connect(function()
task.defer(function() if JBS.ESP or JBS.ESP2D or JBS.ESPSkeleton then refreshAllESP() end end)
if JBS.Fly then task.defer(function() toggleFly(false) toggleFly(true) end) end
lockedTarget = nil
end)
print("[Jailbreak Script v9] Loaded. God Mode + Auto Shoot + Full Silent.")Review the source before using it. Executions count successful copies, capped at 10 per user and network per script in 24 hours.
Community discussion
0Start the conversation.


Your community, in one place