For greater compatibility, Bunnymod XT's 'bxt_append' and 'w' functions are used. Scripts with "BXT" mean that they require this program to function.
Special thanks to nin_talal, vitosnatios1 and YaLTeR.
- Inject Bunnymod XT link
- Create
userconfig.cfg
inside the mod dir of choice (found inside "Half-Life"):
- Half-Life Steam (or in case you want to use it across mods) -
valve
- Half-Life WON -
valve_WON
- Opposing Force WON -
gearbox_WON
- Counter-Strike 1.6 -
cstrike
- Copy and paste the script code into
userconfig.cfg
(including a bind of your choice, check availability here) using notepad and save. - In-game open the console and type
exec userconfig.cfg
- Please carefully read instructions and the wiki page if this if your first time scripting!
💡 My very own configs for learning/copying. I press F3-F10 during certain spots in the run to change what my 'G'/'mouse4'/'mouse5' do. scripts.cfg - my run on youtube
Please visit the Wiki page for helpful information on scripting, performance tips and common issues!
Use BunnymodXT's "bxt_autojump 1" instead. 💡
Click here to view script
alias +bhop "alias _zspecial @bhop;@bh1"
alias -bhop "alias _zspecial;-jump"
alias @bh1 "+jump;alias @bhop @bh2;bxt_append _zspecial"
alias @bh2 "w;alias @bhop @bh3;bxt_append _zspecial"
alias @bh3 "-jump;alias @bhop @bh4;bxt_append _zspecial"
alias @bh4 "w;alias @bhop @bh1;bxt_append _zspecial"
Example: bind space +bhop
Also known as "Duck Spam", might be useful for boosting in triggers such as in the toxic waste in HL1.
Use BunnymodXT's "+bxt_tas_ducktap" instead. 💡
Click here to view script
alias +duckroll "alias _zspecial @duck;@dr1"
alias -duckroll "alias _zspecial;-duck"
alias @dr1 "+duck;alias @duck @dr2;bxt_append _zspecial"
alias @dr2 "w;alias @duck @dr3;bxt_append _zspecial"
alias @dr3 "-duck;alias @duck @dr4;bxt_append _zspecial"
alias @dr4 "w;alias @duck @dr1;bxt_append _zspecial"
Example: bind mouse3 +duckroll
alias +usespam "alias _zspecial @use;@use1"
alias -usespam "alias _zspecial;-use"
alias @use1 "+use;alias @use @use2;bxt_append _zspecial"
alias @use2 "w;alias @use @use3;bxt_append _zspecial"
alias @use3 "-use;alias @use @use4;bxt_append _zspecial"
alias @use4 "w;alias @use @use1;bxt_append _zspecial"
Example: bind k +usespam
alias "obbo" "+use;w 12;-use;+jump;wait;-jump"
Example: bind e obbo
alias "obbo800" "+use;w 7;-use;+jump;wait;-jump"
Example: bind e obbo800
alias obboshoot "+use;w 10;-use;+attack2;+jump;w;-attack2;-jump"
Example: bind mouse5 obboshoot
How to use: While facing the box, walk forward and press mouse5. Changing the number after 'w' will affect the boost, values around 6 to 16 are good.
alias rp_obbo "+use;w 15;-use"
Example: bind mouse5 rp_obbo
Video guide: link
How to use: while crouched, move right while facing the floating object until you reach max speed (106) then press mouse5. Hold jump after hitting your head inside the pipe.
alias _taubo
alias _taubofunc "cl_pitchup 180;cl_pitchdown -180;-attack2;wait;cl_pitchup 89;cl_pitchdown 89;force_centerview"
alias +tau "+attack2;alias _taubo _taubofunc"
alias -tau "_taubo;alias _taubo"
Example: bind mouse5 +tau
Important note: quickgauss is a trick ONLY possible on the Steam version of the game, NOT WON. 💡
How to use:
- Copy
quickgauss.cfg
to yourvalve
dir. - Type in console:
exec quickgauss.cfg
. - Make a bind for +gauss, example:
bind mouse4 +gauss
. - Press the bind and be prepared for the discharge after ~400ms.
When you use the bind, a single gauss cell is charged, a save and load happens and the script will time the 180° based on average results, which is a 6 frame gap.
alias bp_nade "cl_pitchdown 85;cl_pitchup -85;+duck;+jump;wait;-attack;w 15;-jump;-duck;cl_pitchup 89;cl_pitchdown 89;force_centerview"
alias in_nade "cl_pitchdown -35;cl_pitchup 35;+duck;+jump;w;-attack;w 15;-jump;-duck;cl_pitchup 89;cl_pitchdown 89;force_centerview"
How to use: Walk forward and activate.
Example: bind mouse5 in_nade
alias smgboost "cl_pitchup -89;cl_pitchdown 89;w;+attack2;+jump;w;-attack2;-jump;cl_pitchup 89;cl_pitchdown 89;force_centerview"
How to use: Crouch for a few frames and activate it, this will boost the player vertically, useful on surface tension.
Example: bind g smgboost
You may increase the wait count based on latency.
alias fastzoom "+attack2;+attack;wait;wait;wait;wait;lastinv;lastinv;-attack;-attack2"
Example: bind mouse5 fastzoom
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;fps_max 100"
Example: bind mouse5 +tau
alias ds1 "+duck;alias ds ds2;append ds"
alias ds2 "wait;alias ds ds3;append ds"
alias ds3 "-duck;alias ds ds4;append ds"
alias ds4 "wait;alias ds ds1;append ds"
alias +ds "cl_autojump 0;ds1"
alias -ds "alias ds;-duck;cl_autojump 1"
Example: bind mouse3 +ds
alias dd1 "+duck;alias dd dd2;append dd"
alias dd2 "wait;alias dd dd3;append dd"
alias dd3 "-duck;alias dd dd4;append dd"
alias dd4 "wait;alias dd dd5;append dd"
alias dd5 +duck
alias +dd dd1
alias -dd "alias dd;-duck"
Example: bind mouse3 +dd
alias us1 "+use;alias us us2;append us"
alias us2 "wait;alias us us3;append us"
alias us3 "-use;alias us us4;append us"
alias us4 "wait;alias us us1;append us"
alias +us us1
alias -us "alias us;-use"
Example: bind e +us
alias fastswitch "+attack2;wait;wait;wait;-attack2;+attack;wait;wait;wait;-attack;lastinv;wait;lastinv"
Example: bind mouse4 fastswitch
alias +aps "alias _aps @aps;@aps"
alias -aps "alias _aps"
alias @aps "+attack;wait;-attack;wait;bxt_append _aps"
Example: bind mouse5 +aps
Also known as "ground strafe".
alias "+fr" "alias _fr @fr;cl_yawspeed 0;@fr"
alias "-fr" "alias _fr;cl_yawspeed 210"
alias "@fr" "+left;+moveleft;w;-left;-moveleft;+right;+moveright;w;-right;-moveright;bxt_append _fr"
Example: bind f +fr
Must be used at 100 fps, preferably in small bursts.
alias +m249 "alias _zspecial @m249;@m249_1"
alias -m249 "-attack;alias _zspecial"
alias @m249_1 "cl_pitchup 180;cl_pitchdown -180;+attack;alias @m249 @m249_2;bxt_append _zspecial"
alias @m249_2 "w;cl_pitchdown 89;cl_pitchup 89;force_centerview;alias @m249 @m249_3;bxt_append _zspecial"
alias @m249_3 "w;alias @m249 @m249_4;bxt_append _zspecial"
alias @m249_4 "w;alias @m249 @m249_5;bxt_append _zspecial"
alias @m249_5 "w;alias @m249 @m249_6;bxt_append _zspecial"
alias @m249_6 "w;alias @m249 @m249_7;bxt_append _zspecial"
alias @m249_7 "w;alias @m249 @m249_8;bxt_append _zspecial"
alias @m249_8 "w;alias @m249 @m249_1;bxt_append _zspecial"
Example bind mouse5 +m249
Also works on They Hunger 1.
alias door "fps_max 20;cl_pitchdown 60.5;cl_pitchup -60.5;+duck;w 5;fps_max 19.5;+attack;w;-attack;w 25;+attack;w;-attack;w 15;fps_max 100;-duck;cl_pitchup 89;cl_pitchdown 89"
Example: bind g door
All scripts must be done at 100 fps (check using net_graph 1
) and for those requiring angles, use bxt_hud_viewangles 1
. Issues are likely related to framerate, so please check the wiki for possible solutions! 💡
This version is currently NOT allowed by speedrun.com/hl1 rules.
Click here to view script
alias testchamber "+moveright;+back;w 30;+use;w 4;-use;w 40;-moveright;-back;w 100;+left;w 6;-left;wait;+moveright;w 22;+use;w 11;-use;+duck;wait;-duck;-moveright;w 40;+back;w 13;-back"
How to use: Stay on the left corner between cart cage and wall, after the cart fully arrives, activate it. Must be done within these angles: pitch 30~40, yaw 125.05 ~ .09
Consistent/simple version.
alias testchamber "tc1"
alias tc1 "w 100;w 100;alias testchamber tc2"
alias tc2 "w 10;w 10;w 10;+use;wait;wait;wait;wait;-use;w 10;w 10;w 10;w 10;-moveright;-back;w 100;alias testchamber tc3"
alias tc3 "wait;wait;wait;wait;wait;wait;-left;wait;alias testchamber tc4"
alias tc4 "w 10;wait;wait;wait;wait;wait;wait;wait;wait;wait;wait;wait;wait;+use;w 10;wait;-use;+duck;wait;-duck;-moveright;w 10;w 10;w 10;w 10;alias testchamber tc5"
alias tc5 "w 10;wait;wait;wait;-back;alias testchamber tc1"
bind 6 "alias testchamber tc1"
bind 7 +left
bind 8 +moveright
bind 9 +back
bind 0 testchamber
Video guide: link
How to use: Stay on the left corner between cart cage and wall, when the cage starts to decend, follow the steps. Must be done within these angles: pitch 30~40, yaw 125.05 ~ .09
- press 0
- hold s+d+0 then release
- hold 7+0 then release
- hold 8+0 then release
- hold 9+0 then release
This version is slightly faster than A/B but harder to hit the trigger.
alias testchamber "tc1"
alias tc1 "w 200;alias testchamber tc2"
alias tc2 "w 10;w 10;w 10;+use;wait;-moveright;wait;wait;wait;-use;alias testchamber tc3"
alias tc3 "w 10;w 10;w 50;cl_pitchup -89;+use;w 10;wait;wait;wait;wait;-use;cl_pitchup 89;-moveright;-back;cl_pitchdown 30;w 50;+use;alias testchamber tc4"
alias tc4 "w 10;wait;wait;wait;wait;-use;w 50;w 10;-moveright;cl_pitchdown 89;alias testchamber tc1"
bind 8 +back
bind 9 +moveright
bind 0 testchamber
How to use: Stay on the left corner between cart cage and wall, when the cage starts to decend, follow the steps. Must be done within these angles: pitch 30~40, yaw 136.5 ~ .49
- press 0
- hold 8+9+0 then release
- hold 8+9+0 then release
- hold 9+0 then release
Probably the "best" version, it offers an edge bug to cancel fall damage.
alias testchamber "tc1"
alias move "+moveright"
alias tc1 "w 200;alias testchamber tc2;alias move +moveright"
alias tc2 "alias testchamber tc3;alias move +back"
alias tc3 "w 30;+use;wait;-moveright;wait;wait;wait;-use;alias testchamber tc4;alias move +moveright"
alias tc4 "w 70;cl_pitchup -89;+use;w 10;wait;wait;wait;wait;-use;cl_pitchup 89;-moveright;-back;cl_pitchdown 30;w 50;+use;alias testchamber tc5"
alias tc5 "w 10;wait;wait;wait;wait;-use;w 10;-moveright;w 30;cl_pitchdown 89;alias testchamber tc6;alias move +forward"
alias tc6 "cl_pitchdown 180;cl_pitchup -170;w 9;cl_pitchup 89;cl_pitchdown 40;wait;cl_pitchdown 89;-forward;w 63;alias testchamber tc7;alias move +moveleft"
alias tc7 "alias testchamber tc8;alias move +left"
alias tc8 "w 50;-moveleft;w 100;-left;fps_max 40;w 11;fps_max 100;alias testchamber tc9;alias move +forward"
alias tc9 "w 40;-forward"
bind 9 move
bind 0 testchamber
Video guide: link
How to use: Stay on the left corner between cart cage and wall, when the cage starts to decend, follow the steps. It helps if you have developer 1
to see the level change being triggered. Must be done within these angles: pitch 30~40, yaw 136.51 ~ .40
- 0, 9, 0, 9, 0, 9, 0, 9, 0, 9, 0, 9, 0, 9, 0
Basically (0 then 9) times seven then '0' once. After touching the level change trigger up there you may continue:
- 9 then 0
- hold A + duck
alias puskip "-jump;-moveright;-moveleft;speak fvox/power_level_is;w 100;speak fvox/beep;w 100;speak fvox/beep;w 100;speak fvox/beep;w 100;speak fvox/beep;w 100;speak fvox/beep;w 100;speak fvox/beep;cl_pitchdown 180;cl_pitchup -179;w 30;cl_pitchup -30;cl_pitchdown 31;wait;cl_pitchup 89;cl_pitchdown 89;w 10;+use;w 11;-use;+jump;wait;-jump"
Video guide: link
Example: bind g puskip
Facing forward, no object boost.
alias puskip "speak fvox/power_level_is;w 100;speak fvox/beep;w 100;speak fvox/beep;w 100;speak fvox/beep;w 100;speak fvox/beep;w 100;speak fvox/beep;w 50"
How to use: Walk forward and activate the script as you walk across the level change trigger, grab the tripmines and wait against the wall.
Facing forward, with object boost!
alias puskip "weapon_shotgun;-jump;-moveright;-moveleft;w 350;+use;w 12;-use;+jump;wait;-jump;+attack2;wait;-attack2;+duck;w 28;-duck"
Video guide: link
alias captured "ct1"
alias ct1 "fps_max 100;w 2205;alias captured ct2"
alias ct2 "w 164;alias captured ct3"
alias ct3 "w 6;+speed;w 21;-right;-speed;alias captured ct4"
alias ct4 "w 11;+jump;+duck;w 21;-forward;alias captured ct5"
alias ct5 "w 15;-moveright;-right;w 50;alias captured ct6"
alias ct6 "w 30;-duck;-jump;-moveleft;-left;w 40;cl_pitchdown 89.999;cl_pitchup -89.999;wait;+use;wait;-use;wait;alias captured ct7"
alias ct7 "wait;-forward;wait;alias captured ct8"
alias ct8 "wait;-forward;wait;alias captured ct9"
alias ct9 "wait;-forward;wait;alias captured ct10"
alias ct10 "wait;-forward;wait;+use;wait;-use;cl_pitchup 89;cl_pitchdown 89"
bind 7 captured
How to use: Lower fps to 8 and do step 1 when you see the "loading" for the two soldiers talking cutscene.
- 7
- s+7
- rightarrow+7
- w+7
- d+rightarrow+7
- a+leftarrow+7
- w+7
- w+7
- w+7
- w+7
bind 7 "spk fvox/blip.blip.blip.blip"
How to use: Save/load after cutscene ends, when screen fades again press 7.
Video guide: link
alias valve "v1"
alias v1 "w 100;alias valve v2"
alias v2 "w 195;-forward;w 220;-moveleft;alias valve v3"
alias v3 "w 125;alias valve v1"
bind 6 valve
How to use: ???
- 6
- W+A+6
- W+6
alias faf "save quick;speak fvox/power_level_is.beep._comma.beep._comma.beep._comma.beep;-moveright;-moveleft;-duck;weapon_crowbar;+attack;w 500;weapon_handgrenade;w 40;cl_pitchdown 180;cl_pitchup -179;w 40;cl_pitchup 89.999;cl_pitchdown 89.999;cl_pitchup -40;cl_pitchdown 40.001;w 30;-attack;w 4;+jump;+duck;wait;-jump;-duck;cl_pitchup 89;cl_pitchdown 89;w 61"
Video guide: link
Example: bind g faf
This version uses a smg nade to scare the vortigaunts off.
alias faf "w 400;smg;w 1;weapon_handgrenade;w 10;+attack;w 50;cl_pitchdown 180;cl_pitchup -179;w 40;cl_pitchup 89.999;cl_pitchdown 89.999;cl_pitchup -40;cl_pitchdown 40.001;w 30;-attack;w 4;+jump;+duck;w 1;-jump;-duck;cl_pitchup 89.999;cl_pitchdown 90;w 61"
alias smg "cl_pitchdown 180;cl_pitchup -179;w 1;+attack2;w 1;cl_pitchup 89;cl_pitchdown 89;-attack2"
How to use: same as A version but cook the grenade and switch to the SMG before activating.
Example: bind g faf
alias in_dboost "-forward;cl_pitchdown 89;cl_pitchup -89;-attack;w;+duck;+jump;weapon_9mmAR;w 45;cl_pitchdown 32;cl_pitchup -32;+attack2;w 10;-duck;-jump;-attack2;cl_pitchup 89;cl_pitchdown 89;force_centerview;weapon_gauss"
Video guide: link
Example: bind mouse5 in_dboost
Jumpbugs basically cancel fall damage by jumping and unducking 2 units above the ground, the scripts will time this while allowing the player to move freely. Spreadsheet by Jukspa link
- If
version
in your console outputsExe build: [...]
from 2013 or later, subtract 0.5 fps fromfps_max
values within the script in order to work. - Scripts ending with *_steampipe.cfg already take that in count.
- Download this repository clicking here then move the script you want inside the mod dir (valve, valve_WON, gearbox_WON, etc).
- Load the script you want:
bind F2 "exec jb_example.cfg"
OR type in consoleexec jb_example.cfg
- Make a bind for "+jumpbug":
bind mouse4 +jumpbug
- Hold down "+jumpbug" until it's over, you can move/attack freely. The script jumps and jumpbugs automatically.
Video showcase for most jumpbugs: Click here to watch 📺
The table below shows where to execute each script. (Specific spots outlined in green)
Script | Jump (+jumpbug) | Land |
---|---|---|
jb_am.cfg | ||
jb_blastpitfall.cfg | ||
jb_blastpitbox.cfg | ||
jb_blastbutton.cfg | ||
jb_blastpitpipe.cfg | ||
jb_rails.cfg | ||
jb_rp.cfg | ||
jb_op4.cfg | ||
jb_they9_steampipe.cfg |