Config Scripting Help

I like the ezQuake default /builtin script:

alias +axe                    "weapon 1;+attack"
alias -axe                    "-attack"
alias +gl                     "weapon 6 5 3 2 4 1;+attack"
alias -gl                     "-attack"
alias +lg                     "weapon 8 5 3 2 4 1;+attack"
alias -lg                     "-attack"
alias +ng                     "weapon 4 5 3 2 1;+attack"
alias -ng                     "-attack"
alias +rjump                  "weapon 7;+attack;+jump"
alias -rjump                  "-attack;-jump"
alias +rl                     "weapon 7 6 5 3 2 4 1;+attack"
alias -rl                     "-attack"
alias +sg                     "weapon 2 3 5 4 1;+attack"
alias -sg                     "-attack"
alias +sng                    "weapon 5 3 2 4 1;+attack"
alias -sng                    "-attack"
alias +ssg                    "weapon 3 2 5 4 1;+attack"
alias -ssg                    "-attack"
alias +zoom                   "set oldfov $fov;lowsenscalc;fov 80;wait;fov 70"
alias -zoom                   "normalsenscalc;fov 95;wait;fov $oldfov"

What would be the equivalent in Q3A? or CPMA/OSP?

Quake 3 doesn’t have alias but it has vstr which execute the value of a console variable as a command. Q3 doesn’t support custom release binds so +attack has to be in the bind instead of the cvar for vstr. There is no way to choose from a list of weapons. +zoom is already built into Q3.

Example for using vstr.

seta axe "weapon 1"
bind 1 "vstr axe;+attack"

Using vstr isn’t really useful here, so might as well just put weapon select in bind too.

bind 1 "weapon 1;+attack" // WP_GAUNTLET
bind 2 "weapon 2;+attack" // WP_MACHINEGUN
bind 3 "weapon 3;+attack" // WP_SHOTGUN
bind 4 "weapon 4;+attack" // WP_GRENADE_LAUNCHER
bind 5 "weapon 5;+attack" // WP_ROCKET_LAUNCHER
bind 6 "weapon 6;+attack" // WP_LIGHTNING
bind 7 "weapon 7;+attack" // WP_RAILGUN
bind 8 "weapon 8;+attack" // WP_PLASMAGUN
bind 9 "weapon 9;+attack" // WP_BFG

// rocket jump?
bind 0 "weapon 5;wait 150;+attack;+moveup"

bind MOUSE3 +zoom

I just use the default number key binds to select weapon or mouse wheel to pick next/previous weapon and left mouse button to attack. I don’t know if CPMA or OSP have more scripting options.

1 Like

Ah yes, thanks, good old original Quake1 basic bindings.
I think we need two wait; wait; for this to work.

I was researching this myself awhile back. I ran across this. I’m still evaluating it… but more than willing to share.

bind u "weapon 5;sensitivity 7;cl_mouseaccel 1.0;cg_drawGun 0;cg_fov 110;cg_drawcrosshair 2; cg_crosshairsize 25; cl_mouseaccel 0.8; // pummel
bind o “vstr frj;vstr togglezoomeuhout”

seta frj "centerview;cl_yawspeed 22501;cl_pitchspeed 4900;+left;=lookdown;+attack;+moveup;wait 2;-lookdown;-attack;-left;-moveup;wait 2;+left;wait 6;-left;centerviewcl_yawspeed 140;cl_pitchspeed 140"
seta togglezoomeuh vstr togglezoomeuhin
seta togglezoomeuhin "+zoom; set togglezoomeuh vstr togglezoomeuhout"
seta togglezoomeuhout "-zoom; set togglezoomeuh vstr togglezoomeuhin"
bind p “vstr togglezoomeuh”

WEAPONS CFG
bind q "weapon 1;sensitivity 8;cl_mouseaccel 1.0;cg_drawGun 0; cg_drawcrosshair 2; cg_crosshairsize 25; cl_mouseaccel 0; // pummel
bind e "weapon 2;sensitivity 5;cl_mouseaccel 1.0;cg_drawGun 0; cg_drawcrosshair 1; cg_crosshairsize 25; cl_mouseaccel 0; // machine gun
bind r "weapon 3;sensitivity 7;cl_mouseaccel 1.0;cg_drawGun 0; cg_drawcrosshair 2; cg_crosshairsize 25; cl_mouseaccel 0.8; // shot gun
bind capslock "weapon 4;sensitivity 7;cl_mouseaccel 1.0;cg_drawGun 0; cg_drawcrosshair 2; cg_crosshairsize 25; cl_mouseaccel 0.8; // grenade
bind g "weapon 5;sensitivity 7;cl_mouseaccel 1.0;cg_drawGun 0; cg_drawcrosshair 2; cg_crosshairsize 25; cl_mouseaccel 0.8; // rl
bind v "weapon 4;sensitivity 4;cl_mouseaccel 0.5;cg_drawGun 3; cg_drawcrosshair 1; cg_crosshairsize 25; cl_mouseaccel 0; // lg
bind x "weapon 7;sensitivity 6;cl_mouseaccel 0.5;cg_drawGun 3; cg_drawcrosshair 9; cg_crosshairsize 40; cl_mouseaccel 0.8; // rail
bind z "weapon 8;sensitivity 7;cl_mouseaccel 1.0;cg_drawGun 3;cg_fov 110;cg_drawcrosshair 2; cg_crosshairsize 25; cl_mouseaccel 0.8; // plasma