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

The error is on this line of code:

local Distance = (Vector3.new(WeaponSpawn.Right
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:

Vector3.new(0, 0, 0)

Youve done:

Vector3.new(0)

You should try doing:

local Distance = (Vector3.new(WeaponSpawn.RightFirePoint.CFrame.LookVector) - WeaponSpawn.RightFirePoint.Position).magnitude

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