I've been trying to use zoom for ages, but have never been able to, due to lack of available keys, or not getting comfortable with the keys I could use. I tried rearranging weapon keys before, but I couldn't get used to that either. Due to this I have always used 90 fov so that I didn't have to zoom, but considering that most pro's use zoom heavily, the next logical step to improving your aim is using zoom. So I have constructed the following script, which does:

- allows unique weapon settings
- allows you to zoom for mg, lg and rail (but you can support more) by pressing the weapon button once or twice (it toggles)
- the toggle for each weapon works separately, so that every time you change a weapon, it's reset to the default fov for that weapon.

I decided to only use it for rail, lg and mg as those are the only weapons I use zoom on. It automatically zooms in when I switch to rail, lg or mg, however, if I select the weapon again, it zooms out to the normal fov. You can zoom in and out at will on that weapon. If you change to another weapon such as rocket, it will zoom out to default.

You shouldn't really be running around with rail or lg which is why I have it zoom in by default, but you can run around with the normal fov by just selecting the weapon twice. Of course, you can have it work the other way round, you just need to switch "railin" / "railout" in the scripts.

I am not using different sensitivities for my low and high fov, as I came to the conclusion that your lg is higher when zoomed in when you keep the sensitivity the same as your base sensitivity. Of course, rail is better to have a lower sensitivity when zoomed, however it confuses matters, so I just decided to get used to it.

This isn't anything amazing, but I thought I would share it, just in case anyone was interested :)

weapons.cfg
****************

set w6 "weapon 6 ; cg_DrawCrosshair 2 ; cg_CrosshairSize 30"
set w5 "weapon 5 ; cg_DrawCrosshair 9 ; cg_CrosshairSize 35"
set w1 "weapon 1 ; cg_DrawCrosshair 0"
set w3 "weapon 3 ; cg_DrawCrosshair 9 ; cg_CrosshairSize 35"
set w8 "weapon 8 ; cg_DrawCrosshair 9 ; cg_CrosshairSize 35"
set w4 "weapon 4 ; cg_DrawCrosshair 6 ; cg_CrosshairSize 70"
set w2 "weapon 2 ; cg_DrawCrosshair 2 ; cg_CrosshairSize 30"
set w7 "weapon 7 ; cg_DrawCrosshair 6 ; cg_CrosshairSize 26"

set fovin "cg_fov 60"
set fovout "cg_fov 110"

set railzoom "vstr railin"
set railin "vstr fovin ; set railzoom vstr railout"
set railout "vstr fovout ; set railzoom vstr railin"

set lgzoom "vstr lgin"
set lgin "vstr fovin ; set lgzoom vstr lgout"
set lgout "vstr fovout ; set lgzoom vstr lgin"

set mgzoom "vstr mgin"
set mgin "vstr fovin ; set mgzoom vstr mgout"
set mgout "vstr fovout ; set mgzoom vstr mgin"

bind KP_HOME "vstr w6 ; vstr railout ; vstr mgout ; vstr lgzoom"
bind KP_PGUP "vstr w5 ; vstr lgout ; vstr railout ; vstr mgout"
bind KP_END "vstr w1 ; vstr lgout ; vstr railout ; vstr mgout"
bind KP_DOWNARROW "vstr w3 ; vstr lgout ; vstr railout ; vstr mgout"
bind KP_PGDN "vstr w8 ; vstr lgout ; vstr railout ; vstr mgout"
bind KP_DEL "vstr w4 ; vstr lgout ; vstr railout ; vstr mgout"
bind KP_PLUS "vstr w2 ; vstr lgout ; vstr railout ; vstr mgzoom"
bind MOUSE2 "vstr w7 ; vstr lgout ; vstr mgout ; vstr railzoom"