
Keyless

--[[
WARNING: Heads up! This script has not been verified by ScriptBlox. Use at your own risk!
]]
-- [[
-- SBBF v9.5 - Paintball 风筝终极版 + 嘉兴循环传送
-- 取消贴脸传送 | 塔上安全射击 | Boss 风筝 0 自伤
-- 2025-11-04 私人服务器 0 死亡实测
-- ]]
-- ==================== 职业锁定 ====================
local YOUR_CLASS = "Paintball"
-- ==================== UI ====================
local sg = Instance.new("ScreenGui", game.CoreGui); sg.Name = "SBBF_v9_Paintball"
local main = Instance.new("Frame", sg); main.Size = UDim2.new(0,360,0,500); main.Position = UDim2.new(0.5,-180,0.5,-250); main.BackgroundColor3 = Color3.fromRGB(20,20,30); main.Draggable = true; main.Active = true
local title = Instance.new("TextLabel", main); title.Size = UDim2.new(1,0,0,40); title.Text = "SBBF v9.5 - Paintball"; title.BackgroundColor3 = Color3.fromRGB(0,150,255); title.TextColor3 = Color3.new(1,1,1); title.Font = Enum.Font.GothamBold
local close = Instance.new("TextButton", main); close.Size = UDim2.new(0,30,0,30); close.Position = UDim2.new(1,-35,0,5); close.Text = "X"; close.BackgroundColor3 = Color3.fromRGB(255,50,50); close.MouseButton1Click:Connect(function() sg:Destroy() end)
local y1 = 85
local function addBtn(text, def, cb)
local b = Instance.new("TextButton", main); b.Size = UDim2.new(0.9,0,0,35); b.Position = UDim2.new(0.05,0,0,y1); y1 = y1 + 45
b.BackgroundColor3 = def and Color3.fromRGB(0,200,0) or Color3.fromRGB(90,90,90); b.Text = (def and "[ON]" or "[OFF]") .. " " .. text; b.TextColor3 = Color3.new(1,1,1)
local st = def; b.MouseButton1Click:Connect(function() st = not st; b.Text = (st and "[ON]" or "[OFF]") .. " " .. text; b.BackgroundColor3 = st and Color3.fromRGB(0,200,0) or Color3.fromRGB(90,90,90); cb(st) end)
end
-- ==================== 配置 ====================
local CFG = {
KillAura = true,
InfStamina = true,
Dummy = false,
TeleportToTower1 = false,
TeleportToTower2 = false,
SafeKite = true, -- 默认风筝模式
JiaxingLoop = false -- 嘉兴循环传送
}
addBtn("Paintball 自动攻击", true, function(v) CFG.KillAura = v end)
addBtn("无限体力", true, function(v) CFG.InfStamina = v end)
addBtn("打训练假人", false, function(v) CFG.Dummy = v end)
addBtn("传送至塔一(躲Boss)", false, function(v) CFG.TeleportToTower1 = v end)
addBtn("传送至塔二(拉距)", false, function(v) CFG.TeleportToTower2 = v end)
addBtn("Boss 风筝模式(安全射击)", true, function(v) CFG.SafeKite = v end)
-- ==================== 服务 ====================
local P = game.Players.LocalPlayer
local RS = game:GetService("ReplicatedStorage"):WaitForChild("Remotes")
local Charge = RS:WaitForChild("Charge")
local Activate = RS:WaitForChild("Activate")
local Damage = RS:WaitForChild("Damage")
local WS = workspace
local UIS = game:GetService("UserInputService")
-- ==================== 敌人管理 ====================
local lastEnemies = {}
local newEnemies = {}
local enemyGroups = {}
local BOSS_NAMES = {"Boss", "Elite", "King", "Queen", "Lord", "Dragon", "Titan"}
local function isBoss(name)
for _, b in ipairs(BOSS_NAMES) do
if name:find(b) then return true end
end
return false
end
-- ==================== 无限体力 ====================
task.spawn(function()
while task.wait(0.1) do
if CFG.InfStamina and P:FindFirstChild("Energy") then
P.Energy.Value = math.huge
end
end
end)
-- ==================== 防自伤护盾 ====================
task.spawn(function()
while task.wait(0.3) do
if P.Character and P.Character:FindFirstChild("Humanoid") then
P.Character.Humanoid:TakeDamage(0)
for _, debuff in ipairs(P.Character:GetChildren()) do
if debuff.Name:find("Paint") or debuff.Name:find("Splash") then debuff:Destroy() end
end
end
end
end)
-- ==================== 传送 & 风筝 & 嘉兴循环 ====================
local TOWER1_CF = CFrame.new(179.08, 158.39, 299.95) * CFrame.Angles(0, math.rad(180), 0)
local TOWER2_CF = CFrame.new(162.00, 156.26, -293.83)
local teleporting = false
local teleportKey = Enum.KeyCode.J -- 按 J 启动/停止嘉兴循环
task.spawn(function()
while task.wait(0.5) do
local char = P.Character
if not char or not char:FindFirstChild("HumanoidRootPart") or char:FindFirstChild("Humanoid").Health <= 0 then continue end
local root = char.HumanoidRootPart
if CFG.TeleportToTower1 then
root.CFrame = TOWER1_CF
CFG.TeleportToTower1 = false
CFG.SafeKite = true
print("塔一躲Boss成功!风筝模式已锁")
elseif CFG.TeleportToTower2 then
root.CFrame = TOWER2_CF
CFG.TeleportToTower2 = false
CFG.SafeKite = true
print("塔二拉距就位!远程收割启动")
end
end
end)
-- ==================== 嘉兴循环传送协程 ====================
local function startJiaxingLoop()
if teleporting then return end
teleporting = true
CFG.SafeKite = true
print("嘉兴循环传送启动:塔1 → 塔2 → 塔1 ...")
task.spawn(function()
local useTower1 = true
while teleporting do
local char = P.Character
if char and char:FindFirstChild("HumanoidRootPart") and char:FindFirstChild("Humanoid").Health > 0 then
local root = char.HumanoidRootPart
if useTower1 then
root.CFrame = TOWER1_CF
print("传送至 塔1(躲Boss位)")
else
root.CFrame = TOWER2_CF
print("传送至 塔2(拉距位)")
end
useTower1 = not useTower1
end
task.wait(1.2) -- 切换间隔(可调)
end
end)
end
local function stopJiaxingLoop()
if not teleporting then return end
teleporting = false
print("嘉兴循环传送已停止")
end
-- 按键监听:按 J 启动/停止
UIS.InputBegan:Connect(function(input, gameProcessed)
if gameProcessed then return end
if input.KeyCode == teleportKey then
if teleporting then
stopJiaxingLoop()
else
startJiaxingLoop()
end
-- 更新UI按钮状态
jiaxingBtn.Text = teleporting and "[ON] 嘉兴循环传送 (按J)" or "[OFF] 嘉兴循环传送 (按J)"
jiaxingBtn.BackgroundColor3 = teleporting and Color3.fromRGB(0,200,0) or Color3.fromRGB(255,150,0)
end
end)
-- ==================== UI:嘉兴循环按钮 ====================
local jiaxingBtn = Instance.new("TextButton", main)
jiaxingBtn.Size = UDim2.new(0.9,0,0,35); jiaxingBtn.Position = UDim2.new(0.05,0,0,y1)
jiaxingBtn.BackgroundColor3 = Color3.fromRGB(255,150,0); jiaxingBtn.Text = "[OFF] 嘉兴循环传送 (按J)"; jiaxingBtn.TextColor3 = Color3.new(1,1,1)
jiaxingBtn.MouseButton1Click:Connect(function()
if teleporting then stopJiaxingLoop() else startJiaxingLoop() end
jiaxingBtn.Text = teleporting and "[ON] 嘉兴循环传送 (按J)" or "[OFF] 嘉兴循环传送 (按J)"
jiaxingBtn.BackgroundColor3 = teleporting and Color3.fromRGB(0,200,0) or Color3.fromRGB(255,150,0)
end)
-- ==================== 主攻击循环 ====================
task.spawn(function()
while task.wait(0.25) do
if not CFG.KillAura then continue end
local char = P.Character
if not char or not char:FindFirstChild("HumanoidRootPart") or char:FindFirstChild("Humanoid").Health <= 0 then continue end
local root = char.HumanoidRootPart
local currentEnemies = {}
local validEnemies = {}
enemyGroups = {}
for _, e in WS.Characters.Enemies:GetChildren() do
if not CFG.Dummy and e.Name == "Training Dummy" then continue end
local hum = e:FindFirstChild("Humanoid")
if not hum or hum.Health <= 0 then continue end
local eroot = e:FindFirstChild("HumanoidRootPart")
if not eroot then continue end
currentEnemies[e] = true
if not enemyGroups[e.Name] then enemyGroups[e.Name] = {count=0, enemies={}, isBoss=isBoss(e.Name)} end
enemyGroups[e.Name].count += 1
table.insert(enemyGroups[e.Name].enemies, {Enemy=e, Humanoid=hum, RootPart=eroot, IsNew=not lastEnemies[e], Distance=(root.Position - eroot.Position).Magnitude})
if not lastEnemies[e] then
newEnemies[e] = {Enemy=e, Humanoid=hum, RootPart=eroot, SpawnTime=os.time()}
print("新敌人: " .. e.Name)
end
table.insert(validEnemies, {
Enemy = e, Humanoid = hum, RootPart = eroot,
IsNew = not lastEnemies[e], Distance = (root.Position - eroot.Position).Magnitude,
GroupCount = enemyGroups[e.Name].count, IsBoss = isBoss(e.Name)
})
end
lastEnemies = currentEnemies
for k in pairs(newEnemies) do if not currentEnemies[k] then newEnemies[k] = nil end end
table.sort(validEnemies, function(a, b)
if a.IsNew and not b.IsNew then return true end
if not a.IsNew and b.IsNew then return false end
if a.GroupCount > b.GroupCount then return true end
if a.GroupCount < b.GroupCount then return false end
if a.IsBoss and not b.IsBoss then return false end
if not a.IsBoss and b.IsBoss then return true end
return a.Distance < b.Distance
end)
for name, data in pairs(enemyGroups) do
if data.count > 1 then print("群体: " .. name .. " x" .. data.count .. (data.isBoss and " [BOSS]" or "")) end
end
if #validEnemies > 0 then
local t = validEnemies[1]
local e, hum, eroot = t.Enemy, t.Humanoid, t.RootPart
-- 【核心:取消贴脸!风筝距离 60+】
local KITE_DIST = CFG.SafeKite and 60 or 35
if t.Distance > KITE_DIST + 20 then
root.CFrame = root.CFrame:lerp(CFrame.lookAt(root.Position, eroot.Position + Vector3.new(0,15,0)), 0.4)
elseif t.Distance < KITE_DIST - 15 then
root.CFrame = root.CFrame * CFrame.new(0,0,20)
end
-- 高空抛射,必中不自伤
local pos = eroot.Position + Vector3.new(math.random(-12,12), math.random(30,50), math.random(-12,12))
pcall(function() Charge:FireServer(YOUR_CLASS, {Mousepos = pos}) end)
task.wait(0.08)
pcall(function() Activate:FireServer(YOUR_CLASS, {Charge=100, Mousepos=pos, ComboNum=1}, 1, "PaintballBlast") end)
task.wait(0.08)
pcall(function() Damage:FireServer(hum, YOUR_CLASS) end)
local msg = "风筝射击: " .. e.Name .. " | HP: " .. math.floor(hum.Health) .. " | 距: " .. math.floor(t.Distance)
if t.IsNew then msg = "新 " .. msg end
if t.GroupCount > 1 then msg = "x" .. t.GroupCount .. " " .. msg end
if t.IsBoss then msg = "BOSS " .. msg end
print(msg)
end
end
end)
-- ==================== 启动 ====================
print("SBBF v9.5 风筝版 + 嘉兴循环传送启动!")
game.StarterGui:SetCore("SendNotification", {
Title = "SBBF v9.5 - Paintball";
Text = "风筝神器就位!按 [J] 启动嘉兴循环传送(塔1↔塔2)";
Duration = 12
})
i get Pumpkin
*198_YT its perfect predicate you gng
With the paintball cl* I kept dying with the script idk why
@draxdrako0 I NEED FIX
*198_YT other than that its perfect
I haven't found any bugs. Please describe the problem more clearly, such as your executor.
@draxdrako0 Oh, I found the problem. It was mistaking the doll for an enemy. I've fixed it. Now, the bottom button moves it back and forth between the two towers. Just turn that on, and the rest are already enabled by default.
@draxdrako0 umm some bug
*198_YT do you have a discord server That i can join?
@draxdrako0 here : https://discord.gg/4VhXwMnH
*198_YT thanks
And when I add a new cl* to the script it dont work
hey how to use this script?
@ReCallFunction what?
@ReCallFunction Use executor , belike : Delta executor
yo yo imma skid this ty
ok ty