LookVector is not a valid part of "main". LoocVector is a children of a part's CFrame. So basically, lookVector is the direction of that part is facing but not the velocity, just the direction.
On line 68, fix it into:
1 | d.Velocity = character.Head.CFrame.lookVector * ( 50 ) |
so i used Head because that is the direction your head/face is looking at. (Head.CFrame) means the CFrame of the head. (Head.CFrame.lookVector) means the direction of the head is looking at. (50) is just simply the speed it is launched.
Note: There is also a RayCast method for firing the bullet, but i dont know it yet. So if anyone knows how to fire bullets with RayCast, please answer it for him, then you can choose if you want to use my method or RayCast method. Hope this help!