Here's the local script, and thank you for looking at my question.
Player = game.Players.LocalPlayer
Gun = script.Parent
Ammo = 5
mouse = Player:GetMouse()
function Shoot()
if Ammo > 0 then
local Bullet = Instance.new("Part", workspace)
game.Debris:addItem(Bullet, 2)
Bullet.Shape = "Ball"
Bullet.Size = Vector3.new(0.2, 0.2, 0.2)
Bullet.TopSurface = "Smooth"
Bullet.BottomSurface = "Smooth"
Bullet.BrickColor = BrickColor.new("Dark stone grey")
Bullet.CanCollide = false
Bullet.CFrame = Gun.Handle.CFrame
Bullet.CFrame = CFrame.new(Bullet.Position,mouse.Hit.p)
local v = Instance.new("BodyVelocity", Bullet)
v.velocity = Bullet.CFrame.lookVector * 90
v.maxForce = Vector3.new(math.huge, math.huge, math.huge)
end
end
Everything is correct, but my Firing Projectile still won't fire. Can you help me? Thank you!

3 comments
I'd meant 'Shoot()' not 'shoot()', sorry!
Awesome thank you for your answer it really helped me! So If I want to use any player action next time, I use UserInput?
Glad I could help. And yep, you should. Here's a link to all of the properties of Userinput, just to show you what you can do with it. http://wiki.roblox.com/?title=API:Class/UserInputService