******************************************************************** ********** CLIENT VARIABLES AND COMMANDS ********** ******************************************************************** Q3PLUS has several new client variables and commands, as well as some modifications to existing ones. In this document you will find them all. ********************************** ******* VARIABLE LIST ******* ********************************** ======================== cg_ambient <0|1> Turn ON or OFF ambient sounds on map. ======================== cg_aspectRatio <0|1> Fixes the aspect ratio of the HUD and HUD elements if the video ratio is not 4:3. ======================== cg_centerTime <0|1|2|3> Varies the number of seconds of center printed messages that block your visibility. All kind of messages eg “You fragged xxx”; “xxx joined xx team”; and other. “/cg_centertime 0” removes the messages completely. ======================== cg_colors [colorstring] Changes color of your teammates (required “/cg_forcemodel 1” and for example “/model bones/pm”) [colorstring] is a 5 char-length string, where 1st char - rail trail color 2nd char - head color 3rd char - torso color 4th char - legs color 5th char - rail spiral Basic colors: 1 = Red; 2 = Green; 3 = Yellow; 4 = Blue; 5 = Cyan; 6 = Pink; 7 = White; 8 = Orange; 9 = Purple If you want to change the shades, you can use alphabet from A to X. Y is gray, Z is black. ======================== cg_corpse <0|1|2|3 and 6> Controls corpses behavior 0 – old style 1 – fade dead bodies into dark 2 – fade frozen bodies of enemy team into dark 3 – filter dead bodies ======================== cg_country <string> Set up your 2-char country identifier and scoreboard flag For example “RS” “PL” “DE” etc. ======================== cg_crosshairColor <number> Change your crosshair color (basic q3 colors from 1 to 9) Basic colors: 1 = Red; 2 = Green; 3 = Yellow; 4 = Blue; 5 = Cyan; 6 = Pink; 7 = White; 8 = Orange; 9 = Purple ======================== cg_delagDemo <0|1> Delags followed players on demos, so you can know better what was the player seeing locally. ======================== cg_delagWeapons <bitmask> 1 – machineGun 2 – shotGun 4 – lightningGun 8 – railGun Suggestion: value 15 (all weapons) ======================== cg_drawBBox <0|1> Draws enemy hitboxes on demos. ======================== cg_drawClientNum <bitmask> 1 – chats 2 – obituary 4 – tourney Scoreboard ======================== cg_drawMouse <0|1> Allows you to easy select and follow players by pressing +scores bind [tab] and mouse-clicking on reqiured client on scoreboard ======================== cg_drawMVDwindow <0|1> Toggles on/off the secondary window drawing on mvd playback ======================== cg_drawNotify <bitmask> Controls printing information on screen. -1 – use old (engine) notify 0 – disabled 1 – draw chat 2 – draw frags 4 – draw killstreaks 8 – everything else ======================== cg_drawPing <0|1> Shows your ping ploter. ======================== cg_drawScores <0|1> Shows Scores as a part of your HUD. ======================== cg_drawSpeed <0|1> Shows your Speed as a part of your HUD. ======================== cg_drawStats <0|1> Shows your stats under scoreboard when map is finished. ======================== cg_drawTime <0|1|2> Shows currently time in console. 0 – disabled 1 – currently game time 2 – currently real time ======================== cg_enemyColors [colorstring] Syntax and values is the same as for cg_colors! Will work only if cg_enemyModel is set! [colorstring] is a 5 char-length string, where 1st char - rail trail color 2nd char - head color 3rd char - torso color 4th char - legs color 5th char - rail spiral Basic colors: 1 = Red; 2 = Green; 3 = Yellow; 4 = Blue; 5 = Cyan; 6 = Pink; 7 = White; 8 = Orange; 9 = Purple If you want to change the shades, you can use alphabet from A to Z. ======================== cg_enemyModel [ modelname/pm ] Changes all enemy models to the one you choose. “pm” means use current bright colored enemy model if model is known for mod i.e. there is possible to modify model colors. If model is unknown (like “alien” or so) then it will be forced to “sarge” ======================== cg_enemySound [ modelname ] Model can be any valid model e.g. “sarge”, “keel”, “grunt” etc. An empty value “” will disable it and the sounds of the actual enemy model will be used. ======================== cg_gunX; cg_gunY; cg_gunZ [ number ] Set X, Y and Z coordinates of viewable weapon if cg_drawGun is set to 1. Negative values are available. Your choice... ======================== cg_hud [ hudname ] Choice your HUD (in Q3PLUS are hud01 to 10 presets) You can find this settings in game menu when you load Q3PLUS mod and press ESC then SELECT HUD. ======================== cg_modelJump <0|1> Enables/disables jump animations client-side Most (all default) quake 3 models do use very odd jump animations, which do not align to the hitbox. Aiming towards the head will most probably result in a miss, when the enemy is jumping With enabled jump animations you of course will still see players jumping around but it will look different and their model will fit to the actual hitbox. ======================== cg_modelScale <0, 0.5...2.0> Scales player models client-side Value of "0" will try to fit the model into the hitbox Keep in mind that this is client-side only, e.g. a value of "1.5 or 2" will make the models look "big and easy to hit" but the hitbox remains as defined by the server. ======================== cg_name [ yourname ] Same as /name, but uses special "fancy" codes for font. You can make "fancy" name using cgQname tool from tools directory in Q3PLUS mod (java required) If you already downloaded mod automatically from server and you dont have tools folder inside mod you can download cgQname tool from q3area.blogspot.com ======================== cg_noBlink <0|1> Enables and Disables fancy names blinking. ======================== cg_noBobbing <bitmask> 1 – disables weapon bobbing animation 2 – disables weapon switch animation 4 – disables weapon firing knockback animation 8 – disables damage kick ======================== cg_noChatBeep <0|1> Enables and Disables console chat beeps. ======================== cg_noRadioChat <0|1> Enables and Disables radio voice chat sounds. ======================== cg_noSnow <0|1> Enables and Disables snow animation in game. Note: strictly recommended cg_noSnow 1 to keep smooth gameplay! ======================== cg_noVoiceChat <0|1> Enables and Disables Voice Chat ingame. ======================== cg_oldGrenade <0|1> Enables and Disables the new grenade to the old one. ======================== cg_oldHitSound <0|1> Value of 0 enables damage-based hit tones; 1...5 - different hit tones. ======================== cg_onEnter [ command ] Put here a command, that will be executed on enter. ======================== cg_onExit [ command ] Put here a command, that will be executed on exit. ======================== cg_projectileNudge [ your average ping ] Set to your average ping (this means also that you may need to change this value after you change server, to maintain the best experience). Default value is 0. cg_projectilenudge is the new method of reducing lag and is compatible with delagged gameplay. When set correctly it enables you to assess when incoming projectiles are going to hit you in spite of your lag, enabling you to dodge them. It should be set to your average ping time (not half your ping like cl_timenudge). This enables a client prediction algorithm also, but for projectiles only and not for targets so you can hit them with delagged hitscan weapons. Note: that it is possible to use cl_timenudge together with cg_projectilenudge, but calculating to which values you should set them together is not intuitive and therefor not very practical, aiming and firing hitscan weapons becomes more difficult too because you have to take the cl_timenudge value into account and lead (or even trail) your targets. ======================== cg_recordMessage <0|1> Enables or disables on-screen demo recording message. ======================== cg_screenshotFormat [ format ] Changes the default format of screenshot name, see below for the format: $(rdate) 1999-12-02 $(date) 02-12-1999 $(time) 18-00-59 $(gametype) ffa, single, 1on1, tdm, ctf, rtf, 1fctf, ca, ftag, ptl $(map) q3dm1, 2, 3 etc. $(address) localhost-27960 $(servername) My-server $(name) PlayerName $(team) free, red, blue, spec $(otherteam) none, red, blue $(teamname) none, g_blueTeam, g_redTeam $(otherteamname) none, g_blueTeam, g_redTeam $(redteamname) g_redTeam $(blueteamname) g_blueTeam Example (good simple format) cg_screenshotFormat "$(map)$(date)-($(time))" ======================== cg_specModel <0|1> Enables or disables own model for spectating player. ======================== cg_startrecordFormat [ format ] Changes the default format of record name, see below for the format: $(rdate) 1999-12-02 $(date) 02-12-1999 $(time) 18-00-59 $(gametype) ffa, single, 1on1, tdm, ctf, rtf, 1fctf, ca, ftag, ptl $(map) q3dm1, 2, 3 etc. $(address) localhost-27960 $(servername) My-server $(name) PlayerName $(team) free, red, blue, spec $(otherteam) none, red, blue $(teamname) none, g_blueTeam, g_redTeam $(otherteamname) none, g_blueTeam, g_redTeam $(redteamname) g_redTeam $(blueteamname) g_blueTeam Example (good simple format) cg_startrecordFormat "$(servername)-$(date)-$(map)" ======================== cg_teamSounds <bitmask> 0 – disabled; 1 – ctf sounds; 2 – score sounds EXTERNAL CLIENT VARIABLES [1.32e only] New external shaderx client variables for 1.32e users Type /seta in console first time and confirm with /vid_restart or add cvars in your cfg manually through some text editor Example: /seta sx_cpmaIcons 1 → ENTER - /vid_restart → ENTER Note: if you use Q3Plus64.exe or Q3Plus32.exe you don't need to use “/seta” because sx_ cvars are registered and added to the archive on the new Q3+ release! ======================== sx_cpmaIcons <0|1> [simple items] 0 – standard (q3+ default) icons; 1 – CPMA icons ======================== sx_impactSparks <0|1> Causes the enemy to spark when you hit them - off / on (requires com_blood 1) ======================== sx_lightningStyle <0|1|2|3> Controls the lightning stream effect 0 – standard Q3 LG beam; 1 – QuakeWorld inspired (q3+ default); 2 – thin LG beam; 3 – wide LG beam ======================== sx_noLightningImpact <0|1> Lightning impact effect on surfaces by lightning gun - on / off ======================== sx_noScreenDamage <0|1> On-screen damage (blood flash) - on / off ======================== sx_noWeaponFlash <0|1|2> Shows a muzzle flash when firing a weapon 0 – enabled; 1 – completely disabled (all weapons); 2 – disabled all except GT and LG flash (q3+ default) ======================== sx_rgStyle <0|1|2> Choice between three railGun skins 0 – standard quake3+ skin; 1 – skin with glow effects (q3+ default); 2 – old known black railGun skin ======================== sx_sportSkins <0|1> Keel and TankJr sport skins as bright enemy model alternative – off / on ======================== sx_teammateIcon <-1|0|1|2> Triangle above the teammates head -1 – no triangle; 0 – standard Q3 (yellow) icon; 1 – modified (yellow) icon; 2 – white modified (q3+ default) icon ======================== sx_menuLogo <0|1> Choice between standard Q3 and customized logo in main menu. This cvar is part of optional zzz-q3plusHQ pack. CLIENT VARIABLES AND COMMANDS - Q3Plus.exe 64/32bit (1.32e / quake3e) Q3Plus64.exe and 32.exe are latest 1.32e release with *New unofficial additions for Q3Plus mod. 1.32e or Quake3e is client aims to be fully compatible with original baseq3 and other mods while trying to be fast, reliable and bug-free. Note: Quake3e (1.32e) is open source project, for more info visit: https://github.com/ec-/Quake3e ======================== cl_autoNudge <0...1> Automatic time nudge that uses your average ping as the time nudge, values: 0 – use fixed /cl_timenudge 0...1 - factor of median average ping to use as timenudge ======================== cl_aviPipeFormat , cl_aviFrameRate and command /video-pipe Redirect captured video to ffmpeg input pipe In order to use this functionality you need to put ffmpeg binary near Q3Plus or quake3e executable. Use /cl_aviPipeFormat to control encoder parameters passed to ffmpeg, see ffmpeg documentation for details, default value is set according to YouTube recommendations: -preset medium -crf 23 -vcodec libx264 -flags +cgop -pix_fmt yuv420p -bf 2 -codec:2 aac -strict -2 -b:a 160k -r:a 22050 -movflags faststart If you need higher bitrate decrease -crf parameter, if you need better compression at cost of cpu time set -preset to slow or slower. Since ffmpeg can utilize all available CPU cores for faster encoding make sure you have /com_affinityMask set to 0. /cl_aviFrameRate - sets the amount of frames for your .mp4 or .avi video (for example 60 for HQ video) /video-pipe <filename> - redirect captured video to ffmpeg input pipe and save file as <filename> ======================== cl_conColor [RRR GGG BBB AAA] Custom console color (RGB values) – Default is 0 0 0 195 (transparent black) This cvar is now in archive and will be stored in your q3config.cfg *New ======================== com_maxfpsUnfocused Will save CPU when inactive, set to your desktop refresh rate, for example ======================== com_skipIdLogo <0|1> Skip playing idlogo movie at startup. ======================== com_yieldCPU <milliseconds> Try to sleep specified amount of time between rendered frames when game is active, this will greatly reduce CPU load. Use value 0 only if you're experiencing some lags (also it is usually reduces performance on integrated graphics because CPU steals GPU's power budget) ======================== con_height <0.1...1.0> *New Sets the percentile of the screen the console window takes up when on display. Value 0.1 prevent the console from being completely hidden (default is 0.5, half the screen) ======================== con_scale <1.0...3.0> *New Console lettertype size. Useful on high resolutions. ======================== in_forceCharset <0|1|2> 1 – try to translate non-ASCII chars in keyboard input 2 – force EN/US keyboard layout ======================== in_minimize and command /minimize Hotkey for minimize/restore main window (direct replacement for Q3Minimizer) Cvar that specifies hotkey for fast minimize/restore main windows, set values in form \in_minimize “ctrl+z” \in_minimize “lshift+ralt+\” or so then do \in_restart to apply changes /minimize - in-game command to minimize main window, can be used with binds/scripting ======================== in_noGrab <0|1> Do not capture mouse in game, may be useful during online streaming. ======================== r_bloom <0|1|2> High-quality light bloom postprocessing effect. 0 – disabled 1 – enabled 2 – enabled + applies to 2D/HUD elements too ======================== r_bloom_blend_base 0 - based, topmost downsampled framebuffer to use for final image. High values can be used for stronger haze effect, results in overall weaker intensity. ======================== r_bloom_filter_size Filer size of Gaussian Blur effect for each pass. Hbigger filter size means stronger and wider blur, lower value are faster, default is 6 ======================== r_bloom_intensity Final bloom blend factor, default is 0.5 ======================== r_bloom_modulate <0|1|2> Modulate extracted color: 0 – off (color=color, i.e. no changes) 1 – by itself (color=color*color) 2 – by intensity (color=color*luma(color)) ======================== r_bloom_passes Count of downsampled passes (framebuffers) to blend on final bloom image, default is 5 ======================== r_bloom_threshold Color level to extract to bloom texture, default is 0.6 ======================== r_bloom_threshold_mode <0|1|2> Color extraction mode: 0 – (r|g|b) >= threshold 1 – (r+g+b)/3 >= threshold 2 – luma(r,g,b) >= threshold ======================== r_defaultImage <filename or #rgb, #rrggbb> Replace default (missing) image texture by either exact file or solid #rgb|#rrggbb background color. ======================== r_dlightMode <0|1|2> Dynamic light mode: 0 – VQ3 'fake' dynamic lights 1 – New high-quality per-pixel dynamic lights, slightly faster than VQ3's on modern hadrware 2 – Same as 1 but applies to all MD3 models too ======================== r_ext_multisample <0|2|4|6|8> Multi-sample anti-aliasing, requires /r_fbo 1, can be changed on the fly. ======================== r_ext_supersample <0|1> Super-sample anti-aliasing, requires /r_fbo 1 ======================== r_fbo <0|1> Use FrameBuffer Objects, enables gamma correction in windowed mode and allows arbitrary size screenshot/video capture, required for bloom, anti-aliasing, greyscale effects etc. ======================== r_greyScale <0...1.0> Desaturates rendered frame, requires /r_fbo 1, can be changed on the fly. ======================== r_hdr <-1|0|1> Select texture format for FrameBuffer: -1 – 4 bit, for testing purposes, heavy color banding, might not work on all systems. 0 – 8 bit, default, moderate color banding with multi-stage shaders. 1 – 16 bit, enhanced blending precision, no color banding, might decrease performance on AMD/Intel GPUs. ======================== r_mapGreyScale <-1.0...1.0> Desaturate world map textures only, works independently from /r_greyScale, negative values desaturates lightmaps only. ======================== r_modeFullscreen Dedicated mode string for fullscreen mode, set to -2 to use desktop resolution, set “” (empty) to use /r_mode in all cases. ======================== r_neatSky <0|1> NoPicMip for skyboxes ======================== r_noBorder <0|1> To draw window without border, hold ALT to drag & drop it with opened console ======================== r_noMip <0|1> Apply picmip only on worldspawn textures. ======================== r_noPortals <0|1|2> 0 – Enabled portals and mirrors 1 – Disable in-game portals 2 – Disable in-game portals and mirrors ======================== r_overBrightBits <negative values> Force hardware gamma in windowed mode (not actual with /r_fbo 1) ======================== r_renderWidth / r_renderHeight and r_renderScale Arbitrary resolution rendering, requires /r_fbo 1 Use /r_renderWidth and /r_renderHeight cvars to set persistant rendering resolution. Game frame will be renderer at this resolution and later upscaled/downscaled to window size set be either /r_mode or /r_modeFullscreen cvars. Cvar r_renderScale controls upscale/downscale behavior: 0 – disabled 1 – nearest filtering, stretch to full size 2 – nearest filtering, preserve aspect ratio (black bars on sides) 3 – linear filtering, tretch to full size 4 – linear filtering, preserve aspect ratio (black bars on sides) It may be useful if you want to render and record 4k+ video on HD display or if you're preferring playing at low resolution but your monitor or GPU driver can's set video|scaling mode properly. ======================== r_vbo <0|1> Use Vertex Buffer Objects to cache static map geometry, may improve FPS on moders GPUs, increases hunk memory usage by 15-30MB (map dependent) ======================== s_muteWhenUnfocused <0|1> Mute sound when window is unfocused. ======================== s_muteWhenMinimized <0|1> Mute sound when window is minimized. ======================== ”/screenshotBMP” and “/screenshotBMP clipboard” commands hardcoded PrintScreen key – for “/screenshotBMP clipboard” hardcoded Shift+PrintScreen – for “screenshotBMP” ======================== Built-in URL-filter There is ability to launch Q3Plus or Quake3e (1.32e) client directly from your browser or Discord by just clicking on URL that contains q3a:// instead of usual http:// or ftp:// protocol headers. What you need to do: - copy q3url_add.cmd and q3url_rem.cmd from “q3plus/extras/q3url-64bit” or “q3url-32bit” to your main Q3A directory. - run q3url_add.cmd if you want to add protocol binding or q3url_rem.cmd if you want to remove it. - type in your browser q3a://127.0.0.1 and follow it – if you see Q3Plus launching and trying to connect then everything is fine ======================== Other changes and additions: - Raw mouse input support, enabled automatically instead od Direct Input (/in_mouse 1) on Windows XP and newer windows operating systems. - Unlagged mouse processing, can be reverted by setting /in_lagged 1 - MOUSE4 and MOUSE5 works in /in_mouse -1 mode. - /com_affinityMask – bind Quake3e (q3plus) process to bitmask-specified CPU core(s) - fs_locked <0|1> - keep opened pk3 files locked or not, removes pk3 file limit when unlocked. - CTRL+ENTER in console sends message with command /team_say (team messageMode) *New - SHIFT+ENTER in console sends message with command /tell. Say something to an individual on the server. Requires <PlayerID> before “message” *New - You can use /record during /demo playback! - Less spam in console (try to set “/developer 1” to see what important things you missing) - Faster shader loading, tolerant to non-fatal errors. - Raized filesystem limits, much faster startup with 1000+ pk3 files in use, level restart times were also reduced as well. - Fast client downloads (up to 2MB in sec) - Q3Plus.exe loads q3plus mod at startup by default instead of baseq3. *New - Much improved autocompletion (map, demo, exec and other commands), in-game /callvote argument autocompletion. - A lot of security, performance and bug fixes. Note: If you cannot run q3plus.exe or quake3e.exe, check your antivirus program and change the settings for (PUA or PUP) a potentially unwanted application or program. *********************************** ******* COMMAND LIST ******* *********************************** ======================== away / back Moves you to "away" mode in Spectators List. Once you join back any team your kills and score will not be reset to 0 but will remain same as when you used "/away". Time will be you pre-away time + all the time you where away ======================== countries, locations These commands show you what Countries/locations are other players in. ======================== drop Drops weapon or item. ======================== echo2 Same as /echo , but works for cg_drawNotify ======================== help Shows you a list of available help ======================== hud Customizable user ingame interface (health,armor bars,weapons,etc.) ======================== ignore, mute / unignore, unmute Ignores or Mutes concrete Player / Removes ignore or mute on a player you have ignored or muted To ignore/unignore or mute/unmute someone look up there ID by pressing TAB and the ID number. Works like -> "/ignore 0" and "/unignore 0" or "/mute 0" and "/unmute 0". 0 is just a example. ======================== invite Invite someone to the locked team. ======================== joinword Join password to a locked team. ======================== lock / unlock Lock a team / Unlock team if it was locked ======================== maps MAPS "Maplist". With "/maps" you can see available maps on your screen instead MOTD. ======================== messagemodeXP Values: 1 – /say; 2 – /say_team; 3 – /say_spec ======================== ready / notready / teamready During a tournament or after a match this commands sets your status as ready / no ready / sets ready status to all members in team. ======================== players Shows players network settings in console. ======================== ref, referee Command to be referee (refereePassword must be set on server). ======================== say_team, say_spec By "/say_team" only your team-mates can see what you say. By "/say_spec" only spectators can see what you say. ======================== screenshotXP Makes screenshot. Use /screenshotXP ======================== speconly Turn on spectator mode. ======================== startmvd / stopmvd Starts recording public multiview demo (MVD), demo from all players in server / Stops MVD ======================== startrecord / stoprecord Starts recording one following player demo / Stops recording ======================== stats Print your stats in console ======================== timeout / timein Stops, pauses game-play for a certain time / same as ready then taken timeout. ======================== wallhack Works for rcon only in spectators mode. ======================== +vstr, -vstr Executes a variable command. ************************************* ******* COMMUNICATION ******* ************************************* Features to improve your communication with your teammates, or just to spam on servers. This chat variables can be used in the normal, team or private chat messages. ======================== $(health) Current health. ======================== $(armor) Current Armor. ======================== $(ammo) Current ammunition for the currently held weapon. ======================== $(location) Returns the closest item spawn (only weapons, armors, powerups, holdable powerups and mega health). If there is no item spawn close to you, it will return the location as visible on the team overlay. ======================== $(corpse) The location you last died at. ======================== $(attacker) The player name who last hit you. ======================== $(target) The player name you last hit. ======================== $(pickup) The last item you took (only weapons, armors, powerups, holdable powerups and mega health). ======================== $(item) Like $(location) but reports only available items (no empty spawns) and includes dropped items. ======================== $(itemCrosshair) If there are more than one item close to you and you want to report about a specific item to your team. This will return the item closer to your crosshair. ======================== $(friend) The closest available team mate. Obviously only works for team games. ======================== Examples: /say_team Need support at $(location)! [H:$(health) A:$(armor)] /say Next time I kill you, $(attacker)!! /say Run while you can $(target)! /say_team Give me some ammo, $(friend)