// wherever these are bound bind "MOUSE1" "+fire1" bind "MOUSE2" "+fire2" // in core.cfg alias +fire1 "+f1" alias -fire1 "-f1" alias +fire2 "+f2" alias -fire2 "-f2" alias +f1 "+attack" alias -f1 "-attack" alias +f2 "+attack2" alias -f2 "-attack2" alias +e "alias +e1 +d1; alias -e1 -a1; alias +e2 +d2; alias -e2 -a2" alias -e "alias +e1; alias -e1; alias +e2; alias -e2" alias +e1 "+d1" alias +d1 "+a1" alias +a1 "+attack; wait 2; +b1" alias +b1 "+c1" alias +c1 "-a1" alias -e1 "-a1" alias -a1 "-attack; wait 2; -b1" alias -b1 "-c1" alias -c1 "+e" alias +e2 "+d2" alias +d2 "+a2" alias +a2 "+attack2; wait 2; +b2" alias +b2 "+c2" alias +c2 "-a2" alias -e2 "-a2" alias -a2 "-attack2; wait 2; -b2" alias -b2 "-c2" alias -c2 "+e" alias wait "echo WAIT DISABLED BY HOST; alias wait; exec restricted.cfg" wait // in restricted.cfg alias +fire1 "+attack" alias -fire1 "-attack" alias +fire2 "+attack2" alias -fire2 "-attack2" alias +a1 "-attack; -attack2" alias -a1 "-attack; -attack2" alias +a2 "-attack; -attack2" alias -a2 "-attack; -attack2" // in demoman.cfg exec core.cfg alias +f1 "alias +c1 +e; alias -c1 +a1; alias +b2 -a2; alias -b2 +a1; alias +d2 -a1; +e1; -e" alias -f1 "alias +c1 -a1; alias -c1 +e; alias +b2 +c2; alias -b2 -c2; alias +d2 +a2; -e1; -e" alias +f2 "alias +b1 -a1; alias -b1 +a2; alias +c2 +e; alias -c2 +a2; alias +d1 -a2; +e2; -e" alias -f2 "alias +b1 +c1; alias -b1 -c1; alias +c2 -a2; alias -c2 +e; alias +d1 +a1; -e2; -e" // in engineer.cfg, heavyweapons.cfg, medic.cfg, pyro.cfg, scout.cfg, sniper.cfg, soldier.cfg, & spy.cfg exec core.cfg
The primary and secondary attacks retain functionality when pressed independently but rapidly cycle between them when pressed together. Other classes are unaffected. If the host has disabled the wait command, the script will restore default attack functionality to prevent the client from freezing.
Update: Removed rapid fire for the pistol.






