I'm having some trouble scripting a zoom bind in my config to work properly. Basically it does work, but if I get fragged it thinks what ever weapon I pick up is in the railgun zoom mode (if I was fragged with railgun out) which gets me fragged when I'm constantly zooming with rockets. Hope that makes sense, basically the zoom script means if I press my railgun bind twice it zooms in / out.

Here is my bind cfg:
seta weapon_1 "weapon 1; vstr rg_o; vstr ch_1" // gnt
seta weapon_2 "weapon 2; vstr rg_o; vstr ch_2" // mg
seta weapon_3 "weapon 3; vstr rg_o; vstr ch_1" // ssg
seta weapon_4 "weapon 4; vstr rg_o; vstr ch_1" // gl
seta weapon_5 "weapon 5; vstr rg_o; vstr ch_1" // rl
seta weapon_6 "weapon 6; vstr rg_o; vstr ch_3" // lg
seta weapon_7 "weapon 7; vstr rg_1; vstr ch_2" // rg
seta weapon_8 "weapon 8; vstr rg_o; vstr ch_1" // pls
seta weapon_14 "weapon 14; vstr rg_o; vstr ch_2" // hmg

seta ch_1 "cg_crosshairsize 24; cg_drawCrosshair 3; cg_crosshairColor 4"
seta ch_2 "cg_crosshairsize 24; cg_drawCrosshair 6; cg_crosshairColor 4"
seta ch_3 "cg_crosshairsize 24; cg_drawCrosshair 2; cg_crosshairColor 4"

seta rg_o "-zoom; bind r vstr weapon_7" // This binds my rail key to change weapon to rail, and is executed on each weapon (see below)
seta rg_1 "-zoom; bind r vstr rg_0" // This is executed once you've chose rail, and binds rail key to Zoom
seta rg_0 "+zoom; bind r vstr rg_1" // This is the zoom, and also binds my rail key to zoomout

// -- WEAPONS -- //
bind a "vstr weapon_1"
bind z "vstr weapon_2"
bind v "vstr weapon_3"
bind b "vstr weapon_4"
bind w "vstr weapon_5"
bind g "vstr weapon_6"
bind r "vstr weapon_7"
bind TAB "vstr weapon_8"
bind c "vstr weapon_14"

I heard there is a new system which is superior to 'vstrs' in QL but I don't understand them yet, I think they were called aliases? If anyone can help me out it'd be awesome. Thanks guyz.

btw ch_1/2/3 are crosshair vstr's, rg_1/1/0 are for the railgun zoom script.