Yhehewgq

Blade Ball Script (My Version)

Nov 26th, 2025 (edited)
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 19.62 KB | None | 0 0
  1. -- Blade Ball Script by JayRBLX Scripts
  2. -- For Entertainment Purposes ONLY!
  3.  
  4. local Rayfield = loadstring(game:HttpGet('https://sirius.menu/rayfield'))()
  5.  
  6. -- Key System
  7. local KeySystem = Rayfield:CreateWindow({
  8.    Name = "Blade Ball Script - Key System",
  9.    LoadingTitle = "JayRBLX Scripts",
  10.    LoadingSubtitle = "by JayRBLX",
  11.    ConfigurationSaving = {
  12.       Enabled = false,
  13.       FolderName = nil,
  14.       FileName = "BladeBallHub"
  15.    },
  16.    Discord = {
  17.       Enabled = true,
  18.       Invite = "KPUPp4m9pJ",
  19.       RememberJoins = true
  20.    },
  21.    KeySystem = true,
  22.    KeySettings = {
  23.       Title = "JayRBLX Scripts Key System",
  24.       Subtitle = "Join our discord to get the key!",
  25.       Note = "Discord: https://discord.gg/KPUPp4m9pJ",
  26.       FileName = "Key",
  27.       SaveKey = false,
  28.       GrabKeyFromSite = false,
  29.       Key = {"Jcheeks130"}
  30.    }
  31. })
  32.  
  33. -- Services
  34. local Players = game:GetService("Players")
  35. local RunService = game:GetService("RunService")
  36. local UserInputService = game:GetService("UserInputService")
  37. local ReplicatedStorage = game:GetService("ReplicatedStorage")
  38. local Workspace = game:GetService("Workspace")
  39.  
  40. local player = Players.LocalPlayer
  41. local character = player.Character or player.CharacterAdded:Wait()
  42. local humanoid = character:WaitForChild("Humanoid")
  43. local rootPart = character:WaitForChild("HumanoidRootPart")
  44.  
  45. -- Variables
  46. local Settings = {
  47.     AutoParry = false,
  48.     AutoSpam = false,
  49.     ParryAccuracy = 100,
  50.     ManualSpam = false,
  51.     TriggerBot = false,
  52.     DetectInfinity = false,
  53.     DetectDeathSlash = false,
  54.     DetectTimeHole = false,
  55.     DetectSlashesOfFury = false,
  56.     AntiPhantom = false,
  57.     UseAbilityForBlock = false,
  58.     AutoUseAbility = false,
  59.     AutoParryLobby = false,
  60.     LobbyParryAccuracy = 100,
  61.     SpeedBoost = 16,
  62.     JumpBoost = 50,
  63.     NoClip = false,
  64.     Fly = false,
  65.     FlySpeed = 50,
  66.     AbilityESP = false,
  67.     EnableESP = false,
  68.     ESPTracers = false,
  69.     ESPNames = false,
  70.     ESPBoxes = false,
  71.     ESPColor = Color3.fromRGB(255, 255, 255),
  72.     AutoCollectRewards = false,
  73.     AutoJump = false,
  74.     AutoDoubleJump = false,
  75.     AutoPlay = false,
  76.     CurrentSword = ""
  77. }
  78.  
  79. -- Main Window
  80. local Window = Rayfield:CreateWindow({
  81.    Name = "Blade Ball Script | JayRBLX",
  82.    LoadingTitle = "JayRBLX Scripts - Blade Ball",
  83.    LoadingSubtitle = "by JayRBLX",
  84.    ConfigurationSaving = {
  85.       Enabled = false
  86.    }
  87. })
  88.  
  89. -- Tabs
  90. local MainTab = Window:CreateTab("🏠 Main", 4483362458)
  91. local BlatantTab = Window:CreateTab("⚔️ Blatant", 4483362458)
  92. local OtherTab = Window:CreateTab("🔧 Other", 4483362458)
  93. local MiscTab = Window:CreateTab("📦 Misc", 4483362458)
  94. local CreditsTab = Window:CreateTab("👑 Credits", 4483362458)
  95.  
  96. -- Main Tab Features
  97. local MainSection = MainTab:CreateSection("Main Features")
  98.  
  99. local DiscordButton = MainTab:CreateButton({
  100.    Name = "Copy Discord Link",
  101.    Callback = function()
  102.       setclipboard("https://discord.gg/KPUPp4m9pJ")
  103.       Rayfield:Notify({
  104.          Title = "Discord Link Copied!",
  105.          Content = "Discord link copied to clipboard",
  106.          Duration = 3,
  107.          Image = 4483362458
  108.       })
  109.    end,
  110. })
  111.  
  112. local SwordInput = MainTab:CreateInput({
  113.    Name = "Sword Name (Visual Change)",
  114.    PlaceholderText = "Enter sword name...",
  115.    RemoveTextAfterFocusLost = false,
  116.    Callback = function(Text)
  117.       Settings.CurrentSword = Text
  118.       -- Visual sword change logic
  119.       local sword = character:FindFirstChild("Sword") or character:FindFirstChildOfClass("Tool")
  120.       if sword then
  121.          local handle = sword:FindFirstChild("Handle")
  122.          if handle then
  123.             Rayfield:Notify({
  124.                Title = "Sword Changed",
  125.                Content = "Visual sword changed to: " .. Text,
  126.                Duration = 3
  127.             })
  128.          end
  129.       end
  130.    end,
  131. })
  132.  
  133. local AutoCollectToggle = MainTab:CreateToggle({
  134.    Name = "Auto Collect Rewards",
  135.    CurrentValue = false,
  136.    Flag = "AutoCollect",
  137.    Callback = function(Value)
  138.       Settings.AutoCollectRewards = Value
  139.    end,
  140. })
  141.  
  142. local AutoJumpToggle = MainTab:CreateToggle({
  143.    Name = "Auto Jump",
  144.    CurrentValue = false,
  145.    Flag = "AutoJump",
  146.    Callback = function(Value)
  147.       Settings.AutoJump = Value
  148.    end,
  149. })
  150.  
  151. local AutoDoubleJumpToggle = MainTab:CreateToggle({
  152.    Name = "Auto Double Jump",
  153.    CurrentValue = false,
  154.    Flag = "AutoDoubleJump",
  155.    Callback = function(Value)
  156.       Settings.AutoDoubleJump = Value
  157.    end,
  158. })
  159.  
  160. local AutoPlayToggle = MainTab:CreateToggle({
  161.    Name = "Auto Play",
  162.    CurrentValue = false,
  163.    Flag = "AutoPlay",
  164.    Callback = function(Value)
  165.       Settings.AutoPlay = Value
  166.    end,
  167. })
  168.  
  169. -- Blatant Tab Features
  170. local BlatantSection = BlatantTab:CreateSection("Blatant Features")
  171.  
  172. local AutoParryToggle = BlatantTab:CreateToggle({
  173.    Name = "Auto Parry",
  174.    CurrentValue = false,
  175.    Flag = "AutoParry",
  176.    Callback = function(Value)
  177.       Settings.AutoParry = Value
  178.    end,
  179. })
  180.  
  181. local AutoSpamToggle = BlatantTab:CreateToggle({
  182.    Name = "Auto Spam",
  183.    CurrentValue = false,
  184.    Flag = "AutoSpam",
  185.    Callback = function(Value)
  186.       Settings.AutoSpam = Value
  187.    end,
  188. })
  189.  
  190. local ParryAccuracySlider = BlatantTab:CreateSlider({
  191.    Name = "Parry Accuracy (%)",
  192.    Range = {0, 100},
  193.    Increment = 1,
  194.    CurrentValue = 100,
  195.    Flag = "ParryAccuracy",
  196.    Callback = function(Value)
  197.       Settings.ParryAccuracy = Value
  198.    end,
  199. })
  200.  
  201. local ManualSpamToggle = BlatantTab:CreateToggle({
  202.    Name = "Manual Spam",
  203.    CurrentValue = false,
  204.    Flag = "ManualSpam",
  205.    Callback = function(Value)
  206.       Settings.ManualSpam = Value
  207.    end,
  208. })
  209.  
  210. local TriggerBotToggle = BlatantTab:CreateToggle({
  211.    Name = "Trigger Bot",
  212.    CurrentValue = false,
  213.    Flag = "TriggerBot",
  214.    Callback = function(Value)
  215.       Settings.TriggerBot = Value
  216.    end,
  217. })
  218.  
  219. local DetectInfinityToggle = BlatantTab:CreateToggle({
  220.    Name = "Detect Infinity Ability",
  221.    CurrentValue = false,
  222.    Flag = "DetectInfinity",
  223.    Callback = function(Value)
  224.       Settings.DetectInfinity = Value
  225.    end,
  226. })
  227.  
  228. local DetectDeathSlashToggle = BlatantTab:CreateToggle({
  229.    Name = "Detect Death Slash Ability",
  230.    CurrentValue = false,
  231.    Flag = "DetectDeathSlash",
  232.    Callback = function(Value)
  233.       Settings.DetectDeathSlash = Value
  234.    end,
  235. })
  236.  
  237. local DetectTimeHoleToggle = BlatantTab:CreateToggle({
  238.    Name = "Detect Time Hole Ability",
  239.    CurrentValue = false,
  240.    Flag = "DetectTimeHole",
  241.    Callback = function(Value)
  242.       Settings.DetectTimeHole = Value
  243.    end,
  244. })
  245.  
  246. local DetectSlashesFuryToggle = BlatantTab:CreateToggle({
  247.    Name = "Detect Slashes of Fury Ability",
  248.    CurrentValue = false,
  249.    Flag = "DetectSlashesFury",
  250.    Callback = function(Value)
  251.       Settings.DetectSlashesOfFury = Value
  252.    end,
  253. })
  254.  
  255. local AntiPhantomToggle = BlatantTab:CreateToggle({
  256.    Name = "Anti Phantom Attack",
  257.    CurrentValue = false,
  258.    Flag = "AntiPhantom",
  259.    Callback = function(Value)
  260.       Settings.AntiPhantom = Value
  261.    end,
  262. })
  263.  
  264. local UseAbilityBlockToggle = BlatantTab:CreateToggle({
  265.    Name = "Use Ability for Accidental Block",
  266.    CurrentValue = false,
  267.    Flag = "UseAbilityBlock",
  268.    Callback = function(Value)
  269.       Settings.UseAbilityForBlock = Value
  270.    end,
  271. })
  272.  
  273. local AutoUseAbilityToggle = BlatantTab:CreateToggle({
  274.    Name = "Auto Use Ability",
  275.    CurrentValue = false,
  276.    Flag = "AutoUseAbility",
  277.    Callback = function(Value)
  278.       Settings.AutoUseAbility = Value
  279.    end,
  280. })
  281.  
  282. local AutoParryLobbyToggle = BlatantTab:CreateToggle({
  283.    Name = "Auto Parry Lobby Ball",
  284.    CurrentValue = false,
  285.    Flag = "AutoParryLobby",
  286.    Callback = function(Value)
  287.       Settings.AutoParryLobby = Value
  288.    end,
  289. })
  290.  
  291. local LobbyParryAccuracySlider = BlatantTab:CreateSlider({
  292.    Name = "Lobby Ball Parry Accuracy (%)",
  293.    Range = {0, 100},
  294.    Increment = 1,
  295.    CurrentValue = 100,
  296.    Flag = "LobbyParryAccuracy",
  297.    Callback = function(Value)
  298.       Settings.LobbyParryAccuracy = Value
  299.    end,
  300. })
  301.  
  302. -- Other Tab Features
  303. local OtherSection = OtherTab:CreateSection("Movement & Visuals")
  304.  
  305. local SpeedSlider = OtherTab:CreateSlider({
  306.    Name = "Speed Boost",
  307.    Range = {16, 200},
  308.    Increment = 1,
  309.    CurrentValue = 16,
  310.    Flag = "SpeedBoost",
  311.    Callback = function(Value)
  312.       Settings.SpeedBoost = Value
  313.       if humanoid then
  314.          humanoid.WalkSpeed = Value
  315.       end
  316.    end,
  317. })
  318.  
  319. local JumpSlider = OtherTab:CreateSlider({
  320.    Name = "Jump Boost",
  321.    Range = {50, 300},
  322.    Increment = 1,
  323.    CurrentValue = 50,
  324.    Flag = "JumpBoost",
  325.    Callback = function(Value)
  326.       Settings.JumpBoost = Value
  327.       if humanoid then
  328.          humanoid.JumpPower = Value
  329.       end
  330.    end,
  331. })
  332.  
  333. local NoClipToggle = OtherTab:CreateToggle({
  334.    Name = "No Clip",
  335.    CurrentValue = false,
  336.    Flag = "NoClip",
  337.    Callback = function(Value)
  338.       Settings.NoClip = Value
  339.    end,
  340. })
  341.  
  342. local FlyToggle = OtherTab:CreateToggle({
  343.    Name = "Fly",
  344.    CurrentValue = false,
  345.    Flag = "Fly",
  346.    Callback = function(Value)
  347.       Settings.Fly = Value
  348.    end,
  349. })
  350.  
  351. local ESPSection = OtherTab:CreateSection("ESP Features")
  352.  
  353. local EnableESPToggle = OtherTab:CreateToggle({
  354.    Name = "Enable ESP",
  355.    CurrentValue = false,
  356.    Flag = "EnableESP",
  357.    Callback = function(Value)
  358.       Settings.EnableESP = Value
  359.    end,
  360. })
  361.  
  362. local AbilityESPToggle = OtherTab:CreateToggle({
  363.    Name = "Ability ESP",
  364.    CurrentValue = false,
  365.    Flag = "AbilityESP",
  366.    Callback = function(Value)
  367.       Settings.AbilityESP = Value
  368.    end,
  369. })
  370.  
  371. local ESPTracersToggle = OtherTab:CreateToggle({
  372.    Name = "ESP Tracers",
  373.    CurrentValue = false,
  374.    Flag = "ESPTracers",
  375.    Callback = function(Value)
  376.       Settings.ESPTracers = Value
  377.    end,
  378. })
  379.  
  380. local ESPNamesToggle = OtherTab:CreateToggle({
  381.    Name = "ESP Names",
  382.    CurrentValue = false,
  383.    Flag = "ESPNames",
  384.    Callback = function(Value)
  385.       Settings.ESPNames = Value
  386.    end,
  387. })
  388.  
  389. local ESPBoxesToggle = OtherTab:CreateToggle({
  390.    Name = "ESP Boxes",
  391.    CurrentValue = false,
  392.    Flag = "ESPBoxes",
  393.    Callback = function(Value)
  394.       Settings.ESPBoxes = Value
  395.    end,
  396. })
  397.  
  398. local ESPColorPicker = OtherTab:CreateColorPicker({
  399.    Name = "ESP Color",
  400.    Color = Color3.fromRGB(255, 255, 255),
  401.    Flag = "ESPColor",
  402.    Callback = function(Value)
  403.       Settings.ESPColor = Value
  404.    end
  405. })
  406.  
  407. -- Misc Tab Features
  408. local MiscSection = MiscTab:CreateSection("Miscellaneous")
  409.  
  410. local RejoinButton = MiscTab:CreateButton({
  411.    Name = "Rejoin Server",
  412.    Callback = function()
  413.       game:GetService("TeleportService"):Teleport(game.PlaceId, player)
  414.    end,
  415. })
  416.  
  417. local ServerHopButton = MiscTab:CreateButton({
  418.    Name = "Server Hop",
  419.    Callback = function()
  420.       local PlaceId = game.PlaceId
  421.       local servers = game:GetService("HttpService"):JSONDecode(game:HttpGet("https://games.roblox.com/v1/games/" .. PlaceId .. "/servers/Public?sortOrder=Asc&limit=100"))
  422.       for i,v in pairs(servers.data) do
  423.          if v.id ~= game.JobId then
  424.             game:GetService("TeleportService"):TeleportToPlaceInstance(PlaceId, v.id, player)
  425.             break
  426.          end
  427.       end
  428.    end,
  429. })
  430.  
  431. local ResetButton = MiscTab:CreateButton({
  432.    Name = "Reset Character",
  433.    Callback = function()
  434.       character:BreakJoints()
  435.    end,
  436. })
  437.  
  438. local AntiAFKToggle = MiscTab:CreateToggle({
  439.    Name = "Anti AFK",
  440.    CurrentValue = false,
  441.    Flag = "AntiAFK",
  442.    Callback = function(Value)
  443.       if Value then
  444.          local vu = game:GetService("VirtualUser")
  445.          game:GetService("Players").LocalPlayer.Idled:connect(function()
  446.             vu:Button2Down(Vector2.new(0,0),workspace.CurrentCamera.CFrame)
  447.             wait(1)
  448.             vu:Button2Up(Vector2.new(0,0),workspace.CurrentCamera.CFrame)
  449.          end)
  450.       end
  451.    end,
  452. })
  453.  
  454. -- Credits Tab
  455. local CreditsSection = CreditsTab:CreateSection("Credits")
  456.  
  457. local CreatorLabel = CreditsTab:CreateLabel("Script by: JayRBLX Scripts")
  458.  
  459. local YouTubeButton = CreditsTab:CreateButton({
  460.    Name = "Copy YouTube Channel",
  461.    Callback = function()
  462.       setclipboard("https://youtube.com/@jayscriptsrblx?si=94ZHB3di6FfIHY9q")
  463.       Rayfield:Notify({
  464.          Title = "YouTube Link Copied!",
  465.          Content = "YouTube channel link copied to clipboard",
  466.          Duration = 3,
  467.          Image = 4483362458
  468.       })
  469.    end,
  470. })
  471.  
  472. local DiscordServerButton = CreditsTab:CreateButton({
  473.    Name = "Copy Discord Server",
  474.    Callback = function()
  475.       setclipboard("https://discord.gg/KPUPp4m9pJ")
  476.       Rayfield:Notify({
  477.          Title = "Discord Link Copied!",
  478.          Content = "Discord server link copied to clipboard",
  479.          Duration = 3,
  480.          Image = 4483362458
  481.       })
  482.    end,
  483. })
  484.  
  485. local VersionLabel = CreditsTab:CreateLabel("Version: 1.0.0")
  486. local PurposeLabel = CreditsTab:CreateLabel("For Entertainment Purposes ONLY!")
  487.  
  488. -- Main Script Logic
  489. local function getBall()
  490.     local balls = Workspace:FindFirstChild("Balls")
  491.     if balls then
  492.         for _, ball in pairs(balls:GetChildren()) do
  493.             if ball:IsA("Part") then
  494.                 return ball
  495.             end
  496.         end
  497.     end
  498.     return nil
  499. end
  500.  
  501. local function getClosestPlayer()
  502.     local closestPlayer = nil
  503.     local shortestDistance = math.huge
  504.    
  505.     for _, plr in pairs(Players:GetPlayers()) do
  506.         if plr ~= player and plr.Character then
  507.             local distance = (rootPart.Position - plr.Character.HumanoidRootPart.Position).Magnitude
  508.             if distance < shortestDistance then
  509.                 shortestDistance = distance
  510.                 closestPlayer = plr
  511.             end
  512.         end
  513.     end
  514.    
  515.     return closestPlayer
  516. end
  517.  
  518. local function parry()
  519.     local ball = getBall()
  520.     if ball then
  521.         local distance = (ball.Position - rootPart.Position).Magnitude
  522.         local accuracy = Settings.AutoParryLobby and Settings.LobbyParryAccuracy or Settings.ParryAccuracy
  523.        
  524.         if distance < 20 and math.random(1, 100) <= accuracy then
  525.             -- Trigger parry action
  526.             local tool = character:FindFirstChildOfClass("Tool")
  527.             if tool then
  528.                 tool:Activate()
  529.             end
  530.         end
  531.     end
  532. end
  533.  
  534. -- Auto Collect Rewards
  535. spawn(function()
  536.     while wait(1) do
  537.         if Settings.AutoCollectRewards then
  538.             local rewards = Workspace:FindFirstChild("Rewards")
  539.             if rewards then
  540.                 for _, reward in pairs(rewards:GetChildren()) do
  541.                     if reward:IsA("Part") or reward:IsA("Model") then
  542.                         rootPart.CFrame = reward.CFrame
  543.                         wait(0.1)
  544.                     end
  545.                 end
  546.             end
  547.         end
  548.     end
  549. end)
  550.  
  551. -- Auto Play
  552. spawn(function()
  553.     while wait(5) do
  554.         if Settings.AutoPlay then
  555.             local playButton = player.PlayerGui:FindFirstChild("PlayButton", true)
  556.             if playButton and playButton:IsA("TextButton") then
  557.                 firesignal(playButton.MouseButton1Click)
  558.             end
  559.         end
  560.     end
  561. end)
  562.  
  563. -- Auto Parry Loop
  564. RunService.Heartbeat:Connect(function()
  565.     if Settings.AutoParry or Settings.AutoParryLobby then
  566.         parry()
  567.     end
  568.    
  569.     if Settings.AutoSpam then
  570.         local tool = character:FindFirstChildOfClass("Tool")
  571.         if tool then
  572.             tool:Activate()
  573.         end
  574.     end
  575.    
  576.     if Settings.NoClip then
  577.         for _, part in pairs(character:GetDescendants()) do
  578.             if part:IsA("BasePart") then
  579.                 part.CanCollide = false
  580.             end
  581.         end
  582.     end
  583. end)
  584.  
  585. -- Fly System
  586. local flying = false
  587. local flySpeed = 50
  588. local bodyVelocity
  589. local bodyGyro
  590.  
  591. local function startFly()
  592.     flying = true
  593.     bodyVelocity = Instance.new("BodyVelocity")
  594.     bodyVelocity.MaxForce = Vector3.new(9e9, 9e9, 9e9)
  595.     bodyVelocity.Velocity = Vector3.new(0, 0, 0)
  596.     bodyVelocity.Parent = rootPart
  597.    
  598.     bodyGyro = Instance.new("BodyGyro")
  599.     bodyGyro.MaxTorque = Vector3.new(9e9, 9e9, 9e9)
  600.     bodyGyro.CFrame = rootPart.CFrame
  601.     bodyGyro.Parent = rootPart
  602. end
  603.  
  604. local function stopFly()
  605.     flying = false
  606.     if bodyVelocity then bodyVelocity:Destroy() end
  607.     if bodyGyro then bodyGyro:Destroy() end
  608. end
  609.  
  610. RunService.RenderStepped:Connect(function()
  611.     if Settings.Fly and not flying then
  612.         startFly()
  613.     elseif not Settings.Fly and flying then
  614.         stopFly()
  615.     end
  616.    
  617.     if flying then
  618.         local cam = Workspace.CurrentCamera
  619.         local moveDirection = Vector3.new()
  620.        
  621.         if UserInputService:IsKeyDown(Enum.KeyCode.W) then
  622.             moveDirection = moveDirection + (cam.CFrame.LookVector * flySpeed)
  623.         end
  624.         if UserInputService:IsKeyDown(Enum.KeyCode.S) then
  625.             moveDirection = moveDirection - (cam.CFrame.LookVector * flySpeed)
  626.         end
  627.         if UserInputService:IsKeyDown(Enum.KeyCode.A) then
  628.             moveDirection = moveDirection - (cam.CFrame.RightVector * flySpeed)
  629.         end
  630.         if UserInputService:IsKeyDown(Enum.KeyCode.D) then
  631.             moveDirection = moveDirection + (cam.CFrame.RightVector * flySpeed)
  632.         end
  633.         if UserInputService:IsKeyDown(Enum.KeyCode.Space) then
  634.             moveDirection = moveDirection + Vector3.new(0, flySpeed, 0)
  635.         end
  636.         if UserInputService:IsKeyDown(Enum.KeyCode.LeftShift) then
  637.             moveDirection = moveDirection - Vector3.new(0, flySpeed, 0)
  638.         end
  639.        
  640.         bodyVelocity.Velocity = moveDirection
  641.         bodyGyro.CFrame = cam.CFrame
  642.     end
  643. end)
  644.  
  645. -- ESP System
  646. local espObjects = {}
  647.  
  648. local function createESP(target)
  649.     if not target or not target:FindFirstChild("HumanoidRootPart") then return end
  650.    
  651.     local esp = {
  652.         Target = target,
  653.         Box = nil,
  654.         Tracer = nil,
  655.         Name = nil
  656.     }
  657.    
  658.     if Settings.ESPBoxes then
  659.         local box = Drawing.new("Square")
  660.         box.Visible = true
  661.         box.Color = Settings.ESPColor
  662.         box.Thickness = 2
  663.         box.Transparency = 1
  664.         box.Filled = false
  665.         esp.Box = box
  666.     end
  667.    
  668.     if Settings.ESPTracers then
  669.         local tracer = Drawing.new("Line")
  670.         tracer.Visible = true
  671.         tracer.Color = Settings.ESPColor
  672.         tracer.Thickness = 1
  673.         tracer.Transparency = 1
  674.         esp.Tracer = tracer
  675.     end
  676.    
  677.     if Settings.ESPNames then
  678.         local name = Drawing.new("Text")
  679.         name.Visible = true
  680.         name.Color = Settings.ESPColor
  681.         name.Size = 18
  682.         name.Center = true
  683.         name.Outline = true
  684.         name.Text = target.Name
  685.         esp.Name = name
  686.     end
  687.    
  688.     table.insert(espObjects, esp)
  689. end
  690.  
  691. local function updateESP()
  692.     for _, esp in pairs(espObjects) do
  693.         if esp.Box then esp.Box:Remove() end
  694.         if esp.Tracer then esp.Tracer:Remove() end
  695.         if esp.Name then esp.Name:Remove() end
  696.     end
  697.     espObjects = {}
  698.    
  699.     if Settings.EnableESP then
  700.         for _, plr in pairs(Players:GetPlayers()) do
  701.             if plr ~= player and plr.Character then
  702.                 createESP(plr.Character)
  703.             end
  704.         end
  705.     end
  706. end
  707.  
  708. RunService.RenderStepped:Connect(function()
  709.     if Settings.EnableESP then
  710.         updateESP()
  711.     end
  712. end)
  713.  
  714. -- Character Update
  715. player.CharacterAdded:Connect(function(char)
  716.     character = char
  717.     humanoid = char:WaitForChild("Humanoid")
  718.     rootPart = char:WaitForChild("HumanoidRootPart")
  719.    
  720.     humanoid.WalkSpeed = Settings.SpeedBoost
  721.     humanoid.JumpPower = Settings.JumpBoost
  722. end)
  723.  
  724. Rayfield:Notify({
  725.    Title = "Script Loaded!",
  726.    Content = "JayRBLX Scripts - Blade Ball loaded successfully!",
  727.    Duration = 5,
  728.    Image = 4483362458
  729. })
  730.  
  731. print("Blade Ball Script by JayRBLX Scripts loaded successfully!")
Advertisement
Add Comment
Please, Sign In to add comment