Half-Life Scripts
This page will store all the scripts used or useful for Half-Life speedruns. If you want to use any script, simply copy-paste it to your userconfig.cfg file using a text-editor like Notepad. While in-game use this command in console: exec userconfig.cfg and the scripts should load.
NOTE: Since Half-Life Beta Update (2013-05-16), the _special command has been removed.
Scripts using this command will no longer work on Steam client. Consider using New Gauge Half-Life Client!
For WON versions of the game, you'll need different kinds of scripts. Get them here.
Contents
Bunnyhopping script
alias bh1 "+jump;alias bh@ bh2;special" alias bh2 "wait;alias bh@ bh3;special" alias bh3 "-jump;alias bh@ bh4;special" alias bh4 "wait;alias bh@ bh1;special" alias +bhop "alias _special bh@;bh1" alias -bhop "alias _special;-jump" bind SPACE +bhop
A script that allows you to Bunnyhop quickly and without speedloss by making +jump commands every other frame.
It is important to know that this script will only provide seamless bunnyhopping at certain fps_max values, because at some framerates, the time the player spends in the air can cause the player to land on the ground while the script executes a -jump. See the FPS Effects page for more information on this topic.
Duckroll script
alias +duckroll "alias _special duckroll;duckroll" alias -duckroll "alias _special" alias duckroll "+duck;wait;-duck;wait;special"
A script that makes continuous double-ducks (small pseudo-jumps that elevate you mid-air by ~32 units) extremely fast. It is mainly used to control your speed when moving at a very high velocity, and to maintain speed when moving towards a staircase. It also can be used to maintain speed when playing in a version of Half-Life that has limited Bunnyhopping speed due to doubleducks not being detected at all by the Bunnyhop speed-limiter. See Duckroll.
Use bind <key> +duckroll
Double-Duck script
alias +dd "-duck;wait;+duck;wait;-duck;wait;+duck" alias -dd -duck
A simple script that makes a double-duck, works best when executing the "Count-Jump" technique or climbing up boxes quickly.
Use bind <key> +dd
Jumpbug script
alias _jumpbug alias _jumpbugfunc "-duck;+jump;w5;-jump" alias +jumpbug "+duck; alias _jumpbug _jumpbugfunc" alias -jumpbug "_jumpbug; alias _jumpbug"
This will help you when trying to perform a Jumpbug. Simply hold the key to crouch and let go of it to instantly uncrouch and jump.
Remember, this does not make performing the jumpbug any easier. This is merely a bind that will help you.
Use bind <key> +jumpbug
Usespam script
alias +usespam "alias _special usespam;usespam" alias -usespam "alias _special" alias usespam "+use;wait;-use;wait;special"
WON-compatible alternative
alias +usespam "alias name usespam;usespam" alias -usespam "alias name" alias usespam "+use;wait;-use;wait;cmd name"
A script that spams the +use command very quickly, it's commonly used to press buttons as soon as possible, but with certain technique it can be used to make pseudo-object boosts that bring the object you're manipulating with you.
Use bind <key> +usespam
Quick-Use script
alias quse "-use;wait;+use;wait;-use"
A simple script that executes an one-frame +use that doesn't slow down your speed, perfect for pressing buttons as you Bunnyhop right beside them.
Use bind <key> quse
Gauss Boost script
alias _taubo alias _taubofunc "cl_pitchup 180;cl_pitchdown -180;-attack2;wait;cl_pitchup -12;cl_pitchdown 12;wait;cl_pitchup 89.999;cl_pitchdown 89.999" alias +tau "+attack2; alias _taubo _taubofunc" alias -tau "_taubo; alias _taubo"
Multiplayer-friendly alternative
alias +tau "weapon_gauss;wait;+attack2" alias -tau "cl_pitchup 270;cl_pitchspeed 21500;fps_max 60;wait;+lookup;wait;-lookup;-attack2;wait;+lookdown;wait;-lookdown;cl_pitchup 89.999;fps_max 111.111111111"
Gauss-jumping script for Multiplayer. The main difference is that it boosts you towards the direction your aiming to, to take advantage of the fact that you are capable of Gauss-boosting vertically.
Use bind <key> +tau
Object Boosting script
alias obbo2000 "+use;w11;-use;+jump;w;-jump" alias obbo1500 "+use;w10;-use;+jump;w;-jump" alias obbo1300 "+use;w9;-use;+jump;w;-jump" alias obbo1000 "+use;w8;-use;+jump;w;-jump" alias obbo800 "+use;w7;-use;+jump;w;-jump" alias obbo600 "+use;w6;-use;+jump;w;-jump" alias obbo500 "+use;w5;-use;+jump;w;-jump"
Object Boosting scripts, the number represents the speed (in units per second) you will have if you execute them in 100FPS. Note that you might have different results at different FPS values because of the increased Object-boosting acceleration.
Use bind <key> obbo
Wait Table
If you're using Bunnymod XT, the wait table is not necessary and can be replaced by the equivalent command w <number> (note the space between them). This has the advantage of being able to use an arbitrary number of waits in one command like w 3528, rather than w1000;w1000;w1000;w500;w28 had a wait table been used.
If you're not using Bunnymod XT, the following wait table can be a poor man's replacement of w. This alias table generates a total of 110 wait aliases, excellent for easy creation of complex scripts.
//wait table alias "w" "wait" alias "w1" "wait" alias "w2" "w;w" alias "w3" "w2;w" alias "w4" "w2;w2" alias "w5" "w4;w" alias "w6" "w3;w3" alias "w7" "w6;w" alias "w8" "w4;w4" alias "w9" "w7;w2" alias "w10" "w5;w5" alias "w11" "w9;w2" alias "w12" "w6;w6" alias "w13" "w9;w4" alias "w14" "w9;w5" alias "w15" "w9;w6" alias "w16" "w9;w7" alias "w17" "w9;w8" alias "w18" "w9;w9" alias "w19" "w9;w10" alias "w20" "w9;w11" alias "w21" "w9;w12" alias "w22" "w9;w13" alias "w23" "w9;w14" alias "w24" "w9;w15" alias "w25" "w9;w16" alias "w26" "w9;w17" alias "w27" "w9;w18" alias "w28" "w9;w19" alias "w29" "w9;w20" alias "w30" "w9;w21" alias "w31" "w9;w22" alias "w32" "w9;w23" alias "w33" "w9;w24" alias "w34" "w9;w25" alias "w35" "w9;w26" alias "w36" "w9;w27" alias "w37" "w9;w28" alias "w38" "w9;w29" alias "w39" "w9;w30" alias "w40" "w9;w31" alias "w41" "w9;w32" alias "w42" "w9;w33" alias "w43" "w9;w34" alias "w44" "w9;w35" alias "w45" "w9;w36" alias "w46" "w9;w37" alias "w47" "w9;w38" alias "w48" "w9;w39" alias "w49" "w9;w40" alias "w50" "w9;w41" alias "w51" "w50;w1" alias "w52" "w50;w2" alias "w53" "w50;w3" alias "w54" "w50;w4" alias "w55" "w50;w5" alias "w56" "w50;w6" alias "w57" "w50;w7" alias "w58" "w50;w8" alias "w59" "w50;w9" alias "w60" "w50;w10" alias "w61" "w50;w11" alias "w62" "w50;w12" alias "w63" "w50;w13" alias "w64" "w50;w14" alias "w65" "w50;w15" alias "w66" "w50;w16" alias "w67" "w50;w17" alias "w68" "w50;w18" alias "w69" "w50;w19" alias "w70" "w50;w20" alias "w71" "w50;w21" alias "w72" "w50;w22" alias "w73" "w50;w23" alias "w74" "w50;w24" alias "w75" "w50;w25" alias "w76" "w50;w26" alias "w77" "w50;w27" alias "w78" "w50;w28" alias "w79" "w50;w29" alias "w80" "w50;w30" alias "w81" "w50;w31" alias "w82" "w50;w32" alias "w83" "w50;w33" alias "w84" "w50;w34" alias "w85" "w50;w35" alias "w86" "w50;w36" alias "w87" "w50;w37" alias "w88" "w50;w38" alias "w89" "w50;w39" alias "w90" "w50;w40" alias "w91" "w50;w41" alias "w92" "w50;w42" alias "w93" "w50;w43" alias "w94" "w50;w44" alias "w95" "w50;w45" alias "w96" "w50;w46" alias "w97" "w50;w47" alias "w98" "w50;w48" alias "w99" "w50;w49" alias "w100" "w50;w50" alias "w200" "w100;w100" alias "w300" "w200;w100" alias "w400" "w200;w200" alias "w500" "w400;w100" alias "w600" "w300;w300" alias "w700" "w600;w100" alias "w800" "w400;w400" alias "w900" "w700;w200" alias "w1000" "w500;w500"