View difference between Paste ID: 7beau8BP and egSuE68E
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
// Medic, Spy, 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 eq_ aliases is activated when switching to that weapon
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
// Multiple keys can be bound to the same alias and the script will still work correctly
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_lastinv
39
bind mouse2      +eq_attack2
40
41
42
// ========== SETTINGS ==========
43
44
alias eq_slot1    "slot1; set_slot1; r_drawviewmodel 0"
45
alias eq_slot2    "slot2; set_slot2; r_drawviewmodel 1"
46
alias eq_slot3    "slot3; set_slot3; r_drawviewmodel 1"
47
48
49
// ========== LOGIC ==========
50
51
alias +eq_attack2 "+attack; r_drawviewmodel 0; spec_prev"
52
alias -eq_attack2 "-attack"
53
54
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"
55
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"
56
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 "
57
58
qs_slot2
59
eq_slot1
60
61
62
// ========== SCRIPT OVERWRITE ==========
63
64
//r_drawviewmodel 1
65
//bind 1            slot1
66-
//bind q            lastinv
66+
67
//bind 3            slot3
68
//bind mwheelup     invprev
69
//bind mwheeldown   invnext
70
//bind q            lastinv
71
//bind mouse2       +attack2