```
if (input.UserInputType == Enum.UserInputType.MouseButton1) then
if (self.CanFire == false or self.FPS.IsSprinting) then return end
self.CanFire = false
self.Recoil.angularFrequency = 20
-- local x, y, z = Camera.CFrame:ToEulerAnglesYXZ()
-- local OriginalCameraAngle = Vector3.new(math.deg(x),math.deg(y),math.deg(z))
-- local sx, sy, sz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = Camera.CFrame:GetComponents()
-- local x = math.atan2(-m12, m22)
-- local y = math.asin(m02)
-- local z = math.atan2(-m01, m00)
-- local OriginalCameraAngle = Vector3.new(y,z,0)
-- local Angle = Vector3.new(Camera.CFrame - Camera.CFrame.Position)
-- Angle = Vector3.new(math.deg(Angle.X), math.deg(Angle.Y), math.deg(Angle.Z))
local x, y, z = Camera.CFrame:ToEulerAnglesYXZ()
local Angle = Vector3.new(math.deg(x),math.deg(y),math.deg(z))
print(Angle)
if (self.FireType == "Auto") then
while (UserInputService:IsMouseButtonPressed(Enum.UserInputType.MouseButton1)) do
self:Fire()
end
elseif (self.FireType == "Semi") then
self:Fire()
elseif (self.FireType == "Burst") then
self:Fire()
wait(.1)
self:Fire()
wait(.1)
self:Fire()
end
self.Recoil.angularFrequency = 10
self.Recoil.p = Angle
self.CanFire = true
end
```

Hmmm… what I am trying to do is have a gun, when it is done firing, return the camera to it’s original rotation.

This is what is looks like…

The angle gets applied like this:

```
Camera.CFrame = Camera.CFrame * CFrame.fromEulerAnglesYXZ(self.Recoil.p.y, self.Recoil.p.z, 0)
```

Am I missing something?