I don't change sensitivity while firing or for different weapons. If you want to know my honest opinion I don't think it's a good idea, it will only make it harder for you to "become one" with the mouse, which is what you need to achieve your highest accuracies. But as they say, do what works for you... just take into consideration that it might be wiser in the long run to just stick to one sensitivity for all weapons and learn that.
Sure, I'll try to explain it. Here's the full script:
Care to explain that method too? I'm sorry for my spamming and so many questions but I'm so interested and I just want the best method! Thanks in advance!
So what happens here is that each weapon switch command is coupled to sensFireOn or sensFireOff. Mouse1 is bound to +sensFire at all times. Note that +commands are always active until the minus version (-command) is called, which in the case of keybinds is until the button is lifted.
bind Mouse1 "+sensFire"
alias -sensFire "-attack; sensitivity 3" // modify to suit your needs
alias +sensFire "+attack" // strictly this line is not necessary as +sensFire will be determined with weapon binds anyway
alias sensFirePlus "+attack; sensitivity 2" // modify to suit your needs
set sensFireOn "alias +sensFire sensFirePlus"
set sensFireOff "alias +sensFire +attack"
// weapon binds
set _GT "weapon 1; vstr sensFireOff"
set _MG "weapon 2; vstr sensFireOff"
set _SG "weapon 3; vstr sensFireOff"
set _GL "weapon 4; vstr sensFireOff"
set _RL "weapon 5; vstr sensFireOff"
set _LG "weapon 6; vstr sensFireOn"
set _RG "weapon 7; vstr sensFireOff"
set _PG "weapon 8; vstr sensFireOff"
bind 1 "vstr _GT"
bind 2 "vstr _MG"
bind 3 "vstr _SG"
If sensFireOn is called, +sensFire will be aliased to sensFirePlus, which is described as "+attack; sensitivity 2". Now, when Mouse1 is pressed (i.e. +sensFire is called), you will fire the weapon while simultaneously changing sensitivity temporarily, until Mouse1 is lifted.
(Digression: You can't set up a command that would alias +sensFire directly to "+attack; sensitivity 2" when executed. Take a look at this: set sensFireOn "alias +sensFire +attack; sensitivity 2". That would change sensitivity to 2 permanently, while describing +sensFire as only +attack.)
Now, if you switch to another weapon, sensFireOff will be called which resets +sensFire to +attack. Now Mouse1 will achieve the exact same thing as if it was bound to +attack. However, if sensFireOff is called while wielding LG and Mouse1 is pressed down, it will still be able to call -sensFire once the button is lifted since Mouse1 is still bound to +sensFire. If sensFireOff reset the Mouse1 bind to +attack, you wouldn't be able to call -sensFire in the above scenario, resulting in continuous firing until Mouse1 is pressed down and lifted again.
For both sensFireOff and sensFireOn weapons, -sensFire is set to "-attack; sensitivity 3". (The sensitivity here should be your default sensitivity.) With sensFireOff weapons which have +sensFire aliased to +attack only, it is not really necessary to include the default sensitivity in -sensFire, but there's no harm in doing that either. Another way to set sensFireOff up with -sensFire as -attack would be this:
alias sensFirePlus "+attack; sensitivity 2"
alias sensFireMinus "-attack; sensitivity 3"
set sensFireOn "alias +sensFire sensFirePlus; alias -sensFire sensFireMinus"
set sensFireOff "vstr normAttack; sensitivity 3"
set normAttack "alias +sensFire +attack; alias -sensFire -attack"
but that would require more lines so shouldn't be used in this case.
I hope that clears up how this script works...