This reference describes the commands and variables available in AssaultCube.
This section describes identifiers that are closely related to the CubeScript language. Determines if a floating-point value is smaller than a second floating-point value. Determines if a floating-point value is less than or equal to a second floating-point value. Determines if a floating-point value is equal to a second floating-point value. Determines if a floating-point value is greater than a second floating-point value. Determines if a floating-point value is greater than or equal to a second floating-point value. Determines if a floating-point value is not equal to a second floating-point value. sets the result value of a CubeScript block Performs a floating-point modulo operation. Output: 7.5 Output: 5.0 Performs an addition. Example: echo the sum of x and y is (+ $x $y) Performs a subtraction. Subtracts two floating-point numbers. Adds up two floating-point numbers. Performs a multiplication. Performs an integer division. Performs a division with floating-point precision. Performs a modulo operation. Determines if two values are equal. Output: there are only 10 types of people in the world Determines if two values are not equal. Determines if a value is smaller than a second value. Determines if a value is bigger than a second value. Determines if a values is less than or equal than a second value. Determines if a values is greater than or equal than a second value. logical AND. Output: 1 Output: 0 logical OR. output: 1 output: 0 Performs a negation. Performs a floating point multiplication. Random value Determines if two strings are equal. Controls the script flow based on a boolean expression. $x 10) [ echo x is bigger than 10 ] [ echo x too small ]]]> Loops the specified body. This command sets the alias you choose, as first argument, from 0 to N-1 for every iteration. Loops the specified body while the condition evaluates to true. This command sets the alias "i" from 0 to N-1 for every iteration. Note that the condition here has to have [], otherwise it would only be evaluated once. Concatenates multiple strings with spaces inbetween. output: hello world Concatenates multiple strings. The newly created string is saved to the alias 's'. output: CubeScript Grabs a word out of a string. output: two returns the element count of the given list. Searches a list for a specified value. Executes a command after specified time period. Prints 'foo' to the screen after 1 second. The number of arguments passed to the current alias output: 99 bottles of beer on the wall, 99 bottles of beer!
This section describes general identifiers. Toggle for taking an automatic screenshot during intermission. Toggle format of screenshot image. Your choice is for BMP (0) or JPEG (1). Sets the JPEG screenshot image quality. The image quality is set by it's compression level, a value of 10 sets maximum compression and a small file size but results in a bad quality image while a value of 100 results in a large file but gives the best quality image. Plays all hardcoded sounds in order. writes current configuration to config/saved.cfg - automatic on quit registers a track as music - the first three tracks have special meaning. Track #1 is for "flag grab" the second and third are used as "last minute" tracks. Dump all command arguments to STDOUT Toggles getting descriptive text from CGZ or DMO files in menudirlist. Toggles physics interpolation. create a menu listing of files from a path and perform an action on them when clicked. use this inside menu definitions, almost always as the only command of that menu. compare the usage inside config/menus.cfg will create a list of maps and load them when clicked Toggles the console. Triggers a jump. default keys: space and right mouse. Contacts the masterserver and adds any new servers to the server list. The servers are written to the config/servers.cfg file. This menu can be reached through the Multiplayer menu. Returns the number of milliseconds since engine start. seconds since the epoch (00:00:00 UTC on January 1, 1970) a list of values for current time format: YYYY mm dd HH MM SS representation of date format: Www Mmm dd hh:mm:ss yyyy Use timestamp to create your own formatting. the current time in (H)H:MM:SS format Binds a key to a command. To find out what key names and their default bindings are, look at config/keymap.cfg, then add bind commands to your autoexec.cfg. Executes a command on the release of a key/button. This command must be placed in an action in a bind or in an alias in a bind. Binds a name to commands. It is possible to re-bind an alias, even during its evaluation. There is also the shorthand version of defining an alias via the "="-sign. Quits the game without asking. Moves the player forward. default keys: W and Up Arrow Moves the player backward. default keys: S and Down Arrow Moves the player left. default keys: A and Left Arrow Moves the player right. default keys: D and Right Arrow Fires the current weapon. default: left mouse button Sets mouse to "flight sim" mode. Takes a screenshot. Screenshots are saved to "screenshots/screenshotN.bmp", where N is the number of milliseconds since the game was launched. Executes all commands in a specified config file. Sets up the keymap for the specified key. You should never have to use this command manually, use "bind" instead. Sets the mouse sensitivity. Adds a server to the list of server to query in the server list menu. Clears the list of secured maps. Adds a map to the list of secured maps. Secured maps can not be overwritten by the commands sendmap and getmap. Enables output of processed network packets. This variable only has an effect if the client binary is compiled in debug mode. Determines if the current played map should be automatically downloaded if it is not available locally. Automatically get new map revisions from the server. Sets the correction value for clockfix. Engine source-code snippet (main.cpp): if(clockfix) millis = int(millis*(double(clockerror)/1000000)); Enables correction of the system clock. Enable triangle debug. Prints details while connecting triangles of 3d models. Limits the FPS (frames per second) of the game. Gets the maximum number of supported textures when performing multitexturing. Minimal level of detail. Toggles use of acronyms instead of full modenames in the serverbrowser. Resets all binds back to their default values. This command executes the file /config/resetbinds.cfg which will bind all keys to the values specified in that file, thus resetting the binds to their default values. Swaps your player to the enemy team. Determines if all settings should be reset when the game quits. It is recommended to quit the game immediately after enabling this setting. Note that the reset happens only once as the value of this variable is reset as well. Determines the valid distance when extrapolating a players position. Determines the speed when extrapolating a players position. Determines how fast network throttling accelerates. Determines how fast network throttling decelerates. Determines the interval of re-evaluating network throttling. Swaps vertices of model triangles. Gets an integer representing the game version. READ ONLY As example, version 1.0 is represented as value 1000. Holds the current game mode. READ ONLY Output: 5 Indicates if a connection to a server exists. Sets the maximum value the display will roll on strafing.
This section describes gameplay related identifiers. shifts your selected weapon by a given delta. By default the mouse-wheel shifts one up or down according to your scroll direction. will display a scope for the sniper-rifle. used in the zoom-script (config/scripts.cfg [l. 92ff "alias zoom"] cycles through all available spectator modes. Follow-1stPerson, Follow-3rdPerson, Follow-3rdPerson-transparent and Fly. get the IP address of a given clientnumber - only admins get shown the last octet agree or disagree to the currently running vote returns the mapname outputs the mapsize. Loads a crosshair for a specific weapon of - if the weapon argument is omitted or <0 - for all weapons. Enables or disables the processing of the bots artificial intelligence Will make the bots stand still. Will enable the bots to move and shoot. Kicks all bots out of the current game. Kicks the bot with the given name out of the current game. Will make the bot named "Robbie" dissapear from the current game. Draws a shooting line in the direction of all available bots. This is a debugging command and only works for single player modes. add a bot for a given team with a given skill calling him a given name. This command only works for single player modes. Will add a bot named Robbie with a medium skill level to the RVSF team. will add a given count of bots for the given team with the given skill and select random names for them. This command only works for single player modes. The name of the bots will be selected randomly. Will add 2 bots with a bad skill level to the CLA team. changes the skill level for the given bot. Changes the previous bot skill level of the bot named Robbie to a 'best' skill level. changes the skill level for all bots. Changes the previous bot skill level for all bots to a 'worse' skill level. Enables or disables the ability of the bots to fire their weapons Bots won't shoot. Returns 1 if the local player is alive. Output: 1 Returns the current map being played. If you pass it a non-zero value, the result will be path-less. output: playing maps/ac_complex vote for: ac_complex Returns the mode number for the current game. Current map revision number. Checks the current game mode for certain attributes. Possible attributes are: team, arena, flag and bot. Returns the current game mode number. Returns the current mastermode Returns the weapon-index the local player currently has selected as primary. This is not the same as curweapon - which could be a grenade or the knife. Returns 1 if the local player has admin privileges, 0 otherwise. Returns information on the current server - if you're connected to one. If I is 0 (omitted or any other value than the ones below) you will get a string with 'IP PORT' If I is 1,2 or 3 you will get the IP, HostName or port respectively. If I is 4 you get a string representing the current state of the peer - usually this should be 'connected'. Output: I am connected to ctf-only.assault-servers.net This will either remember or retrieve the last server you pressed the PrintScreen-key on. Returns 1 if the local player is on the RVSF team, 0 if on CLA. Returns the weapon-index the local player is currently holding. Returns the weapon-index the local player was previously holding. Loads up a map in the gamemode set previously by the 'mode' command. If connected to a multiplayer server, it votes to load the map (others will have to type "map M" as well to agree with loading this map). To vote for a map with a specific mode, set the mode before you issue the map command. A map given as "blah" refers to "packages/maps/blah.cgz", "mypackage/blah" refers to "packages/mypackage/blah.cgz". At every map load, "config/default_map_settings.cfg" is loaded which sets up all texture definitions, etc. Everything defined there can be overridden per package or per map by creating a "mapname.cfg" which contains whatever you want to do differently from the default. When the map finishes it will load the next map when one is defined, otherwise it reloads the current map. You can define what map follows a particular map by making an alias like (in the map script): alias nextmap_blah1 blah2 (loads "blah2" after "blah1"). Returns the primary weapon on next respawn. Reloads the weapon. Determines the skin of the current player. See the player model folder for the according skin-id. Choose skin when playing for team CLA. Choose skin when playing for team RVSF. Sets the nick name for the local player. Outputs text to other players. If the text begins with a percent character (%), only team mates will receive the message. Ignore a player. You won't see any further game chat or hear any more voice com messages from that player. Print a list of all players that you are currently ignoring. Clear list of ignored players. Omit the client number to clear the whole list. Mute a player You won't hear any further voice com messages from that player. Clear list of muted players. Omit the client number to clear the whole list. Print a list of all players that you have muted. Action chat message. Puts a prompt on screen. this puts a prompt on screen that you can type into, and will capture all keystrokes until you press return (or ESC to cancel). If what you typed started with a "/", the rest of it will be executed as a command, otherwise its something you "say" to all players. Makes an input perform a certain command. The completion will work on the first word of your console input. If you enter "/demo " and press TAB you will cycle through all available demos. helper alias for quickly adding complete-definitions for all gamemodes - see config/script.cfg (below "Auto-Completions") adds a command to complete nicknames on your own nick will be ignored with this you can enter "/nickgreet " and cycle via TAB to the nickname you want to greet. Connects to a server. If the server name is omitted, the client will try to connect to an available server in the LAN. If the port is omitted or set to 0, the default port will be used. Connects to a server and tries to claim admin state. This command will connect to a server just like the command 'connect' and try to claim admin state. If the specified password is correct, the admin will be able to connect even if he is locked out by ban, private master mode or taken client slots. If successfully connected, bans assigned to the admin's host will be removed automatically. If all client slots are taken a random client will be kicked to let the admin in. If the server name ist omitted, the client will try to connect to an available server in the LAN. If the port is omitted or set to 0, the default port will be used. connect as admin on port 777 of localhost will try to connect to a LAN server on the default port as admin with the given password of "myAdminPassword". Leaves a server. Sets the team for the local player. Move from active team to spectator during match. Connect to a modded server. The modified server needs to use the original client-server protocol. The protocol version number will be the negated value of an unmodded server. Connect to a modded server and claim admin. The modified server needs to use the original client-server protocol. The protocol version number will be the negated value of an unmodded server. Connect to a modified LAN server. The modified server needs to use the original client-server protocol. The protocol version number will be the negated value of an unmodded server. Shows or hides the scores. Changes the weapon. Returns contents of current magazine. A knife will always return 1. Weapons that aren't available will return -1. $mt 0) [ echo (numtwo $mc) "/" (numtwo $mr) ":" (at $wnames $w) ] ] ] Output: 01 / 01 : Knife 08 / 64 : Pistol 30 / 60 : Sub]]> Returns contents of magazine reserve. Retrieves the last map that was sent to the server using 'sendmap'. Toggle into spectator mode - only possible when you're dead! Stops any demo recording or playback. Returns 1 when the current game is being played from a demo, else 0. Kills your player. You will lose 1 frag point and gain 1 death point when using this command. Plays a recorded demo. Playback is interpolated for the player whose perspective you view. Determines if bot waypoints should be selected/placed using the crosshair or by the nearest location to your player. Returns the remaining minutes of the currently played game. READ ONLY Determines if the game should be paused. Indicates if the weapons should be reloaded automatically. Determines the FOV when scoping. Determines if the mini-map should be shown on screen. Determines if scores should be shown on death. Indicates if the footsteps sound should be played Indicates if the footsteps sound for the local player should be played Maximum time span between player animation and the playback of the footstep sound If the footstep sound would be played immediately when entering the radius of the other player, it would not be synchronous to the player model animation. Sets the gamespeed in percent. This does not work in multiplayer. For entertainment purposes only :)
Will toggle the focus of the mouse in game. Normally you can use your mouse to look around, when you type this command your mouse cursor is visible and can be used as normally. This is only useful when you run cube windowed, of course. makes waypoints visible and either turns on or off the waypoint information display. takes the current player yaw for the current waypoint teletransports the bot with the lowest connection number to you current position. This is a debugging command and only works for single player modes. When used you will see what the bot sees. Type it again (with or without name) to return to the game(you will respawn). during map editing, drop all mapsounds so they can be re-added In map edit mode you can select bits of the map by clicking or dragging your crosshair on the floor or ceiling (using the "attack" identifier, normally MOUSE1), then use the identifiers below to modify the selection. While in edit mode, normal physics and collision don't apply (clips), and key repeat is ON. Note that if you fly outside the map, cube still renders the world as if you were standing on the floor directly below the camera. Hotkey E Default keys are the six keys above the cursor keys, which each 2 of them cycle one type (and numpad 7/4 for upper). The way this works is slightly strange at first, but allows for very fast texture assignment. All textures are in 3 individual lists for each type (both wall kinds treated the same), and each time a texture is used, it is moved to the top of the list. So after a bit of editing, all your most frequently used textures will come first when pressing these keys, and the most recently used texture is set immediately when you press the forward key for the type. These lists are saved with the map. make a selection (including wall bits) and press these keys to get a feel for what they do. Default keys are [ and ] for floor level, and o/p for ceiling. makes the current selection all solid (i.e. wall) or all non-solid. This operation retains floor/ceiling heights/textures while swapping between the two. Default keys f and g respectively. Levels the floor/ceiling of the selection. default keys , and . Marks the current selection as a heightfield. marks the current selection as a heightfield, with T being floor or ceiling, as above. A surface marked as heightfield will use the vdelta values (see below) of its 4 corners to create a sloped surface. To mark a heightfield as normal again (ignoring vdelta values, set or not) use "solid 0". Default keys are h (floor) and i (ceiling). Heightfields should be made the exact size that is needed, not more not less. The most important reason for this is that cube automatically generates "caps" (side-faces for heightfields) only on the borders of the heightfield. This also means if you have 2 independent heightfields accidentally touch each other, you will not get correct caps. Also, a heightfield is slightly slower to render than a non-heightfield floor or ceiling. Last but not least, a heightfield should have all the same baseheight (i.e. the height determined by a normal editheight operation) to get correct results. changes the vdelta value of the current selection Note that unlike all other editing functions, this function doesn't affect a cube, but its top-left vertex (market by the dot in the editing cursor). So to edit a N * M heightfield, you will likely have to edit the vdelta of (N+1) * (M+1) cubes, i.e. you have to select 1 row and 1 column more in the opposite direction of the red dot to affect all the vertices of a heightfield of a given size (try it, it makes sense :) A floor delta offsets vertices to beneath the level set by editheight (and a ceil delta to above). Delta offsets have a precision of a quarter of a unit, however you should use non-unitsize vertices only to touch other such vertices. Default keys are 8 and 9 to decrease/increase the vdelta. Makes the current selection into a "corner". Currently there is only one type of corner (a 45 degree one), only works on a single unit (cube) at a time. It can be positioned either next to 2 solid walls or in the middle of 2 higher floorlevels and 2 lower ones forming a diagonal (and similar with ceiling). In both cases, the corner will orient itself automatically depending on its neighbours, behaviour with other configurations than the 2 above is unspecified. Since the latter configuration generates possibly 2 floor and 2 ceiling levels, up to 4 textures are used: for example for the 2 floors the higher one will of the cube itself, and the lower one of a neighbouring low cube. You can make bigger corners at once by issuing "corner" on grid aligned 2x2/4x4/8x8 selections, with equal size solid blocks next to them. Multi-level undo of any of the changes caused by editing operations hotkey u Sets the number of megabytes used for the undo buffer. undo's work for any size areas, so the amount of undo steps per megabyte is more for small areas than for big ones (a megabyte fits 280 undo steps on a 16x16 area, but only 4 steps on a 128x128 area). Copies the current selection into a buffer. hotkey c Pastes a previously copied selection. To paste a selection back requires a same size selection at the destination location. If it is not the same size the selection will be resized automatically prior to the paste operation (with the red dot as anchor), which is easier for large selections. hotkey v Repeats the last texture edit throughout the map. The way it works is intuitive: simply edit any texture anywhere, then using "replace" will replace all textures throughout the map in the same way (taking into account whether it was a floor/wall/ceil/upper too). If the there was more than one "old" texture in your selection, the one nearest to the red dot is used. This operation can't be undone. Adds a new entity (x,y) is determined by the current selection (the red dot corner) and z by the camera height, of said type. Type is a string giving the type of entity, such as "light", and may optionally take values (depending on the entity). Adds a new light entity if only argument R is specified, it is interpreted as brightness for white light. Adds a new spawn spot. The yaw is taken from the current camera yaw. Adds a new ammo box item. Adds a pistol magazine item. Adds a new grenades item. Adds a new health item. Adds a new armour item. Adds a new helmet item. Adds a new akimbo item. Adds a map model to the map (i.e. a rendered md2/md3 model which you collide against but has no behaviour or movement) The mapmodel identifier is the desired map model which is defined by the 'mapmodel' command. The order in which the mapmodel is placed in the map config file defines the mapmodel identifier. The map texture refers to a texture which is defined by the 'texture' command, if omitted the models default skin will be used. The 'mapmodel' and 'texture' commands are placed in the map config normally. Mapmodels are more expensive than normal map geometry, so do not use insane amounts of them to replace normal geometry. Adds a CTF flag entity. Note that this entity is only rendered as flag if the current game mode is CTF. Adds a ladder entity. Note that this entity is used for physics only, to create a visual ladder you will need to add a mapmodel entity too. Adds a sound entity. Will play map-specific sound so long as the player is within the radius. However, only up to the max uses allowed for N (specified in the mapsound command) will play, even if the player is within the radius of more N sounds than the max. By default (size 0), the sound is a point source. Its volume is maximal at the entity's location, and tapers off to 0 at the radius. If size is specified, the volume is maximal within the specified size, and only starts tapering once outside this distance. Radius is always defined as distance from the entity's location, so a size greater than or equal to the radius will just make a sound that is always max volume within the radius, and off outside. A sound entity can be either ambient or non-ambient. Ambient sounds have no specific direction, they are 'just there'. Non-ambient sounds however appear to come from a specific direction (stereo panning). If S is set to 0, the sound is a single point and will therefore be non-ambient. However if S is greater than 0, the sound will be ambient as it covers a specified area instead of being a single point. Adds a clip entity. Defines a clipping box against which the player will collide. Use this clip type to clip visible obstacles like fences or the gas tank. If you only want to prevent a player from entering an area, use plclip instead. Adds a player clip entity. Defines a clipping box against which (only) the player will collide. Use this clip type to define no-go areas for players without visible obstacles, for example to prevent players from walking on a wall. Nades will not be affected by this clip type. Deletes the entity closest to the player hotkey x Edits the closest entity. Overwrites the closest entity with the specified values. Changes property of the closest entity. For example 'entproperty 0 2' when executed near a lightsource would increase its radius by 2. Deletes all entities of said type. Recomputes all there is to recompute about a map, currently only lighting. hotkey R Saves the current map. savemap makes a versioned backup (mapname_N.BAK) if a map by that name already exists. If the name argument is omitted, it is saved under the current map name. Where you store a map depends on the complexity of what you are creating: if its a single map (maybe with its own .cfg) then the "base" package is the best place. If its multiple maps or a map with new media (textures etc.) its better to store it in its own package (a directory under "packages"), which makes distributing it less messy. Creates a new map. The new map has 2^S cubes. For S, 6 is small, 7 medium, 8 large. Enlarges the current map. This command will make the current map 1 power of two bigger. So a size 6 map (64x64 units) will become a size 7 map (128x128), with the old map in the middle (from 32-96) and the new areas solid. Reduces the world size by 1. This command will make the current map 1 power of two smaller. So a size 7 map (128x128) will become a 6 size map (64x64 units), by removing 32 cubes from each side. The area to be removed needs to be empty (= all solid). Sets the map message, which will be displayed when the map loads. You will need to use quote marks around the message, otherwise it save the message correctly. For example: /mapmsg "Map By Author" Returns the map message of the current map. Prints all media dependencies of a map to a file. The output will be added to the file 'mapdependencies.txt'. Prints all media dependencies of all maps to a file. The output will be written to the file 'mapdependencies.txt'. Print some map entity statistics to the console. Restrict 'closest entity' display to one entity type. Choose another 'closest ent'. Use this, when two entities are placed in exactly the same location. Visit next player spawn entity. Move the whole map (including all entities) in the specified direction. Flip the selected part of the map at an axis. Rotate the selected part of the map in 90 degree steps. To rotate clockwise, use a positive number of steps. Note, that only quadratic selections can be rotated by 90 degrees. Contains the main axis of the player orientation. Select the increment of the map revision number for the next 'savemap'. Current selection: x-coordinate Current selection: x-span Current selection: y-coordinate Current selection: y-span Show mapmodel clipping during edit mode. Sets the global water level for the map. Every cube that has a lower floor than the water level will be rendered with a nice wavy water alpha texture. Water physics will be applied to any entity located below it. Performance notes: water is rendered for a whole square encapsulating all visible water areas in the map (try flying above the map in edit mode to see how). So the most efficient water is a single body of water, or multiple water areas that are mostly not visible from each other. Players can influence how accurate the water is rendered using the "watersubdiv" command (map config). Sets all light values to fullbright. Will be reset when you issue a 'recalc'. Only works in edit mode. Toggles between showing what parts of the scenery are rendered. Shows what parts of the scenery are rendered using what size cubes, and outputs some statistics about it. This can give map editors hints as to what architecture to align, textures to change, etc. Turns occlusion culling on and off. The reason one may want to turn it off is to get an overview of the map from above, without having all occluded bits stripped out. Makes a slope out of the current selection. The selection must be a heightfield before this command can be used. The steps specify the slope with the red vertex as left-top, i.e. "slope 1 2" will make a slope that increases just 1 step from left to right, and is slightly steeper from top to bottom. "slope -6 0" decreases steeply from left to right, and does not slope at all from top to bottom. Note that like the vdelta command, an increasing vdelta goes further away from the player, regardless of floor or ceiling. Makes an arch out of the current selection. The selection must be a heightfield before this command can be used. Will make the arch in the long direction, i.e when you have 6x2 cubes selected, the arch will span 7 vertices. Optionally, sidedelta specifies the delta to add to the outer rows of vertices in the other direction, i.e. give the impression of an arch that bends 2 ways (try "arch 2" on an selection of at least 2 thick to see the effect). Not all arch sizes are necessarily available, see config/prefabs.cfg. Defines a vertex delta for a specific arch span prefab, used by the 'arch' command. See config/prefabs.cfg for an example on usage. Generates a perlin noise landscape in the current selection. Keep the seed the same to create multiple perlin areas which fit with each other, or use different numbers if to create alternative random generations. Selects the given area, as if dragged with the mouse. This command is useful for making complex geometry-generating scripts. The current dimensions of the selection (either created by the user or this command) are in the variables selx, sely, selxs and selys and can also be read/modified. Coordinates are as follows: after a "newmap 6" the top-left corner (the one where the red dot points) are (8,8), the opposite corner is (56,56) (or (120,120) on a "newmap 7" etc.). Registers a sound. This command returns the sound number, which is assigned from 0 onwards, and which can be used with "sound" command. If the sound was already registered, its existing index is returned. registersound does not actually load the sound, this is done on first play. See for example config/sounds.cfg. Scales all lights in the map. This command is useful if a map is too dark or bright but you want to keep the light entities where they are. A variable indicating if the game is in editmode. A variable indicating if the player looks at the floor or at the ceiling. Used to finetune the "overbright lighting" rendering feature when enabled. After changing this value, a "recalc" is needed to see the differences.
This section describes identifiers related to the menu gui. Specifies commands to be executed when a menu opens. This command should be placed after newmenu. Creates a new menu. All menu commands placed after newmenu (i.e. menuitem, menuitemcheckbox, etc) are added into the menu until another "newmenu" command is specified. Creates a new menuitem. Upon activating the menuitem, the associated command will be executed. (See config/menus.cfg for examples). If the command argument is omitted, then it will be set to the same value as the description. If -1 is specified instead of the command to execute, then no command is executed when activating the item. If the rollover option is used, the menuitem will execute that command when selecting (but not activating) the menuitem. (Note: To activate the menu item, select it, and either: Click, press SPACE or press ENTER/Return). Defines the initial selection for a menu. Creates a new menuitem with variable content. Like 'menuitem', but the menuitem description will be the result of an evaluation, everytime the menu gets displayed. Selects a line in a menu. Defines the background color for the menu selection bar. Displays the specified menu. The menu allows the user to pick an item with the cursor keys. Upon pressing return, the associated action will be executed. Pressing ESC will cancel the menu. Closes the specified menu if it is open. If it is open multiple times in the stack only the topmost instance will be closed! Specifies a model to render while displaying the last added menu. Changes the menu model of a specified menu.
This section describes the identifiers to configure the head-up display (HUD). Recreates the minimap for the current map. Executes the specified command in the command line history. For example, binding "history 1" to a key allows you to quickly repeat the last command typed in (useful for placing many identical entities etc.) Allows to browse through the console history by offsetting the console output. Sets how many typed console commands to store. This value sets how many command lines to store in memory, everytime a command is entered it gets store so it can be recalled using the "/" key along with the arrow keys to scroll back and forth through the list. Sets the resolution for the minimap. Hide big images in menus. Show ammo stats like in 1.0 Choose player hand to carry the weapon. Sets how many seconds before the console text rolls up. It may also be viewed as the speed at wich the console text dissapears. Sets the total number of text lines from the console to store as history. Sets how many lines of text the console displays. Sets the number of text lines on an alternate F11 history display. Sets the number of text lines on the F11 history display. Turns on/off display of FPS/rendering statistics on the HUD. Sets the size of your crosshair. The crosshair is turned off entirely if the size is set to 0. Turns on or off crosshair effects. When on, the crosshair will go grey when the weapon is reloading, orange when health is 50 or red when is 25.
This section describes identifiers to configure the visuals. checks for the searchstring in all loaded extensions Displays local player's current x,y,z position in map, showstats 1 must be enabled. Sets the field of view (fov) based on the rules of AC v0.93 This command is supplied for backward compatibility. Changes the current font. Sets the field of view (fov). Sets the number of gibs to display when performing a "messy" kill (grenade, knife, sniper headshot). Larger values are more spectacular, but can slow down less powerful machines. Reducing gibttl may help in this case. Sets the time for gibs to live (in milliseconds), after which they will disappear. Sets the velocity at which gibs will fly from a victim. Sets the team display mode. In mode 0 team display is disabled In mode 1 players will be rendered with a colored vest to make the teams distinguishable. In mode 2 almost the whole suit of the players will be colored. These display modes are only applied in team gamemodes. Sets the size/resolution of the dynamic shadow data. Sets the display size of the dynamic shadows. Sets if dynamic shadows should be saved to disk. Sets the alpha value (transparency) for dynamic shadows. Determines whether dynamic shadows and lights are rendered, provided just incase they slow your fps down too much. With radius you can specify the radius of a dynamic light, smaller to maybe gain some speed (0 is off entirely), or bigger to see the effect of dynamic shadows more dramatically (try shooting it past some pillars that have a dark area on the other side... or use the "gamespeed" variable). Determines the subdivision of the water surface in maps. Must be a power of 2: 4 is the default, 8 is recommended for people on slow machines, 2 is nice for fast machines, and 1 is quite OTT. See "waterlevel" (edit reference) on how to add water to your own levels. Enables or disables fullscreen. Not supported on Windows and Mac. Sets the level of fullscreen antialiasing (FSAA). Sets the screen width. Sets the screen height. Sets the bits per pixel value. Sets the bits for the depth buffer. Enables or disables vsync. -1 uses the default settings obtained from the system. 0 disables, 1 enables vsync. Sets the hardware gamma value. May not work if your card/driver doesn't support it. Allows to finetune the amount of "error" the mipmapper/stripifier allow themselves for changing lightlevels. If this variable is changed this during play, a "recalc" is needed to see the effect. Scales all particles. Sets the time available for interpolation between model animations.
This section describes all identifiers related to music and sound effects. The distance from the source emitting the sound to the listener. This value indicates the relative "strength" of a sound (how far away the sound can be heard. Plays the specified sound. See config/sounds.cfg for default sounds, and use registersound to register your own. For example, sound 0 and sound (registersound "aard/jump") both play the standard jump sound. Mute a specific game sound. Unmutes all previously muted sounds. Specifies the interval for checking mapsounds. If set to value 0, the map sounds will be checked in every frame without any interval limitation. Enables verbose output for debugging purposes. Each subsequent played sound's gain-value is scaled by this percentage. This lowers the gain of the sounds before they are mixed, this might be useful in cases when the mixer has problems with too high gain values. Sets the music volume. Play music in the background. Enables or disables the audio subsystem in AC. Sets the desired amount of allocated sound channels. AC will try to allocate that number of channels but it is not guaranteed to succeed. Sets the sound volume for all sounds.
This section describes all identifiers related to the ingame documentation reference. Adds a new section to the ingame documentation. Adds a new identifier documentation to the last added section. An identifier represents a command or variable. The new identifier The name may contain spaces to create a "multipart" identifier documentation that can be used to describe a complex argument as a single pseudo identifier, look at the examples. Adds a new argument documentation to the last added identifier. An argument represents either a command argument or a variable value. The last argument of an identifier can be flagged as variable-length to indicate that it represents an unknown number of arguments. Adds a new documentation remark to the last added identifier. Adds an example to the last added identifier. Adds a new documentation reference to an identifier. The new reference is added to the last added identifier documentation. Outputs a list of yet undocumented identifiers (commands,variables, etc) If the one argument is omitted, only the builtin identifiers will be listed. Therefore specify the argument other identifiers like aliases should be included too. Note that the list also includes identifiers that contain the substrings "TODO" or "UNDONE" in their documentation. Outputs a list of identifier documentations that do not match any existing identifier. Multipart identifiers are not included in this list, see 'docident'. Searches the ingame docs for identifier documentations matching the specified search string. The name, description and remarks are included in the search. Writes out a base XML documentation reference containing templates for the builtin identifiers. The generated reference is written to "config/autogenerated_base_reference.xml" by default. The three arguments can be changed later on in the generated XML document.
This section lists commands used by the client that communicate to the server. Most are used for server administration. Also see the "mode" section and the "map" command which also communicate to the server. If the server was run with -n1 and -n2 arguments (prefix and suffix of descriptive title) a serveradmin can set a user-defined server description with this command, if it wasn't this command results in "invalid vote". This title will only stay until the next map is loaded. If, for example, the server was run with -n"Fred's Server" -n1"Fred's " -n2" Server", then you could call "/serverdesc [pWn4g3 TOSOK]" and it would show up as ""Fred's pWn4g3 TOSOK Server" in the serverbrowser. Modded servers announcement of features. See source/src/server.cpp [Line 2926ff. "case SV_EXTENSION:"] Adds a new category in the serverbrowser favourites. Add new categories to your autoexec.cfg, check favourites.cfg for examples. List all registered serverbrowser favourites categories Hide favourites icons in serverbrowser. Hide favourites tag column in serverbrowser Hide server IP and port in serverbrowser. Select ascending of descending sort order in serverbrowser. Sort official maps over custom maps in serverbrowser. Show 'minutes remaining' in serverbrowser. Show player names in serverbrowser. Show only servers of one favourites category in serverbrowser. Show only servers with the correct protocol in serverbrowser. Show 'weights' in serverbrowser. 'weights' are the sort criteria with the highest priority. Favourites categories can change the weights. Use 'showweights' to debug problems with serverbrowser sorting. Search a nickname (or -part) on all servers. Sets automated team assignment. Temporary ban of the specified player from the server. Temporary ban duration is fixed at 20 minutes. Calls a vote on the server. This command is wrapped by aliases for better usability and is used to action votes such as ban, kick, etc. See config/admin.cfg for actual uses. Forces the specified player to join the enemy team. Gives admin state to the specified player. Requires admin state. The admin will lose his admin state after successfully issuing this command. Kicks the specified player from the server. Sets the mastermode for the server. If the mastermode is set to 'private', no more clients can join the server. Default is 'open' which allows anyone to join the server. Removes all temporary bans from the server. Temporary bans are normally automatically removed after 20 minutes. Sends a map to the server. During coop edit, the current map gets saved to file and sent to the server. Other players can use 'getmap' to download it. When not in edit mode, the map will not be saved. The new map will be used, when the next game on that map starts on the server. Deletes a map from the current server. Claims or drops admin status. Failed logins result in an auto kick. The admin is granted the right to kick, ban, remove bans, set autoteam, set shuffleteam, change server description (if enabled), change map, change mastermode, force team, change mode, record demos, stop demos and clear demo(s) - All without needing votes from other users. If the admin votes on any (other players) call, his vote is final. In the scoreboard, the admin will be shown as a red colour.
Starts a map with the mode "Co-op edit" See the co-op edit section in page 4 of the map editing guide for more information. Starts a map with the mode "Capture the Flag" Starts a map with the mode "Deathmatch" Starts a map with the mode "Hunt the Flag" Starts a map with the mode "Keep the Flag" Starts a map with the mode "Last Man Standing" Starts a map with the mode "Last Swiss Standing" Sets the gameplay mode to N for the next map loaded. You will need to define mode before loading the map or it will stay as the last mode played. Starts a map with the mode "One shot, One kill" Starts a map with the mode "Pistol Frenzy" Starts a map with the mode "Team Deathmatch" Starts a map with the mode "Team Keep the Flag" Starts a map with the mode "Team One Shot, One Kill" Starts a map with the mode "Team Survivor" Starts a map with the mode "Hunt the Flag". Some players prefer the name "VIP" for this mode.
All the below commands are used specifically in map configuration files. Some of these commands can also be used without the need of a map configuration file. translates (= moves) the model Isolates the given context. This disables access from this context to identifiers located in other contexts, also it removes all aliases created in this context once the running context changes secure this configuration for the rest of the game Sets the fog distance. You can do this for tweaking the visual effect of the fog, or if you are on a slow machine, setting the fog to a low value can also be a very effective way to increase fps (if you are geometry limited). Try out different values on big maps / maps which give you low fps. It is also good for aesthetic features of maps especially when combined with "fogcolour". Sets the fog and clearing colour. Binds a texture to be used if a slot couldn't be loaded with a given textures path. Binds the texture indicated in the filename to the texture slot of any textures that aren't found. The path is given exactly as with the texture-command, if it is omitted (or can't be loaded) the default is used. The default is located in packages/misc/notexture.jpg (not in packages/textures - where custom ones must reside!) Loads a skymap for a map. The available skymaps reside in packages/textures/skymaps/.. To select a skymap you need to use the full path from "packages/" but only up to the underscore "_" in the filename. Registers a mapmodel that can be placed in maps. A mapmodel registered with this command can be placed in a map using the 'newent mapmodel' command. The bounding box is an invisible force surrounding the model, allowing players to collide against it, instead of walking through the mapmodel. For more information about this command, read mapediting5.xml. Example: mapmodel 4 2 4 0 "modelname" This mapmodel has a bounding box of 8x8x2 in size (X/Y/Z) and by default hovers 4 units above ground. Resets the mapmodel slots/indices to 0 for the subsequent "mapmodel" commands. Each subsequent mapmodel command increases it again. See config/default_map_settings.cfg for an example. Defines a mapsound. Registers the sound as a map-specific sound. These map-specific sounds may currently only be used with "sound" entities within a map. The first map sound registered in a map has slot/index number 0 and increases afterwards. Resets the mapsound slots/indices to 0 for the subsequent "mapsound" commands. Each subsequent mapsound command increases it again. See config/default_map_settings.cfg for an example. Shadow yaw specifies the angle at which shadow stencils are drawn on a map. When specifying shadowyaw, remember that the default angle is 45 degrees. The example below would make the shadows appear at 90 degrees (45 degrees more to the left). Binds a texture to the current texture slot. Binds the texture indicated in the filename to the current texture slot and increments the slot number. Sets the texture slots/indicies to 0 for the subsequent "texture" commands. Each subsequent texture command increases it again. See config/default_map_settings.cfg for an example. Determines the water colour in a map. You must define all 3 values, otherwise this command may not work correctly (use "1" as a placeholder if needed).
This section describes identifiers that are not documented yet, but you may try to help us there. TODO: Description Find what media the map depends on, this is used for mediapack providers. find client number (cn) find player name At what char does the definition proceed? An alias used for i18n. Translateable text should be marked [(_ "this is the EN-us variant of the text")]. save an image of the entire radar-overview of the map. switch the font in which the menu is displayed a menuitem that loads a map, displays the title and the preview or a default image TODO: Description TODO: Description TODO: Description TODO: Description TODO: Description TODO: Description 0: none, 1: switch to primary?, 2: switch to nades?-before-switch to primary? TODO do you reall want to quit? TODO colour of CN column in scoreboard show the blood-spat overlay when receiving damage? if overlay of blood-spat, at what blending (transparency) level? if overlay of blood-spat, use which factor if overlay of blood-spat, at what speed does it fade TODO TODO TODO TODO TODO TODO TODO TODO TODO variants of ordering CN first or not in scoreboard TODO use monspacefont to render the scoreboard? or the default one? TODO TODO -1: 2x2 : 0 : 1: x0.5 : 2: x0.25 : 3: x0.125 TODO TODO change at what position to truncate the map title string shows the settings of edithide (sparklies) hides the list of entity types you set. pass 1 for light, 2 for spawn, or use "playerstart". pass light or 1, playerstart or 2. Call [setedithide 1 10] to just hide all lights and mapmodels. Or [setedithide [3 4 5 6 7 8 9 12 13]] for all the clips, ammo, nades, health, helmet, armour, akimbo, ladder, and flag. Reversly just use [1 2 10 11 13 14 15 16] to hide light, spawn, mapmodel, ladder, sound, clip, plclip. Only shown entity types are potential 'closest entity'. hides all but the single entity type you give. pass 1 for light, 2 for spawn, or use [playerstart]. Just run [seteditshow model] and see just the model entities. The other entity types are ignored as closestentity too. other call forms may use the numerical item type