Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Blade Ball Script by JayRBLX Scripts
- -- For Entertainment Purposes ONLY!
- local Rayfield = loadstring(game:HttpGet('https://sirius.menu/rayfield'))()
- -- Key System
- local KeySystem = Rayfield:CreateWindow({
- Name = "Blade Ball Script - Key System",
- LoadingTitle = "JayRBLX Scripts",
- LoadingSubtitle = "by JayRBLX",
- ConfigurationSaving = {
- Enabled = false,
- FolderName = nil,
- FileName = "BladeBallHub"
- },
- Discord = {
- Enabled = true,
- Invite = "KPUPp4m9pJ",
- RememberJoins = true
- },
- KeySystem = true,
- KeySettings = {
- Title = "JayRBLX Scripts Key System",
- Subtitle = "Join our discord to get the key!",
- Note = "Discord: https://discord.gg/KPUPp4m9pJ",
- FileName = "Key",
- SaveKey = false,
- GrabKeyFromSite = false,
- Key = {"Jcheeks130"}
- }
- })
- -- Services
- local Players = game:GetService("Players")
- local RunService = game:GetService("RunService")
- local UserInputService = game:GetService("UserInputService")
- local ReplicatedStorage = game:GetService("ReplicatedStorage")
- local Workspace = game:GetService("Workspace")
- local player = Players.LocalPlayer
- local character = player.Character or player.CharacterAdded:Wait()
- local humanoid = character:WaitForChild("Humanoid")
- local rootPart = character:WaitForChild("HumanoidRootPart")
- -- Variables
- local Settings = {
- AutoParry = false,
- AutoSpam = false,
- ParryAccuracy = 100,
- ManualSpam = false,
- TriggerBot = false,
- DetectInfinity = false,
- DetectDeathSlash = false,
- DetectTimeHole = false,
- DetectSlashesOfFury = false,
- AntiPhantom = false,
- UseAbilityForBlock = false,
- AutoUseAbility = false,
- AutoParryLobby = false,
- LobbyParryAccuracy = 100,
- SpeedBoost = 16,
- JumpBoost = 50,
- NoClip = false,
- Fly = false,
- FlySpeed = 50,
- AbilityESP = false,
- EnableESP = false,
- ESPTracers = false,
- ESPNames = false,
- ESPBoxes = false,
- ESPColor = Color3.fromRGB(255, 255, 255),
- AutoCollectRewards = false,
- AutoJump = false,
- AutoDoubleJump = false,
- AutoPlay = false,
- CurrentSword = ""
- }
- -- Main Window
- local Window = Rayfield:CreateWindow({
- Name = "Blade Ball Script | JayRBLX",
- LoadingTitle = "JayRBLX Scripts - Blade Ball",
- LoadingSubtitle = "by JayRBLX",
- ConfigurationSaving = {
- Enabled = false
- }
- })
- -- Tabs
- local MainTab = Window:CreateTab("🏠 Main", 4483362458)
- local BlatantTab = Window:CreateTab("⚔️ Blatant", 4483362458)
- local OtherTab = Window:CreateTab("🔧 Other", 4483362458)
- local MiscTab = Window:CreateTab("📦 Misc", 4483362458)
- local CreditsTab = Window:CreateTab("👑 Credits", 4483362458)
- -- Main Tab Features
- local MainSection = MainTab:CreateSection("Main Features")
- local DiscordButton = MainTab:CreateButton({
- Name = "Copy Discord Link",
- Callback = function()
- setclipboard("https://discord.gg/KPUPp4m9pJ")
- Rayfield:Notify({
- Title = "Discord Link Copied!",
- Content = "Discord link copied to clipboard",
- Duration = 3,
- Image = 4483362458
- })
- end,
- })
- local SwordInput = MainTab:CreateInput({
- Name = "Sword Name (Visual Change)",
- PlaceholderText = "Enter sword name...",
- RemoveTextAfterFocusLost = false,
- Callback = function(Text)
- Settings.CurrentSword = Text
- -- Visual sword change logic
- local sword = character:FindFirstChild("Sword") or character:FindFirstChildOfClass("Tool")
- if sword then
- local handle = sword:FindFirstChild("Handle")
- if handle then
- Rayfield:Notify({
- Title = "Sword Changed",
- Content = "Visual sword changed to: " .. Text,
- Duration = 3
- })
- end
- end
- end,
- })
- local AutoCollectToggle = MainTab:CreateToggle({
- Name = "Auto Collect Rewards",
- CurrentValue = false,
- Flag = "AutoCollect",
- Callback = function(Value)
- Settings.AutoCollectRewards = Value
- end,
- })
- local AutoJumpToggle = MainTab:CreateToggle({
- Name = "Auto Jump",
- CurrentValue = false,
- Flag = "AutoJump",
- Callback = function(Value)
- Settings.AutoJump = Value
- end,
- })
- local AutoDoubleJumpToggle = MainTab:CreateToggle({
- Name = "Auto Double Jump",
- CurrentValue = false,
- Flag = "AutoDoubleJump",
- Callback = function(Value)
- Settings.AutoDoubleJump = Value
- end,
- })
- local AutoPlayToggle = MainTab:CreateToggle({
- Name = "Auto Play",
- CurrentValue = false,
- Flag = "AutoPlay",
- Callback = function(Value)
- Settings.AutoPlay = Value
- end,
- })
- -- Blatant Tab Features
- local BlatantSection = BlatantTab:CreateSection("Blatant Features")
- local AutoParryToggle = BlatantTab:CreateToggle({
- Name = "Auto Parry",
- CurrentValue = false,
- Flag = "AutoParry",
- Callback = function(Value)
- Settings.AutoParry = Value
- end,
- })
- local AutoSpamToggle = BlatantTab:CreateToggle({
- Name = "Auto Spam",
- CurrentValue = false,
- Flag = "AutoSpam",
- Callback = function(Value)
- Settings.AutoSpam = Value
- end,
- })
- local ParryAccuracySlider = BlatantTab:CreateSlider({
- Name = "Parry Accuracy (%)",
- Range = {0, 100},
- Increment = 1,
- CurrentValue = 100,
- Flag = "ParryAccuracy",
- Callback = function(Value)
- Settings.ParryAccuracy = Value
- end,
- })
- local ManualSpamToggle = BlatantTab:CreateToggle({
- Name = "Manual Spam",
- CurrentValue = false,
- Flag = "ManualSpam",
- Callback = function(Value)
- Settings.ManualSpam = Value
- end,
- })
- local TriggerBotToggle = BlatantTab:CreateToggle({
- Name = "Trigger Bot",
- CurrentValue = false,
- Flag = "TriggerBot",
- Callback = function(Value)
- Settings.TriggerBot = Value
- end,
- })
- local DetectInfinityToggle = BlatantTab:CreateToggle({
- Name = "Detect Infinity Ability",
- CurrentValue = false,
- Flag = "DetectInfinity",
- Callback = function(Value)
- Settings.DetectInfinity = Value
- end,
- })
- local DetectDeathSlashToggle = BlatantTab:CreateToggle({
- Name = "Detect Death Slash Ability",
- CurrentValue = false,
- Flag = "DetectDeathSlash",
- Callback = function(Value)
- Settings.DetectDeathSlash = Value
- end,
- })
- local DetectTimeHoleToggle = BlatantTab:CreateToggle({
- Name = "Detect Time Hole Ability",
- CurrentValue = false,
- Flag = "DetectTimeHole",
- Callback = function(Value)
- Settings.DetectTimeHole = Value
- end,
- })
- local DetectSlashesFuryToggle = BlatantTab:CreateToggle({
- Name = "Detect Slashes of Fury Ability",
- CurrentValue = false,
- Flag = "DetectSlashesFury",
- Callback = function(Value)
- Settings.DetectSlashesOfFury = Value
- end,
- })
- local AntiPhantomToggle = BlatantTab:CreateToggle({
- Name = "Anti Phantom Attack",
- CurrentValue = false,
- Flag = "AntiPhantom",
- Callback = function(Value)
- Settings.AntiPhantom = Value
- end,
- })
- local UseAbilityBlockToggle = BlatantTab:CreateToggle({
- Name = "Use Ability for Accidental Block",
- CurrentValue = false,
- Flag = "UseAbilityBlock",
- Callback = function(Value)
- Settings.UseAbilityForBlock = Value
- end,
- })
- local AutoUseAbilityToggle = BlatantTab:CreateToggle({
- Name = "Auto Use Ability",
- CurrentValue = false,
- Flag = "AutoUseAbility",
- Callback = function(Value)
- Settings.AutoUseAbility = Value
- end,
- })
- local AutoParryLobbyToggle = BlatantTab:CreateToggle({
- Name = "Auto Parry Lobby Ball",
- CurrentValue = false,
- Flag = "AutoParryLobby",
- Callback = function(Value)
- Settings.AutoParryLobby = Value
- end,
- })
- local LobbyParryAccuracySlider = BlatantTab:CreateSlider({
- Name = "Lobby Ball Parry Accuracy (%)",
- Range = {0, 100},
- Increment = 1,
- CurrentValue = 100,
- Flag = "LobbyParryAccuracy",
- Callback = function(Value)
- Settings.LobbyParryAccuracy = Value
- end,
- })
- -- Other Tab Features
- local OtherSection = OtherTab:CreateSection("Movement & Visuals")
- local SpeedSlider = OtherTab:CreateSlider({
- Name = "Speed Boost",
- Range = {16, 200},
- Increment = 1,
- CurrentValue = 16,
- Flag = "SpeedBoost",
- Callback = function(Value)
- Settings.SpeedBoost = Value
- if humanoid then
- humanoid.WalkSpeed = Value
- end
- end,
- })
- local JumpSlider = OtherTab:CreateSlider({
- Name = "Jump Boost",
- Range = {50, 300},
- Increment = 1,
- CurrentValue = 50,
- Flag = "JumpBoost",
- Callback = function(Value)
- Settings.JumpBoost = Value
- if humanoid then
- humanoid.JumpPower = Value
- end
- end,
- })
- local NoClipToggle = OtherTab:CreateToggle({
- Name = "No Clip",
- CurrentValue = false,
- Flag = "NoClip",
- Callback = function(Value)
- Settings.NoClip = Value
- end,
- })
- local FlyToggle = OtherTab:CreateToggle({
- Name = "Fly",
- CurrentValue = false,
- Flag = "Fly",
- Callback = function(Value)
- Settings.Fly = Value
- end,
- })
- local ESPSection = OtherTab:CreateSection("ESP Features")
- local EnableESPToggle = OtherTab:CreateToggle({
- Name = "Enable ESP",
- CurrentValue = false,
- Flag = "EnableESP",
- Callback = function(Value)
- Settings.EnableESP = Value
- end,
- })
- local AbilityESPToggle = OtherTab:CreateToggle({
- Name = "Ability ESP",
- CurrentValue = false,
- Flag = "AbilityESP",
- Callback = function(Value)
- Settings.AbilityESP = Value
- end,
- })
- local ESPTracersToggle = OtherTab:CreateToggle({
- Name = "ESP Tracers",
- CurrentValue = false,
- Flag = "ESPTracers",
- Callback = function(Value)
- Settings.ESPTracers = Value
- end,
- })
- local ESPNamesToggle = OtherTab:CreateToggle({
- Name = "ESP Names",
- CurrentValue = false,
- Flag = "ESPNames",
- Callback = function(Value)
- Settings.ESPNames = Value
- end,
- })
- local ESPBoxesToggle = OtherTab:CreateToggle({
- Name = "ESP Boxes",
- CurrentValue = false,
- Flag = "ESPBoxes",
- Callback = function(Value)
- Settings.ESPBoxes = Value
- end,
- })
- local ESPColorPicker = OtherTab:CreateColorPicker({
- Name = "ESP Color",
- Color = Color3.fromRGB(255, 255, 255),
- Flag = "ESPColor",
- Callback = function(Value)
- Settings.ESPColor = Value
- end
- })
- -- Misc Tab Features
- local MiscSection = MiscTab:CreateSection("Miscellaneous")
- local RejoinButton = MiscTab:CreateButton({
- Name = "Rejoin Server",
- Callback = function()
- game:GetService("TeleportService"):Teleport(game.PlaceId, player)
- end,
- })
- local ServerHopButton = MiscTab:CreateButton({
- Name = "Server Hop",
- Callback = function()
- local PlaceId = game.PlaceId
- local servers = game:GetService("HttpService"):JSONDecode(game:HttpGet("https://games.roblox.com/v1/games/" .. PlaceId .. "/servers/Public?sortOrder=Asc&limit=100"))
- for i,v in pairs(servers.data) do
- if v.id ~= game.JobId then
- game:GetService("TeleportService"):TeleportToPlaceInstance(PlaceId, v.id, player)
- break
- end
- end
- end,
- })
- local ResetButton = MiscTab:CreateButton({
- Name = "Reset Character",
- Callback = function()
- character:BreakJoints()
- end,
- })
- local AntiAFKToggle = MiscTab:CreateToggle({
- Name = "Anti AFK",
- CurrentValue = false,
- Flag = "AntiAFK",
- Callback = function(Value)
- if Value then
- local vu = game:GetService("VirtualUser")
- game:GetService("Players").LocalPlayer.Idled:connect(function()
- vu:Button2Down(Vector2.new(0,0),workspace.CurrentCamera.CFrame)
- wait(1)
- vu:Button2Up(Vector2.new(0,0),workspace.CurrentCamera.CFrame)
- end)
- end
- end,
- })
- -- Credits Tab
- local CreditsSection = CreditsTab:CreateSection("Credits")
- local CreatorLabel = CreditsTab:CreateLabel("Script by: JayRBLX Scripts")
- local YouTubeButton = CreditsTab:CreateButton({
- Name = "Copy YouTube Channel",
- Callback = function()
- setclipboard("https://youtube.com/@jayscriptsrblx?si=94ZHB3di6FfIHY9q")
- Rayfield:Notify({
- Title = "YouTube Link Copied!",
- Content = "YouTube channel link copied to clipboard",
- Duration = 3,
- Image = 4483362458
- })
- end,
- })
- local DiscordServerButton = CreditsTab:CreateButton({
- Name = "Copy Discord Server",
- Callback = function()
- setclipboard("https://discord.gg/KPUPp4m9pJ")
- Rayfield:Notify({
- Title = "Discord Link Copied!",
- Content = "Discord server link copied to clipboard",
- Duration = 3,
- Image = 4483362458
- })
- end,
- })
- local VersionLabel = CreditsTab:CreateLabel("Version: 1.0.0")
- local PurposeLabel = CreditsTab:CreateLabel("For Entertainment Purposes ONLY!")
- -- Main Script Logic
- local function getBall()
- local balls = Workspace:FindFirstChild("Balls")
- if balls then
- for _, ball in pairs(balls:GetChildren()) do
- if ball:IsA("Part") then
- return ball
- end
- end
- end
- return nil
- end
- local function getClosestPlayer()
- local closestPlayer = nil
- local shortestDistance = math.huge
- for _, plr in pairs(Players:GetPlayers()) do
- if plr ~= player and plr.Character then
- local distance = (rootPart.Position - plr.Character.HumanoidRootPart.Position).Magnitude
- if distance < shortestDistance then
- shortestDistance = distance
- closestPlayer = plr
- end
- end
- end
- return closestPlayer
- end
- local function parry()
- local ball = getBall()
- if ball then
- local distance = (ball.Position - rootPart.Position).Magnitude
- local accuracy = Settings.AutoParryLobby and Settings.LobbyParryAccuracy or Settings.ParryAccuracy
- if distance < 20 and math.random(1, 100) <= accuracy then
- -- Trigger parry action
- local tool = character:FindFirstChildOfClass("Tool")
- if tool then
- tool:Activate()
- end
- end
- end
- end
- -- Auto Collect Rewards
- spawn(function()
- while wait(1) do
- if Settings.AutoCollectRewards then
- local rewards = Workspace:FindFirstChild("Rewards")
- if rewards then
- for _, reward in pairs(rewards:GetChildren()) do
- if reward:IsA("Part") or reward:IsA("Model") then
- rootPart.CFrame = reward.CFrame
- wait(0.1)
- end
- end
- end
- end
- end
- end)
- -- Auto Play
- spawn(function()
- while wait(5) do
- if Settings.AutoPlay then
- local playButton = player.PlayerGui:FindFirstChild("PlayButton", true)
- if playButton and playButton:IsA("TextButton") then
- firesignal(playButton.MouseButton1Click)
- end
- end
- end
- end)
- -- Auto Parry Loop
- RunService.Heartbeat:Connect(function()
- if Settings.AutoParry or Settings.AutoParryLobby then
- parry()
- end
- if Settings.AutoSpam then
- local tool = character:FindFirstChildOfClass("Tool")
- if tool then
- tool:Activate()
- end
- end
- if Settings.NoClip then
- for _, part in pairs(character:GetDescendants()) do
- if part:IsA("BasePart") then
- part.CanCollide = false
- end
- end
- end
- end)
- -- Fly System
- local flying = false
- local flySpeed = 50
- local bodyVelocity
- local bodyGyro
- local function startFly()
- flying = true
- bodyVelocity = Instance.new("BodyVelocity")
- bodyVelocity.MaxForce = Vector3.new(9e9, 9e9, 9e9)
- bodyVelocity.Velocity = Vector3.new(0, 0, 0)
- bodyVelocity.Parent = rootPart
- bodyGyro = Instance.new("BodyGyro")
- bodyGyro.MaxTorque = Vector3.new(9e9, 9e9, 9e9)
- bodyGyro.CFrame = rootPart.CFrame
- bodyGyro.Parent = rootPart
- end
- local function stopFly()
- flying = false
- if bodyVelocity then bodyVelocity:Destroy() end
- if bodyGyro then bodyGyro:Destroy() end
- end
- RunService.RenderStepped:Connect(function()
- if Settings.Fly and not flying then
- startFly()
- elseif not Settings.Fly and flying then
- stopFly()
- end
- if flying then
- local cam = Workspace.CurrentCamera
- local moveDirection = Vector3.new()
- if UserInputService:IsKeyDown(Enum.KeyCode.W) then
- moveDirection = moveDirection + (cam.CFrame.LookVector * flySpeed)
- end
- if UserInputService:IsKeyDown(Enum.KeyCode.S) then
- moveDirection = moveDirection - (cam.CFrame.LookVector * flySpeed)
- end
- if UserInputService:IsKeyDown(Enum.KeyCode.A) then
- moveDirection = moveDirection - (cam.CFrame.RightVector * flySpeed)
- end
- if UserInputService:IsKeyDown(Enum.KeyCode.D) then
- moveDirection = moveDirection + (cam.CFrame.RightVector * flySpeed)
- end
- if UserInputService:IsKeyDown(Enum.KeyCode.Space) then
- moveDirection = moveDirection + Vector3.new(0, flySpeed, 0)
- end
- if UserInputService:IsKeyDown(Enum.KeyCode.LeftShift) then
- moveDirection = moveDirection - Vector3.new(0, flySpeed, 0)
- end
- bodyVelocity.Velocity = moveDirection
- bodyGyro.CFrame = cam.CFrame
- end
- end)
- -- ESP System
- local espObjects = {}
- local function createESP(target)
- if not target or not target:FindFirstChild("HumanoidRootPart") then return end
- local esp = {
- Target = target,
- Box = nil,
- Tracer = nil,
- Name = nil
- }
- if Settings.ESPBoxes then
- local box = Drawing.new("Square")
- box.Visible = true
- box.Color = Settings.ESPColor
- box.Thickness = 2
- box.Transparency = 1
- box.Filled = false
- esp.Box = box
- end
- if Settings.ESPTracers then
- local tracer = Drawing.new("Line")
- tracer.Visible = true
- tracer.Color = Settings.ESPColor
- tracer.Thickness = 1
- tracer.Transparency = 1
- esp.Tracer = tracer
- end
- if Settings.ESPNames then
- local name = Drawing.new("Text")
- name.Visible = true
- name.Color = Settings.ESPColor
- name.Size = 18
- name.Center = true
- name.Outline = true
- name.Text = target.Name
- esp.Name = name
- end
- table.insert(espObjects, esp)
- end
- local function updateESP()
- for _, esp in pairs(espObjects) do
- if esp.Box then esp.Box:Remove() end
- if esp.Tracer then esp.Tracer:Remove() end
- if esp.Name then esp.Name:Remove() end
- end
- espObjects = {}
- if Settings.EnableESP then
- for _, plr in pairs(Players:GetPlayers()) do
- if plr ~= player and plr.Character then
- createESP(plr.Character)
- end
- end
- end
- end
- RunService.RenderStepped:Connect(function()
- if Settings.EnableESP then
- updateESP()
- end
- end)
- -- Character Update
- player.CharacterAdded:Connect(function(char)
- character = char
- humanoid = char:WaitForChild("Humanoid")
- rootPart = char:WaitForChild("HumanoidRootPart")
- humanoid.WalkSpeed = Settings.SpeedBoost
- humanoid.JumpPower = Settings.JumpBoost
- end)
- Rayfield:Notify({
- Title = "Script Loaded!",
- Content = "JayRBLX Scripts - Blade Ball loaded successfully!",
- Duration = 5,
- Image = 4483362458
- })
- print("Blade Ball Script by JayRBLX Scripts loaded successfully!")
Advertisement
Add Comment
Please, Sign In to add comment