--// Rayfield UI
local Rayfield = loadstring(game:HttpGet("https://sirius.menu/rayfield"))()
local Window = Rayfield:CreateWindow({
Name = "Blade Ball Mod Menu V2",
LoadingTitle = "Blade Ball Mod Menu V2",
LoadingSubtitle = "Auto Parry + Movement + Troll",
ConfigurationSaving = { Enabled = false },
KeySystem = false
})
--// Services
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local VirtualInputManager = game:GetService("VirtualInputManager")
local UserInputService = game:GetService("UserInputService")
--// Player
local Player = Players.LocalPlayer
--// Variables
local AutoParry = false
local AntiAFK = true
local AutoApproach = false
local ApproachSpeed = 25
local Alive = false
local ParryDelay = 0.55
local Parried = false
local LastParry = 0
-- WalkSpeed
local WalkSpeed = 40
local DefaultWalkSpeed = 40
-- Fly
local Flying = false
local FlySpeed = 60
local BV, BG
-- Infinite Jump
local InfiniteJump = false
-- Troll Features
local Spinbot = false
local LowGravity = false
local FakeLag = false
local TrollTP = false
--// ================= FUNCTIONS =================
local function GetBall()
if not workspace:FindFirstChild("Balls") then return end
for _, ball in ipairs(workspace.Balls:GetChildren()) do
if ball:GetAttribute("realBall") then
return ball
end
end
end
local function SetSpeed(speed)
local char = Player.Character
if char and char:FindFirstChild("Humanoid") then
char.Humanoid.WalkSpeed = speed
end
end
local function StartFly()
local char = Player.Character
if not char then return end
local hrp = char:FindFirstChild("HumanoidRootPart")
if not hrp then return end
BV = Instance.new("BodyVelocity")
BV.MaxForce = Vector3.new(1e5,1e5,1e5)
BV.Velocity = Vector3.zero
BV.Parent = hrp
BG = Instance.new("BodyGyro")
BG.MaxTorque = Vector3.new(1e5,1e5,1e5)
BG.CFrame = hrp.CFrame
BG.Parent = hrp
end
local function StopFly()
if BV then BV:Destroy() BV = nil end
if BG then BG:Destroy() BG = nil end
end
-- Respawn system
Player.CharacterAdded:Connect(function(char)
local humanoid = char:WaitForChild("Humanoid")
Alive = true
task.wait(0.2)
SetSpeed(WalkSpeed)
humanoid.Died:Connect(function()
Alive = false
end)
end)
-- Infinite Jump
UserInputService.JumpRequest:Connect(function()
if InfiniteJump then
local char = Player.Character
if char and char:FindFirstChild("Humanoid") then
char.Humanoid:ChangeState("Jumping")
end
end
end)
--// ================= UI =================
local CombatTab = Window:CreateTab("⚔️ Combat", 4483362458)
local MiscTab = Window:CreateTab("🛠️ Misc", 4483362458)
local TrollTab = Window:CreateTab("😈 Troll", 4483362458)
local InfoTab = Window:CreateTab("💡 Info", 4483362458)
-- Combat
CombatTab:CreateLabel("⚡ Combat System")
CombatTab:CreateToggle({
Name = "Auto Parry",
CurrentValue = false,
Callback = function(v)
AutoParry = v
end
})
CombatTab:CreateSlider({
Name = "Parry Timing",
Range = {0.35, 0.75},
Increment = 0.01,
CurrentValue = 0.55,
Suffix = " sec",
Callback = function(v)
ParryDelay = v
end
})
CombatTab:CreateToggle({
Name = "Auto Approach Ball",
CurrentValue = false,
Callback = function(v)
AutoApproach = v
end
})
CombatTab:CreateSlider({
Name = "Approach Speed",
Range = {10, 60},
Increment = 1,
CurrentValue = 25,
Suffix = " speed",
Callback = function(v)
ApproachSpeed = v
end
})
-- Misc
MiscTab:CreateLabel("🧍 Movement")
MiscTab:CreateSlider({
Name = "WalkSpeed",
Range = {40, 200},
Increment = 1,
CurrentValue = 40,
Suffix = " speed",
Callback = function(v)
WalkSpeed = v
SetSpeed(v)
end
})
MiscTab:CreateButton({
Name = "Reset WalkSpeed",
Callback = function()
WalkSpeed = DefaultWalkSpeed
SetSpeed(DefaultWalkSpeed)
end
})
MiscTab:CreateToggle({
Name = "Fly",
CurrentValue = false,
Callback = function(v)
Flying = v
if v then StartFly() else StopFly() end
end
})
MiscTab:CreateSlider({
Name = "Fly Speed",
Range = {20, 150},
Increment = 1,
CurrentValue = 60,
Callback = function(v)
FlySpeed = v
end
})
MiscTab:CreateToggle({
Name = "Infinite Jump",
CurrentValue = false,
Callback = function(v)
InfiniteJump = v
end
})
MiscTab:CreateToggle({
Name = "Anti AFK",
CurrentValue = true,
Callback = function(v)
AntiAFK = v
end
})
-- Troll
TrollTab:CreateLabel("😈 Troll Features")
TrollTab:CreateToggle({
Name = "Spinbot",
CurrentValue = false,
Callback = function(v)
Spinbot = v
end
})
TrollTab:CreateToggle({
Name = "Low Gravity",
CurrentValue = false,
Callback = function(v)
LowGravity = v
end
})
TrollTab:CreateToggle({
Name = "Fake Lag",
CurrentValue = false,
Callback = function(v)
FakeLag = v
end
})
TrollTab:CreateToggle({
Name = "Random TP Around Ball",
CurrentValue = false,
Callback = function(v)
TrollTP = v
end
})
-- Info
InfoTab:CreateLabel("Blade Ball Mod Menu V2")
InfoTab:CreateLabel("Auto Parry + Auto Approach")
InfoTab:CreateLabel("Fly / Infinite Jump / Speed")
InfoTab:CreateLabel("Troll Features Included")
InfoTab:CreateLabel("Made by Dmo_Scripter")
--// ================= FLY + TROLL LOOP =================
RunService.RenderStepped:Connect(function()
local char = Player.Character
local hrp = char and char:FindFirstChild("HumanoidRootPart")
if not hrp then return end
-- FLY
if Flying and BV then
local moveDir = Vector3.zero
if UserInputService:IsKeyDown(Enum.KeyCode.W) then moveDir += workspace.CurrentCamera.CFrame.LookVector end
if UserInputService:IsKeyDown(Enum.KeyCode.S) then moveDir -= workspace.CurrentCamera.CFrame.LookVector end
if UserInputService:IsKeyDown(Enum.KeyCode.A) then moveDir -= workspace.CurrentCamera.CFrame.RightVector end
if UserInputService:IsKeyDown(Enum.KeyCode.D) then moveDir += workspace.CurrentCamera.CFrame.RightVector end
BV.Velocity = moveDir * FlySpeed
end
-- SPINBOT
if Spinbot then
hrp.CFrame = hrp.CFrame * CFrame.Angles(0, math.rad(25), 0)
end
-- LOW GRAVITY
if LowGravity then
workspace.Gravity = 50
else
workspace.Gravity = 196.2
end
-- FAKE LAG
if FakeLag then
task.wait(0.1)
end
-- RANDOM TP AROUND BALL
if TrollTP then
local ball = GetBall()
if ball then
local offset = Vector3.new(
math.random(-15,15),
math.random(5,10),
math.random(-15,15)
)
hrp.CFrame = CFrame.new(ball.Position + offset)
end
end
end)
--// ================= ANTI AFK =================
Player.Idled:Connect(function()
if not AntiAFK then return end
VirtualInputManager:SendKeyEvent(true, Enum.KeyCode.W, false, game)
task.wait(0.1)
VirtualInputManager:SendKeyEvent(false, Enum.KeyCode.W, false, game)
end)
--// ================= AUTO SYSTEM =================
RunService.PreSimulation:Connect(function()
local ball = GetBall()
local char = Player.Character
local hrp = char and char:FindFirstChild("HumanoidRootPart")
if not ball or not hrp or not Alive then return end
-- AUTO APPROACH
if AutoApproach and not Flying and Alive then
local direction = (ball.Position - hrp.Position)
local distance = direction.Magnitude
if distance > 5 and distance < 300 then
direction = direction.Unit
hrp.Velocity = Vector3.new(
direction.X * ApproachSpeed,
hrp.Velocity.Y,
direction.Z * ApproachSpeed
)
end
end
-- AUTO PARRY
if not AutoParry then return end
if ball:GetAttribute("target") ~= Player.Name then return end
if Parried then return end
if not ball:FindFirstChild("zoomies") then return end
local velocity = ball.zoomies.VectorVelocity.Magnitude
if velocity <= 5 then return end
local distance = (hrp.Position - ball.Position).Magnitude
local timeToHit = distance / velocity
if timeToHit <= ParryDelay then
VirtualInputManager:SendMouseButtonEvent(0,0,0,true,game,0)
Parried = true
LastParry = tick()
task.delay(0.9, function()
if tick() - LastParry >= 0.9 then
Parried = false
end
end)
end
end)
Comments
No comments yet
Be the first to share your thoughts!