Invalid argument #2 to 'new' (Vector3 expected, got number)

The error is on this line of code:

local Distance = (
FirePoint.CFrame.LookVector.Z) - WeaponSpawn.RightFirePoint.Position).magnitude

From what i see, youre attempting to create a Vector3 from a single number, that being the LookVector.Z.
The correct creation of a Vector3 should look like:, 0, 0)

Youve done:

You should try doing:

local Distance = ( - WeaponSpawn.RightFirePoint.Position).magnitude

Ah it worked but there is another error in the other lines but thanks.