Yes, there's a couple ways to do this. I like jaeger's config for this.
autoexec
Code:
alias do_show_weapon "r_drawviewmodel 1"
alias do_hide_weapon "r_drawviewmodel 0"
alias +force_show_weapon do_show_weapon
alias -force_show_weapon do_hide_weapon
alias hide_weapon "do_hide_weapon; alias -force_show_weapon do_hide_weapon"
alias show_weapon "do_show_weapon; alias -force_show_weapon do_show_weapon"
alias weapon1 "slot1; hide_weapon"
alias weapon2 "slot2; hide_weapon"
alias weapon3 "slot3; show_weapon"
alias weapon4 "slot4; show_weapon"
alias weapon5 "slot5; show_weapon"
config
Code:
bind "1" "weapon1"
bind "2" "weapon2"
bind "3" "weapon3"
bind "4" "weapon4"
bind "5" "weapon5"
default_class.cfg (create) << This sets the default setup of view models.
Code:
bind mouse1 +attack
bind mouse2 +attack2
alias weapon1 "slot1; hide_weapon"
alias weapon2 "slot2; hide_weapon"
alias weapon3 "slot3; show_weapon"
alias weapon4 "slot4; show_weapon"
alias weapon5 "slot5; show_weapon"
For your examples
scout.cfg
Code:
exec "default_class.cfg"
alias weapon2 "slot2; hide_weapon"
soldier.cfg
Code:
exec "default_class.cfg"
medic.cfg
Code:
exec "default_class.cfg"
alias weapon1 "slot1; hide_weapon"
Add
Code:
exec "default_class.cfg"
To all the class configs.