local RunService = game:GetService("RunService") local Players = game:GetService("Players") local LocalPlayer = Players.LocalPlayer local Beyblades = workspace:WaitForChild("Beyblades") local Events = game:GetService("ReplicatedStorage"):WaitForChild("Events") getgenv().target = nil -- Detect when a new beyblade spawns Beyblades.ChildAdded:Connect(function(v) if v:GetAttribute("TargetPlayer") == LocalPlayer.Name then getgenv().target = v print("Target acquired:", v) -- Start attack loop if not already running if not getgenv().attackConnection then getgenv().attackConnection = RunService.Heartbeat:Connect(function() if getgenv().target then print("Attack") Beyblades:WaitForChild(LocalPlayer.Name).HumanoidRootPart.CFrame = getgenv().target.HumanoidRootPart.CFrame * CFrame.new(0,5,0) local args = { getgenv().target, 1, vector.create(0,0,0), Beyblades:WaitForChild(LocalPlayer.Name) } Events.Attack:FireServer(unpack(args)) else -- Stop loop if target is gone print("No target — stopping attack loop.") getgenv().attackConnection:Disconnect() getgenv().attackConnection = nil end end) end end end) -- Detect when current target despawns Beyblades.ChildRemoved:Connect(function(v) if getgenv().target == v then print("Target removed:", v) getgenv().target = nil end end)