MapConfigX

Author: AdaskoMX

Simple syntax:

// comment
; comment

This is simply comments (ignored lines)

#include file.cfg

This will proccess rules from file.cfg Included file can contain the same syntax as is in here "file.cfg" will be searched only in current directory (addons/amxmodx/configs/mapconfig/)

#exit

Stop processing current file

Rules:

[ de_aztec]
// this lines will execute only on de_aztec map
[ de_* ]
// this lines will execute only on maps with "de_" prefix
[ *_dust ]
// this lines will execute only on maps with "_dust" postfix
[ *dust* ]
// this lines will execute only on maps containing "dust" in name
[ * ]
// this lines will be always executed
[ de_dust | de_aztec ]
// "|" char means "or" so
// this lines will execute only on "de_dust" and "de_aztec" maps
[ de_* & *_dust ]
// "&" char means "and" so
// this lines will execute only on maps with "de_" prefix and "_dust" postfix
[ /de_dust ]
// "/" char is negatory
// this lines will execute to all maps but "de_dust"
[ * ] Local
// this lines will be executed on all maps but only on listenserver
[ * ] Dedicated
// this lines will be executed on all maps but only on dedicated server

You can also put only "L" or "D" letter for dedicated, but don't mix them because it will have the same effect as without it. So if you really want to put here a whole word, then make sure that in your language it's not contains both of this letters

Advanced syntax:

@var ++
// increase value of "var" (server info named "var") by one
@var --
// decrease value of "var" by one
@var + 5
// increase value of "var" by 5
// can be also @var += 5
@var - 5
// decrease value of "var" by 5
// can be also @var -= 5
@var = 5
// set "var" value to 5

Rules:

[ @var < 5 ]
// will execute if "var" is less than "5"
[ @var > 5 ]
// will execute if "var" is greater than "5"
[ @var <= 5 ]
// will execute if "var" is less than or equal to "5"
[ @var >= 5 ]
// will execute if "var" is greater than or equal to "5"
[ @var = 5 ]
// will execute if "var" is equal to "5"
// can be also [ @var == 5 ]
[ @var != 5 ]
// will execute if "var" is not equal to "5"
// can be also [ @var <> 5 ]

Special vars:

@%H - hour
@%M - minutes
@%S - seconds
@%d - day
@%m - month
@%Y - year

or any other acceptable value of "format_time" cmd followed by "@"

@playersCount - average no. of players on previous map

Example:

[ de_* & @%H >= 20 & @%H < 23 & @playersCount > 5 ]
// cmds

This rule will match on all "de_" maps, but only if it's between 8 PM and 9 PM and average no. of players was greater than 5

Special syntax in "resources.ini" file:

generic file.txt

precaches file

sound file.wav

precaches file as sound

model file.mdl

precaches file as model

You can also don't add any of these commands. Then type will be chosed basing on extension

Special commands in "config.ini" file:

once command

Executes "command" only once on this map. Example:

once restart
// will restart server but only once

if you type just

restart

then server will be restarting all and over again

you can also change cvars with this command. If you type:

bh_enabled 0

and then in console you want to change it to 1 and then restart server:

rcon bh_enabled 1
rcon restart

then bh_enabled 0 from "config.ini" will be executed again and your change will not affect ... But if you enter:

once bh_enabled 0

in config.ini then you will be able to change this value