--// 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)