-- I didn't make a loop for this since its opensourced, so you can either wrap it in a loop or don't. local ebt = game:GetService("Players") local idk = game:GetService("ReplicatedStorage") local you = ebt.LocalPlayer local prediction = 3 -- Increase this to change distance shots, without perdiction its hard to get kills on moving targets -- I cant talk today sorry its like 2 am and tired my grammar is hanging by a thread local youusetocallmeonmycellphone = {} for _, player in ipairs(ebt:GetPlayers()) do if player ~= you and player.Character and player.Character:FindFirstChild("HumanoidRootPart") then table.insert(youusetocallmeonmycellphone, player) end end if #youusetocallmeonmycellphone > 0 then local randomTarget = youusetocallmeonmycellphone[math.random(1, #youusetocallmeonmycellphone)] local char = randomTarget.Character local hrp = char.HumanoidRootPart local humanoid = char:FindFirstChild("Humanoid") local targetPos = hrp.Position if humanoid and humanoid.MoveDirection.Magnitude > 0 then targetPos = targetPos + (humanoid.MoveDirection * prediction) end local Event = idk.Functions.RemoteFunctions.SniperShoot Event:InvokeServer( targetPos, Vector3.new(0, -1, 0), 0 ) else return end