Making a sniper the way it should be

I want to have a cone of (practically) 0 when aiming with a sniper rifle, and insanely high when not aiming.
But it looks like just setting self.Primary.Cone whenever the player aims/stops aiming doesn’t work.
How can I do this?

do you mean FOV? are you using

SWEP:TranslateFOV?

Nono that part is all good.
Basically when I am zoomed in I want the bullet to travel to the actual location that I am looking at. When I’m zoomed out, I don’t want the same thing to happen. This is a problem because even if I remove the crosshairs people can easily hit other people with the sniper while out-of-zoom because as soon as their names pop up on the screen you shoot. I want it so that when you’re zoomed out, the weapon cone will be higher (Imagine CS:GO snipers)

You could override the bullet shooting

SWEP:ShootBullet

Thanks, I just made a self:GetIronSights() check and put in the cone values myself. I have no idea why it didn’t update when I simply edited self.Primary.Cone