View difference between Paste ID: 526TFgex and w6zd52Hy
SHOW: | | - or go back to the newest paste.
1
// This script allows settings to switch with the active weapon.
2
// Only the first 3 slots will be tracked by the scroll wheel and q, specifically this excludes the disguise kit (Spy) and the PDAs (Engineer).
3
// Default, Medic, Engineer, and permanent non-active weapon versions are also available, contact the author below.
4
5
// The script will only work correctly when switching with keys in the BIND section.
6
// The script cannot know if a weapon switched for any other reason than player input using the keys in the BIND section.
7
// The script cannot know if a weapon switched successfully, and will always assume it has. Examples that prevent/impede switching:
8
//  - Permanent or temporary non-active weapon like gunboats or a melted spy-cicle
9
//  - Minigun spinup/spindown
10
11
12
// Written by /u/genemilder (http://steamcommunity.com/id/Seventy_one)
13
14
15
// ========== INSTRUCTIONS ==========
16
17
// Edit r_drawviewmodel in the SETTINGS section for whether viewmodels are turned on (1) or off (0)
18-
// r_drawviewmodel in the prs_ aliases is activated when pressing the attack key with the weapon equipped
18+
19-
// r_drawviewmodel in the rls_ aliases is activated when releasing the attack key with the weapon equipped
19+
20
// To add additional settings on weapon switch, append them to the eq_ aliases.
21
22
// To change which keys can switch weapons, change or add lines in the BINDS section, binding keys only to the aliases already in the binds section
23-
// To add additional settings on attack/release, append them to the prs_/rls_ aliases.
23+
24
25
// See the following for information on how to install scripts and how to make them class-specific:
26
// http://www.reddit.com/r/tf2scripthelp/wiki/introduction
27
28
// To "undo" the script and changes made, remove the script from your relevant cfg files and execute the lines in the SCRIPT OVERWRITE section (remove the comment marks first)
29
30
31
// ========== BINDS ==========
32
33
bind 1            eq_slot1
34
bind 2            eq_slot2
35
bind 3            eq_slot3
36
bind mwheelup     eq_invprev
37
bind mwheeldown   eq_invnext
38
bind q            eq_31
39
bind mouse2      +eq_attack2
40
41-
bind q            eq_lastinv
41+
//bind q            eq_lastinv
42-
bind mouse1      +eq_attack
42+
43
// ========== SETTINGS ==========
44
45
alias eq_slot1    "slot1; set_slot1; r_drawviewmodel 0"
46
alias eq_slot2    "slot2; set_slot2; r_drawviewmodel 1"
47
alias eq_slot3    "slot3; set_slot3; r_drawviewmodel 1"
48-
alias prs_slot1   "r_drawviewmodel 0"
48+
49-
alias rls_slot1   "r_drawviewmodel 0"
49+
50-
alias prs_slot2   "r_drawviewmodel 1"
50+
51-
alias rls_slot2   "r_drawviewmodel 1"
51+
52-
alias prs_slot3   "r_drawviewmodel 1"
52+
53-
alias rls_slot3   "r_drawviewmodel 1" 
53+
54
55-
alias eq_slot1    "slot1; set_slot1; alias at_press prs_slot1; alias at_release rls_slot1; r_drawviewmodel 1"
55+
alias qs_slot1    "alias eq_invnext eq_slot2; alias eq_invprev eq_slot3; alias eq_31 eq_slot3; set_lastinv; alias set_lastinv alias eq_lastinv eq_slot1; alias set_slot1 ;         alias set_slot2 qs_slot2; alias set_slot3 qs_slot3"
56-
alias eq_slot2    "slot2; set_slot2; alias at_press prs_slot2; alias at_release rls_slot2; r_drawviewmodel 1"
56+
alias qs_slot2    "alias eq_invnext eq_slot3; alias eq_invprev eq_slot1; alias eq_31 eq_slot1; set_lastinv; alias set_lastinv alias eq_lastinv eq_slot2; alias set_slot1 qs_slot1; alias set_slot2 ;         alias set_slot3 qs_slot3"
57-
alias eq_slot3    "slot3; set_slot3; alias at_press prs_slot3; alias at_release rls_slot3; r_drawviewmodel 1"
57+
alias qs_slot3    "alias eq_invnext eq_slot1; alias eq_invprev eq_slot2; alias eq_31 eq_slot1; set_lastinv; alias set_lastinv alias eq_lastinv eq_slot3; alias set_slot1 qs_slot1; alias set_slot2 qs_slot2; alias set_slot3 "
58
59
qs_slot2
60
eq_slot1
61
62-
alias +eq_attack  "+attack; at_press; spec_next"
62+
63-
alias -eq_attack  "-attack; at_release"
63+
64
65
//r_drawviewmodel 1
66
//bind 1            slot1
67
//bind 2            slot2
68-
alias qs_slot1    "alias eq_invnext eq_slot2; alias eq_invprev eq_slot3; set_lastinv; alias set_lastinv alias eq_lastinv eq_slot1; alias set_slot1 ;         alias set_slot2 qs_slot2; alias set_slot3 qs_slot3"
68+
69-
alias qs_slot2    "alias eq_invnext eq_slot3; alias eq_invprev eq_slot1; set_lastinv; alias set_lastinv alias eq_lastinv eq_slot2; alias set_slot1 qs_slot1; alias set_slot2 ;         alias set_slot3 qs_slot3"
69+
70-
alias qs_slot3    "alias eq_invnext eq_slot1; alias eq_invprev eq_slot2; set_lastinv; alias set_lastinv alias eq_lastinv eq_slot3; alias set_slot1 qs_slot1; alias set_slot2 qs_slot2; alias set_slot3 "
70+
71
//bind q            lastinv
72
//bind mouse2      +attack2