What do you want to achieve?
I want the projectile to shoot exactly to the mouse position, I don’t want it to shoot near it. And I wanna understand why it does that.
What is the issue?
It doesn’t shoot exactly on it, I want to fix it.

What solutions have you tried so far?
I’ve looked up how to make the projectile shoot on mouse position but it doesn’t shoot to its exact position.
Local Script
local player = game.Players.LocalPlayer
local mouse = player:GetMouse()
local rs = game:GetService("ReplicatedStorage")
local bally = rs:WaitForChild("Bally")
local uis = game:GetService("UserInputService")
uis.InputBegan:Connect(function(input, gameprocessed)
if gameprocessed then return end
if input.UserInputType == Enum.UserInputType.MouseButton1 then
script.Fire:FireServer(bally, mouse.Hit.p)
end
end)
Server Script
local speed = 10
local damage = 20
local lifetime = 10
local cooldown = 1
local canshoot = true
local debris = game:GetService("Debris")
script.Parent.Fire.OnServerEvent:Connect(function(player, bally, mousePos)
if not canshoot then return end
canshoot = true
local char = player.Character
if not char then
return
end
local root = char:FindFirstChild("HumanoidRootPart")
local bv = Instance.new("BodyVelocity")
bv.MaxForce = Vector3.new(1,1,1) * 30000
bv.Velocity = mousePos * speed
local cally = bally:Clone()
cally.Parent = workspace
cally.CFrame = root.CFrame
bv.Parent = cally
debris:AddItem(cally, lifetime)
end)
Also if you can, I don’t quite understand the BodyVelocity.MaxForce and I’ve searched up it but I still don’t understand. I don’t get why you have to have it be 30000 bv.MaxForce = Vector3.new(1,1,1) * 30000, so if you could explain that to me, that’d be great. And if you’re wondering why I don’t understand it if I typed it then it’s because I was following a tutorial on youtube.
