Scripts
illusion
Join Date: 2004-08-25 Member: 30889Members
<div class="IPBDescription">what would be cool</div> what scripts would be really cool? i need some ideas to make some scripts for fun. i made an auto-pistol script and an auto-meta script. they rock.
i need some ideas for some frequently used button combos and whatnot.
no flames please.
i need some ideas for some frequently used button combos and whatnot.
no flames please.
Comments
Make a script that calls up slot3, uses it, then goes back to your old weapon.
In other words it's a second "lastinv" type script. I have one sorta, it calls up slot3 then goes back to whatever I was using before.
For example, I have will slot1 selected, slot2 on backup with lastinv. I would then hit slot3, which then gets used, then when I release the button it goes back to my last ability. This works for all attacks and for every class in the game, even for marines.
So I would have blink with swipe on backup. I'd run past a marine, hit q to select swipe, then I hit q to start up a blink, then I'd hit c to call up a quick metabolize, then I'd release and be back on blink again, ready to hit q at a moments notice to swipe a marine.
Useful but cumbersome as you have to juggle a bunch of attacks at once. It's really fast if you can get accustomed to it but it's not for everyone.
Make that script if you can.
<!--c1--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>CODE</b> </td></tr><tr><td id='CODE'><!--ec1-->Bind "3" "specattack"
Alias "specattack" "slot3; wait; +attack; wait; -attack; lastinv"<!--c2--></td></tr></table><div class='postcolor'><!--ec2-->
Just wondering...
Running into three other guys in a game who also have one is better. <!--emo&:)--><img src='http://www.unknownworlds.com/forums/html//emoticons/smile-fix.gif' border='0' style='vertical-align:middle' alt='smile-fix.gif' /><!--endemo-->
<!--c1--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>CODE</b> </td></tr><tr><td id='CODE'><!--ec1-->Bind "3" "specattack"
Alias "specattack" "slot3; wait; +attack; wait; -attack; lastinv"<!--c2--></td></tr></table><div class='postcolor'><!--ec2-->
Just wondering... <!--QuoteEnd--> </td></tr></table><div class='postcolor'> <!--QuoteEEnd-->
Nope, that screws up your old lastinv combo.
<!--c1--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>CODE</b> </td></tr><tr><td id='CODE'><!--ec1-->alias w "wait"
alias +s3 "slot3;wait;+attack;"
alias -s3 "-attack;w;w;slot1;w;w;slot2;w;w;lastinv;"<!--c2--></td></tr></table><div class='postcolor'><!--ec2-->
OK, here's a working one which to get fully working I had to integrate with romano's lastinv script.
<!--c1--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>CODE</b> </td></tr><tr><td id='CODE'><!--ec1-->
alias w "wait"
alias +s32 "slot3;wait;+attack;"
alias -s32 "-attack;w;w;slot2;w;w;slot1;w;w;lastinv;"
alias +s31 "slot3;wait;+attack;"
alias -s31 "-attack;w;w;slot1;w;w;slot2;w;w;lastinv;
alias +s34 "slot3;wait;+attack;"
alias -s34 "-attack;w;w;slot4;w;w;slot2;w;w;lastinv;
// client side lastinv -- romano
// replace 1,2,3,4 with your binds for slot1,2,3,4 respectively
// repace q with your bind for lastinv
// replace x with your bind for auto-slot3
bind 1 "kk1a"
bind 2 "kk2a"
bind 3 "kk3a"
bind 4 "kk4a"
alias kk1a "kkslot1"
alias kk1b "bind x +s31; kkslot1; bind q kk2a"
alias kk1c "bind x +s31; kkslot1; bind q kk3a"
alias kk1d "bind x +s31; kkslot1; bind q kk4a"
alias kkslot1 "slot1; bind 1 kk1a; bind 2 kk2a; bind 3 kk3a; bind 4 kk4a; bind x +s31;"
alias kk2a "bind x +s32; kkslot2; bind q kk1b"
alias kk2b "kkslot2"
alias kk2c "bind x +s32; kkslot2; bind q kk3b"
alias kk2d "bind x +s32; kkslot2; bind q kk4b"
alias kkslot2 "slot2; bind 1 kk1b; bind 2 kk2b; bind 3 kk3b; bind 4 kk4b; bind x +s32;"
alias kk3a "kkslot3; bind q kk1c"
alias kk3b "kkslot3; bind q kk2c"
alias kk3c "kkslot3"
alias kk3d "kkslot3; bind q kk4c"
alias kkslot3 "slot3; bind 1 kk1c; bind 2 kk2c; bind 3 kk3c; bind 4 kk4c"
alias kk4a "bind x +s34; kkslot4; bind q kk1d"
alias kk4b "bind x +s34; kkslot4; bind q kk2d"
alias kk4c "bind x +s34; kkslot4; bind q kk3d"
alias kk4d "kkslot4"
alias kkslot4 "slot4; bind 1 kk1d; bind 2 kk2d; bind 3 kk3d; bind 4 kk4d; bind x +s34;"<!--c2--></td></tr></table><div class='postcolor'><!--ec2-->
The person who originally found this script however was cloud king.
<!--QuoteBegin--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->i.. what? er... wow i have nothing to say to that but sit<!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd-->
<span style='font-size:8pt;line-height:100%'>except instead of confusion i'll sit in grim and complete understanding. I figured it was out there, I saw too many fades doing this.
9_9
you kids. okay into the examples.cfg with it. if i had half the time to ufck around with this game as you guys i'd get so much sitting around done. grats.
Nevermind i take it back you guys are worthless this script only switches back to swipe. now i remember why i hate romanos script, it doesn't ever work right. hf the fix.</span>
Flash strope melodi scripts <!--emo&:)--><img src='http://www.unknownworlds.com/forums/html//emoticons/smile-fix.gif' border='0' style='vertical-align:middle' alt='smile-fix.gif' /><!--endemo-->
This script with the double lastinv is sort of close, but it's glitchy and has script lockup from time to time.
This couldn't be too hard. You just close everything off with ;slot 1" I guess?
I seriously would love to write a cfg for every alien lifeform, commander mode, and marines, and script it out until I can do things no human could possibly do with the steam options keyboard assignment. Scripts are awesome because you can in effect program entirely new buttons. A duckjump button. A duck toggle option. Chat messages with the medpack impulse. But I'm in college and I'm too busy with my own junk to be doing any stupid projects like tricking out some HL mod.
Make a script that calls up slot3, uses it, then goes back to your old weapon.
<!--QuoteEnd--> </td></tr></table><div class='postcolor'> <!--QuoteEEnd-->
uh? why don't you just use the "last used weapon" key? oO
This script with the double lastinv is sort of close, but it's glitchy and has script lockup from time to time.
This couldn't be too hard. You just close everything off with ;slot 1" I guess?
I seriously would love to write a cfg for every alien lifeform, commander mode, and marines, and script it out until I can do things no human could possibly do with the steam options keyboard assignment. Scripts are awesome because you can in effect program entirely new buttons. A duckjump button. A duck toggle option. Chat messages with the medpack impulse. But I'm in college and I'm too busy with my own junk to be doing any stupid projects like tricking out some HL mod. <!--QuoteEnd--> </td></tr></table><div class='postcolor'> <!--QuoteEEnd-->
thats actually not that hard, not that i know how to do it. its the same concept as a pistol script except in the "+attack" alias, you just need to do "slot2"
i think this would make it easier to fade than to do the double lastinv
This script with the double lastinv is sort of close, but it's glitchy and has script lockup from time to time.
This couldn't be too hard. You just close everything off with ;slot 1" I guess?
I seriously would love to write a cfg for every alien lifeform, commander mode, and marines, and script it out until I can do things no human could possibly do with the steam options keyboard assignment. Scripts are awesome because you can in effect program entirely new buttons. A duckjump button. A duck toggle option. Chat messages with the medpack impulse. But I'm in college and I'm too busy with my own junk to be doing any stupid projects like tricking out some HL mod. <!--QuoteEnd--> </td></tr></table><div class='postcolor'> <!--QuoteEEnd-->
That'd make playing aliens way too easy.
<!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd-->
I'm using this for slot 3:
alias "+fastslot3" "slot3;wait;+attack;wait;-attack;wait;+attack;wait;"
alias "-fastslot3" "-attack;slot1;wait;+attack;wait;-attack"
bind "MOUSE3" "+fastslot3"
Regardless of what weapon is currently selected, it switches to slot3, attack in loop as long as you keep it pressed, then switches back to slot1 when you release the key. (the extra +-attacks are for some lame friends with hud_fastswitch 0... it doesnt change anything if you use hud_fastswitch 1)
This works very well with the skulk (for leap/bite), the lerk (for umbra/bite), and for the marines (for knife/lmg). For bile bomb, meta, and stomp, it still works but sometimes it eats the adrenaline without firing the weapon at the first try, so its still a good idea to have a handy classic "slot3" bind somewhere.
It's easy to change it for others weapons/slots. <!--emo&;)--><img src='http://www.unknownworlds.com/forums/html//emoticons/wink-fix.gif' border='0' style='vertical-align:middle' alt='wink-fix.gif' /><!--endemo-->
Note that even with hud_fastswitch 1, you still have to bite manually when you release the key. I guess the first +attack after slot1 in -fastslot3 comes too quick to be sent to the server, its just there to get rid of the weapon sprites for people with hud_fastswitch 0.
So don't call it a leap-bite script! <!--emo&:p--><img src='http://www.unknownworlds.com/forums/html//emoticons/tounge.gif' border='0' style='vertical-align:middle' alt='tounge.gif' /><!--endemo--> It's just a "switch to slot3, attack in loop, switch back to slot1" script.
Make a script that calls up slot3, uses it, then goes back to your old weapon.
<!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd-->
uh? why don't you just use the "last used weapon" key? oO <!--QuoteEnd--> </td></tr></table><div class='postcolor'> <!--QuoteEEnd-->
Because when you use this key, it activates slot 3, but when you let go, it goes back to your previous slot (usually 1 or 2) and still leaves the other slot (once again 1 or 2) on backup, not slot 3.
I find it just as easy to hudfastswitch my way into mid fight motabs, but this script has merit, and makes the job a whole lot simpler.
Hey freak, go give a contruction worker a set of tools to construct a building, then call him a lamer because he actually uses them while a great majority slam their faces into the bricks to keep them in place, because they're too lazy to figure out how a crane works.
alias -s1 "-attack;"
alias +s2 "slot2;wait;+attack;
alias -s2 "-attack;wait;wait;slot1"
alias +s3 "slot3;wait;+attack;
alias -s3 "-attack;wait;wait;slot1"
alias +s4 "slot4;wait;+attack;
alias -s4 "-attack;wait;wait;slot1"<!--c2--></td></tr></table><div class='postcolor'><!--ec2-->?
When you press mouse2, it swaps to slot3, when yo ulet go, it goes to your last weapon.
alias +slot3 "slot3"
alias -slot3 "lastinv"
bind mouse2 +slot3
crazy shizzle eh?
gimme a sec ill pick some decent ones out of my 40kb configs folder <!--emo&:)--><img src='http://www.unknownworlds.com/forums/html//emoticons/smile-fix.gif' border='0' style='vertical-align:middle' alt='smile-fix.gif' /><!--endemo-->
i used to have some serious BS scripts in my b4a install that I totally never, ever used like I had an FOV zoom script - I dont think I ever used it but i wrote it because I was bored and it was a challenge (kinda).
ok here we go <!--emo&:)--><img src='http://www.unknownworlds.com/forums/html//emoticons/smile-fix.gif' border='0' style='vertical-align:middle' alt='smile-fix.gif' /><!--endemo-->
<!--c1--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>CODE</b> </td></tr><tr><td id='CODE'><!--ec1-->
alias medpack "say_team [ MEDPACK ]"
alias ammo "say_team [ AMMO ]"
alias ammo2 "impulse 11; say_team [ AMMO ]"
alias medpack2 "impulse 10; say_team [ MEDPACK ]"
<!--c2--></td></tr></table><div class='postcolor'><!--ec2-->
Those are my marine med and ammo calls - notice the ones taht only send text incase you dont want to be too loud
<!--c1--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>CODE</b> </td></tr><tr><td id='CODE'><!--ec1-->
//Pistol Script - attack at 3 times the speed
alias +pscript "+attack; wait; -attack; wait; +attack"
alias -pscript "-attack; wait; +attack; wait; -attack"
<!--c2--></td></tr></table><div class='postcolor'><!--ec2-->
That's my current pistol script, I didn't like the normal 2shot one so I made this little beaut which I prefer.
<!--c1--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>CODE</b> </td></tr><tr><td id='CODE'><!--ec1-->
alias set_pscript "pslot1; pslot2"
alias set_pspam "pslot3; pslot4"
alias set_pstrobe "pslot5; pslot6"
alias set_pownage "pslot7; pslot8"
<!--c2--></td></tr></table><div class='postcolor'><!--ec2-->
Those are the console commands I use to swap between my 4 different pistol scripts(normal fire/3shot/_special/_special strobe).
<!--c1--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>CODE</b> </td></tr><tr><td id='CODE'><!--ec1-->
alias pslot1 "bind KP_LEFTARROW pslot1a"
alias pslot2 "bind KP_END pslot2a"
alias pslot3 "bind kp_leftarrow pslot1b"
alias pslot4 "bind kp_end pslot2b"
alias pslot5 "bind kp_leftarrow pslot1c"
alias pslot6 "bind kp_end pslot2c"
alias pslot7 "bind kp_leftarrow pslot1d"
alias pslot8 "bind kp_end pslot2d"
alias pslot1a "-attack; bind mouse1 +attack; slot1"
alias pslot2a "bind mouse1 +pscript; slot2"
alias pslot1b "-attack; bind mouse1 +attack; slot1"
alias pslot2b "bind mouse1 pspam; slot2"
alias pslot1c "-attack; bind mouse1 +attack; slot1"
alias pslot2c "bind mouse1 +pstrobe; slot2"
alias pslot1d "-attack; -attack2; bind mouse1 +attack; slot1"
alias pslot2d "bind mouse1 +pownage; slot2"
<!--c2--></td></tr></table><div class='postcolor'><!--ec2-->
Those are the aliases that actually bind the scripts to my weapon keys, and activate the scripts when i press my slot2 key (note I use kp_leftarrow for slot1, kp_end for slot2).
<!--c1--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>CODE</b> </td></tr><tr><td id='CODE'><!--ec1-->
//walk faster
alias move "+moveleft; wait; -moveleft; +moveright; wait; -moveright"
alias speedup "move; move; move; move; move"
alias slider "speedup; speedup; speedup; speedup"
bind end "slider"
<!--c2--></td></tr></table><div class='postcolor'><!--ec2-->
That's my marine wigglewalk script. Looks remarkably like a speedhack except it locks your keyboard up until it finishes executing. Which is bad.
<!--QuoteBegin--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->alias +slot3 "slot3"
alias -slot3 "lastinv"
bind mouse2 +slot3<!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd-->
The problem with this is that it puts metabolize on the last used weapon button, when you want to be switching back and forth from blink and swipe. So you have to press 1 or 2 to get blink or swipe back in the rotation.
Moomin posted something that looks more correct.
Is wait really a necesary command? I'm still working that out. Do scripts go TOO fast and that's why you need the waits?
<!--QuoteBegin--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->That'd make playing aliens way too easy. <!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd-->
And making the game easier to play is a bad thing for new players how? If using four different buttons for each attack would make playing aliens easier, period, then why stick with the nearly decade-old halflife system of selecting and using each "weapon" and "firing" it with mouse1. This isn't halflife or DoD or CS, and if a radically different control configuration makes the game play smoother, good. This is 2oo4. Twenty Oh Four, okay? We play games like THIS in the future.
You know most of these suggestions I'm making purely so the occasionally lurking dev might see it and think to himself "hey, maybe WE, AS THE GAME'S PROGRAMMERS, should notice that players are programming their own special function keys and using different configs for the three different game modes and submodes, and oh I don't know, include these special functions RIGHT IN THE STEAM OPTIONS MENU to balance the playing field for everyone."
I've found that without waits, weapon switching in scripts clogs up nearly every time and two waits are such a small amount of time that they aren't worth bothering to remove.
alias w "wait"
alias +s1 "decentattack;wait;+attack"
alias -s1 "-attack;w;slot1"
alias +s2 "decentattack;wait;+attack"
alias -s2 "-attack;w;slot2"
alias +s3 "decentattack;wait;+attack"
alias -s3 "-attack;w;slot3"
alias +s4 "decentattack;wait;+attack"
alias -s4 "-attack;w;slot4"
// client side lastinv -- romano
// replace 1,2,3,4 with your binds for slot1,2,3,4 respectively
// repace q with your bind for lastinv
// replace x with your bind for auto-slot3
bind PGDN "kk1a"
bind KP_DOWNARROW "kk2a"
bind KP_LEFTARROW "kk3a"
bind KP_5 "kk4a"
alias kk1a "kkslot1"
alias kk1b "kkslot1; bind mouse5 kk2a"
alias kk1c "kkslot1; bind mouse5 kk3a"
alias kk1d "kkslot1; bind mouse5 kk4a"
alias kkslot1 "slot1; bind PGDN kk1a; bind KP_DOWNARROW kk2a; bind KP_LEFTARROW kk3a; bind KP_5 kk4a; bind mouse2 +s1;"
alias kk2a "kkslot2; bind mouse5 kk1b"
alias kk2b "kkslot2"
alias kk2c "kkslot2; bind mouse5 kk3b"
alias kk2d "kkslot2; bind mouse5 kk4b"
alias kkslot2 "slot2; bind PGDN kk1b; bind KP_DOWNARROW kk2b; bind KP_LEFTARROW kk3b; bind KP_5 kk4b; bind mouse2 +s2;"
alias kk3a "kkslot3; bind mouse5 kk1c"
alias kk3b "kkslot3; bind mouse5 kk2c"
alias kk3c "kkslot3"
alias kk3d "kkslot3; bind mouse5 kk4c"
alias kkslot3 "slot3; bind PGDN kk1c; bind KP_DOWNARROW kk2c; bind KP_LEFTARROW kk3c; bind KP_5 kk4c; bind mouse2 +s3"
alias kk4a "kkslot4; bind mouse5 kk1d"
alias kk4b "kkslot4; bind mouse5 kk2d"
alias kk4c "kkslot4; bind mouse5 kk3d"
alias kk4d "kkslot4"
alias kkslot4 "slot4; bind PGDN kk1d; bind KP_DOWNARROW kk2d; bind KP_LEFTARROW kk3d; bind KP_5 kk4d; bind mouse2 +s4;"<!--c2--></td></tr></table><div class='postcolor'><!--ec2-->
I think this is neater and will probably be a bit faster aswell as it avoids the use of the normal lastinv command. I also added in the bit for changing to any weapon dependant on which lifeform you are as I would prefer to be able to put blink on my mouse2 rather than metabolise and healspray rather than bilebomb.
EDIT:
The decentattack part work too damn slow so I've replaced that bit with this:<!--c1--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>CODE</b> </td></tr><tr><td id='CODE'><!--ec1-->alias prefferedattack "slot3"
alias switch2 "alias prefferedattack slot2; bind PGUP switch3"
alias switch3 "alias prefferedattack slot3; bind PGUP switch2"
bind PGUP "switch2"
alias +s1 "prefferedattack;w;+attack"
alias -s1 "-attack;w;slot1"
alias +s2 "prefferedattack;w;+attack"
alias -s2 "-attack;w;slot2"
alias +s3 "prefferedattack;w;+attack"
alias -s3 "-attack;w;slot3"
alias +s4 "prefferedattack;w;+attack"
alias -s4 "-attack;w;slot4"<!--c2--></td></tr></table><div class='postcolor'><!--ec2-->
EDIT2:
Scrap that I've made it so you can set it to anything you like. Shazam!<!--c1--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>CODE</b> </td></tr><tr><td id='CODE'><!--ec1-->alias prefattack "slot2"
alias set1 "alias prefattack slot1"
alias set2 "alias prefattack slot2"
alias set3 "alias prefattack slot3"
alias set4 "alias prefattack slot4"
alias +setpref "bind PGDN set1; bind KP_DOWNARROW set2; bind KP_LEFTARROW set3; bind KP_5 set4"
alias -setpref "bind PGDN kk1a; bind KP_DOWNARROw kk2a; bind KP_LEFTARROW kk3a; bind KP_5 kk4a"
bind PGUP "+setpref"
alias +s1 "prefattack;w;+attack"
alias -s1 "-attack;w;slot1"
alias +s2 "prefattack;w;+attack"
alias -s2 "-attack;w;slot2"
alias +s3 "prefattack;w;+attack"
alias -s3 "-attack;w;slot3"
alias +s4 "prefattack;w;+attack"
alias -s4 "-attack;w;slot4"<!--c2--></td></tr></table><div class='postcolor'><!--ec2-->
OH EM GEE HAX.
Now you can set it to bring up your welder when you're HA, blink when your fade, leap when you're skulk or whatever the hell you want. All with the pressing of a couple of keys.
Just hold PGUP and then the slot you want to be able to quick switch to and then release PGUP. I've got it set to slot2 by default for quick parasiting but you could easily change that.
alias prefattack "slot2"
alias set1 "alias prefattack slot1"
alias set2 "alias prefattack slot2"
alias set3 "alias prefattack slot3"
alias set4 "alias prefattack slot4"
alias +setpref "bind PGDN set1; bind KP_DOWNARROW set2; bind KP_LEFTARROW set3; bind KP_5 set4"
alias -setpref "bind PGDN kk1a; bind KP_DOWNARROw kk2a; bind KP_LEFTARROW kk3a; bind KP_5 kk4a"
bind PGUP "+setpref"
alias +s1 "prefattack;w;+attack"
alias -s1 "-attack;w;slot1"
alias +s2 "prefattack;w;+attack"
alias -s2 "-attack;w;slot2"
alias +s3 "prefattack;w;+attack"
alias -s3 "-attack;w;slot3"
alias +s4 "prefattack;w;+attack"
alias -s4 "-attack;w;slot4"
// client side lastinv -- romano
// replace 1,2,3,4 with your binds for slot1,2,3,4 respectively
// repace q with your bind for lastinv
// replace x with your bind for auto-slot3
bind PGDN "kk1a"
bind KP_DOWNARROW "kk2a"
bind KP_LEFTARROW "kk3a"
bind KP_5 "kk4a"
alias kk1a "kkslot1"
alias kk1b "kkslot1; bind mouse5 kk2a"
alias kk1c "kkslot1; bind mouse5 kk3a"
alias kk1d "kkslot1; bind mouse5 kk4a"
alias kkslot1 "slot1; bind PGDN kk1a; bind KP_DOWNARROW kk2a; bind KP_LEFTARROW kk3a; bind KP_5 kk4a; bind mouse2 +s1;"
alias kk2a "kkslot2; bind mouse5 kk1b"
alias kk2b "kkslot2"
alias kk2c "kkslot2; bind mouse5 kk3b"
alias kk2d "kkslot2; bind mouse5 kk4b"
alias kkslot2 "slot2; bind PGDN kk1b; bind KP_DOWNARROW kk2b; bind KP_LEFTARROW kk3b; bind KP_5 kk4b; bind mouse2 +s2;"
alias kk3a "kkslot3; bind mouse5 kk1c"
alias kk3b "kkslot3; bind mouse5 kk2c"
alias kk3c "kkslot3"
alias kk3d "kkslot3; bind mouse5 kk4c"
alias kkslot3 "slot3; bind PGDN kk1c; bind KP_DOWNARROW kk2c; bind KP_LEFTARROW kk3c; bind KP_5 kk4c; bind mouse2 +s3"
alias kk4a "kkslot4; bind mouse5 kk1d"
alias kk4b "kkslot4; bind mouse5 kk2d"
alias kk4c "kkslot4; bind mouse5 kk3d"
alias kk4d "kkslot4"
alias kkslot4 "slot4; bind PGDN kk1d; bind KP_DOWNARROW kk2d; bind KP_LEFTARROW kk3d; bind KP_5 kk4d; bind mouse2 +s4;"<!--c2--></td></tr></table><div class='postcolor'><!--ec2-->
To set which slot you quick switch to press and hold PGUP (or whatever you set that to) and then press the slot you want to quick switch to. Release PGUP and away you go. It's set to quick switch to slot2 by default.
Edit : Or you could split it up into + and - to trim it down a bit more.