Home
AMX Mod X 0.16 Documentation Prev Page Prev Page
AMX Mod
About AMX Mod
Introduction
Features
Changelog
Upgrading
Upgrading from AMX Mod (Windows)
Upgrading from AMX Mod (Linux)
Installation
Windows Install
Linux Install
Configuration
Configuration Overview
General Configuration
Setting up Admins
Setting up MySQL
Setting up Maps
Setting up Menu
Setting up Plugins
Setting up Modules
Plugins
Default Plugins
Additional Plugins
Compiling Plugins
Modules
Default Modules
Additional Modules
Commands
Frequently Asked Questions (FAQ)
Changelog
Here is the complete list of changes:
AMX Mod X 0.16
  • amx.cfg is now amxx.cfg, in configs dir
  • New folder - custom, for custom configs from 3rd party plugins
  • Fixed conditional event bug in core.
  • Fixed engine get/set_offset_float
  • Fixed engine to have get/set_speak
  • Added jghg2 into engine (with jghg2.inc)
  • Fixed give_item for all mods
  • Fixed amx_plugins command
  • Fixed access levels being random
  • Fixed include files
  • Fixed cstrike having long native lengths
  • Fixed maxspeeds
  • Fixed call_think in engine
  • Added cstrike natives cs_get_weapon_ammo, cs_set_weapon_ammo
  • Cstrike now animates with cs_set_weapon_silen
  • localinfos are back (addons/amxx/core.ini too)
  • Plugins now use localinfo with get_basedir and get_configsdir
  • amx_version / amxmodx_version cvar fixed
  • get_modulesnum native fixed
  • reading from files with weird line breaks should work now
  • NOTE! Plugin writers should store their files in get_configsdir()
AMX Mod X 0.15
  • Fixed event related bugs such as incorrect timing and crashes.
  • Removed all std:: code and lstdc++ requirement.
  • Moved messaging functions back into core from ENGINE
  • Many documentation fixes
  • Added xtrafun support backwards support.
  • TEMPORARY - We are using the old SC 2.1 small compiler.
  • Removed .amx from logging plugin names.
  • Hardcoded directory names into core.
  • get_module also returns status.
  • Fixed logging crashes.
  • Removed get_user_wonid.
  • cs_set_user_vip and cs_get_user_vip fixed.
  • cs_set_user_deaths now updates scoreboard.
  • Fixed ENGINE memory leaks.
  • Fixed register_message argument functions.
  • Fixed controller and blending values.
  • Reduced set_view lag.
  • It is now possible to shoot and break func_breakables.
  • Removed fun cvars and engine cvars and amx_version cvar.
  • Removed FUN debug messages.
  • Added set_user_hitzones and get_user_hitzones.
  • Removed set_hitzones.
AMX Mod X 0.1
  • updated to new Small Abstract Machine and Small Compiler
  • added welcome message for Steam (replaces the default motd)
  • kicking/banning reason is displayed on target player
  • changed amx_ban, amx_banid and amx_banip command
  • mysql table is automatic created
  • mapchange obeys mp_chattime
  • updated in-game stats theme
  • fixed say @... and say_team @... under Natural-Selection
  • only admins can view amx_who
  • added Counter-Strike 1.6 maps to maps.ini
  • added native functions:
    • log_amx( ... )
    • is_module_loaded( ... )
    • get_module( ... )
    • get_modulesnum( ... )
    • is_plugin_loaded( ... )
    • callfunc_begin( ... )
    • callfunc_push_...( ... )
    • callfunc_end( ... )
  • added commands:
    • amx_reloadadmins
    • amx_plugins
    • amx_modules
  • moved some native functions to new Counter-Strike module and added functions:
    • cs_get_hostage_follow( ... )
    • cs_set_hostage_follow( ... )
    • cs_get_hostage_id( ... )
    • cs_get_user_backpackammo( ... )
    • cs_set_user_backpackammo( ... )
    • cs_get_user_defusekit( ... )
    • cs_set_user_defusekit( ... )
    • cs_get_user_inside_buyzone( ... )
    • cs_get_user_model( ... )
    • cs_set_user_model( ... )
    • cs_reset_user_model( ... )
    • cs_get_user_nvgoggles( ... )
    • cs_set_user_nvgoggles( ... )
    • cs_get_user_plant( ... )
    • cs_set_user_plant( ... )
    • cs_set_user_team( ... )
    • cs_get_user_vip( ... )
    • cs_set_user_vip( ... )
    • cs_get_weapon_burstmode( ... )
    • cs_set_weapon_burstmode( ... )
    • cs_get_weapon_silenced( ... )
    • cs_set_weapon_silenced( ... )
  • moved some native functions to new Engine module and added functions:
    • register_message( ... )
    • get_msg_...( ... )
    • set_msg_...( ... )
    • get_offset_...( ... )
    • set_offset...( ... )
    • precache_generic( ... )
    • entity_get_...( ... )
    • entity_set_...( ... )
    • create_entity( ... )
    • find_entity_...( ... )
    • call_think( ... )
    • is_valid_ent( ... )
    • entity_set_origin( ... )
    • entity_set_model( ... )
    • remove_entity( ... )
    • entity_count( ... )
    • fake_touch( ... )
    • DispatchKeyValue( ... )
    • DispatchSpawn( ... )
    • RadiusDamage( ... )
    • VelocityByAim( ... )
    • PointContents( ... )
    • trace_line( ... )
    • trace_normal( ... )
    • vector_to_angle( ... )
    • vector_length( ... )
    • vector_distance( ... )
    • get_grenade_id( ... )
    • halflife_time( ... )
    • set_lights( ... )
    • set_msg_block( ... )
    • get_msg_block( ... )
    • attach_view( ... )
    • set_view( ... )
    • pfn_touch( ... )
    • server_frame( ... )
    • client_kill( ... )
    • client_PreThink( ... )
    • client_PostThink( ... )
AMX Mod 0.9.7
  • added support for listenservers, all you need is "loopback" "" "abcdefghijkmnopqrstu" "de" entry in users.ini file
  • added read_datanum() native function
  • added CS_DeathMsg event which fixes last damage issue
  • added amx_csay command; you can now specify if you want to show names with hud messages (to set in plugin sources)
  • added forward client_authorized() called when a client get valid steam id
  • added formating to MOTD window for top15, statsme and rank
  • made adminslots, admin, admin_mysql using client_authorized()
  • removed support for amx_real_res_slots (for HLSW)
  • rebuilded adminslots, fixed hide slots issue; now there is only one cvar - amx_reservation (see plugin comments for more details)
  • modules used by AMX don't have to be put in the metamod/plugins.ini file anymore
  • made that stats in rank are not saved if get_score returns cellmin
  • made read_data() to return values in a requested format
    (should help in debugging since all values can be returned as string)
  • made that on a module error a server exits with a proper message
  • improved commands handling, now high number of commands/AMX plugins shouldn't affect a server overload
  • fixed force_unmodified() for files different from "wav" and "mdl"
  • fixed crashes caused by missing plugins with left entries in plugins.ini
  • fixed that register_cvar() didn't set an initial string for a cvar
  • fixed weapon restriction plugin (now can block buy commands in CS 1.6)
  • removed get_user_wonid() native function
  • for custom rank's points calculation (by default: kills - deaths) you must set "csstats_score" localinfo (f.e. to "addons/amx/csstats.amx")
AMX Mod 0.9.6
  • fixed entry in "amxmisc.inc" file about a command access
  • fixed admin access when an account was set for an IP
  • fixed cancel vote report in admin vote plugin
  • fixed say /hp and killer displaying in stats plugin
  • brought back old compiler and initializing local variables by default
  • improved compile plugins script for linux
  • fixed parsing names containing '<' and '>' chars with parse_loguser(...)
AMX Mod 0.9.5
  • fixed reserved slots, also not used are hidden now
  • fixed boundary checks
  • fixed pause( ... ) and unpause( ... ) which crash on unknown plugin name
  • fixed pause plugins plugin
  • added stock functions to "amxmisc.inc" and new constants to "amxconst.inc"
    • get_basedir( ... )
    • build_path( ... )
    • show_activity( ... )
    • get_logfile( ... )
  • admin command "amx_plugin" is changed to "amx_pausecfg"
  • added "amx_banid", "amx_banip" and changed "amx_ban"
  • fixed admin logging when name is changed
  • by default compiler doesn't initialize local variables to zero
    (option can be turned on with -z flag)
  • general rewrite/tweak for all default plugins
  • server commands "amx cmds" and "amx cvars" give now more detailed info
  • admin must now have all flags of command to gain an access to it
  • added amx_logdir localinfo which specifies logging directory for log_to_file(...) (default plugins has been updated to obey that setting)
  • added "amx_basedir" localinfo by which plugins know a path to configuration files (resolves problem with running the same AMX on different ports with different settings, accounts and plugins)
  • modified admin, admin_mysql and slots reservation plugins to work also on CS 1.6 (you have to edit source first)
  • extended functionality of file_size(...) native
  • added native functions to support public variables (introduced them with stats and stats configuration plugins)
    • xvar_exists( ... )
    • get_xvar_id( ... )
    • get_xvar_num( ... )
    • get_xvar_float( ... )
    • set_xvar_num( ... )
    • set_xvar_float( ... )
    • isalpha(...)
    • isdigit(...)
    • isalnum(...)
    • isspace(...)
  • added Miscellaneous Stats plugin for Counter-Strike which constains
    • multikill announcement
    • bomb events
    • killing streak
    • enemy remaining
    • round counter
    • italy bonus kill
    • knife kill
    • headshot kill
    • greanade kill
    • last man
    • double kill
    • player name
  • added some stats to Stats plugin
    • most damage
    • most kills
    • team score
    • rank info
AMX Mod 0.9.4
  • fixed that stats are not shown if you survive a round
  • fixed get_user_money(...) under linux in fun module
  • fixed issue with amx_nextmap when mp_chattime was set to 0
  • plugin nextmap chooser uses now maps.ini as configuration file
  • admin_mysql.amx is now a seperate plugin (disable admin.amx)
  • name admin.cfg is changed to amx.cfg
  • admin accounts are moved to users.ini (there is no amx_admin command)
  • logd and udp modules are no more in default package
  • moved changelog.txt to readme.txt
  • replaced adminmenu.amx (amx_menu cmd) with several menus (amxmodmenu cmd)
  • changed nextmap plugin to obey mapcycle (you can still use the old style)
  • in register_menuid(...) you can specify if a menu from outside plugin can be grabed by a menu command (fixes serveral problems with voting)
  • added weaponstats2, latency and time logging to stats logging plugin
  • added amx_cancelvote command (removes all tasks with 99889988 id)
  • added "say @ ..." commands to adminchat plugin (CM like)
  • changed amx_ppause command to main amx_plugin (with several options)
  • added two new flags for set_task(...)
  • added cvar csstats_maxsize (by default set to 3500) which resets stats when number of entries is reached
  • combined console and menu version of restrict weapons plugin
  • fixed bug in fun module with give_item(...) (thx EJ)
  • added amx_statscfg and amx_statscfgmenu (affects menu front end) commands to stats configuration plugin
  • moved amx_dpause and amx_addoption to the main commands amx_plugin and amx_statscfg (plugins which use one of these commands have to be edited)
  • added native functions:
    • format_time(...)
    • parse_time(...)
    • get_systime(...)
    • task_exists(...)
    • power(...)
    • sqroot(...)
    • time(...)
    • date(...)
    • tickcount(...)
    • vaultdata_exists(...)
    • get_vaultdata(...)
    • set_vaultdata(...)
    • remove_vaultdata(...)
AMX Mod 0.9.3
  • fixed imessage plugin which spamed the server with hudmessages when amx_freq_imessage was set to 0
  • fixed pausing first plugin when "amx pause" was called from server console
  • fixed format-string bug in log_message native function which could be used to gain a remote shell for people who have access to rcon
  • added get last bullet hit to get_user_origin(...) (added by Mike Cao)
  • added format_args(...) native which formats arguments of function to one string
  • cvar csstats_rank sets mode of ranking: 0 by nick, 1 by authid and 2 by ip
  • improved Pause Plugins plugin (added amx_ppause and amx_pausemenu cmds.)
  • added Stats Settings plugin for better server managment
    (use amx_statscfg command from that plugin to enable proper stats)
  • made amx_psay command to be HLSW tool compatible
  • added native functions:
    • is_user_hltv( ... )
    • is_linux_server()
    • is_dedicated_server()
    • read_dir( ... )
    • read_logdata( ... )
    • read_logargc()
    • read_logargv( ... )
    • parse_loguser( ... )
    • register_logevent( ... )
  • added forward function plugin_log() called on log message
  • you can now specify connecting port in mysql module (added by BigDog)
  • fixed stats plugin which could not display all players in top15 list
  • made admin base plugin to check user access on name change
  • added random direction of slaping in user_slap(...) native
AMX Mod 0.9.2
  • added inconsistent file checking for sounds and models to AMX
  • improved searching for target in admin commands
  • removed timeleft/nextmap flood exploit (changed order in plugins.ini)
  • fixed bug with gathering information from user at last slot
  • added cvar csstats_reset to reset stats on map change
  • fixed issue with get_user_team(...) in DOD
  • fixed option under flag "f" in get_players(...)
  • fixed option under flag "k" in find_player(...)
  • improved scrolling messaging (no overflows)
  • fixed bug when task was self-removing during execution
  • moved logs to new folder and changed theirs format
    (edited plugins are: admin, adminchat, admincmd, adminslots, adminvote, mapextend)
  • new plugin: information messages (see admin.cfg for more details)
  • fixed issue in mapextend plugin when on server were no players
  • added more cvars settings to admin.cfg from default plugins
  • fixed admin slots plugin and added new option to it
  • fixed timeleft plugin to not hang up during counting down
  • reduced frequency of notifing by fun module
  • added notifing for health, armor and frags changes
  • new native functions:
    • set_cvar_flags(const cvar[], flags)
    • get_cvar_flags(const cvar[])
    • remove_cvar_flags(const cvar[], flags = -1)
  • new natives for strings:
    • strtolower(string[]) - converts string to lower case
    • strtoupper(string[]) - converts string to upper case
  • combined AMX with MetaSmall so there is only AMX Mod
  • Strings, files and floats modules has been moved to AMX Mod code
  • plugin adminvote uses now cvar to set voting session, so other plugins can check if it is still in progress or when was the last vote
  • made admin commands to accept also '#userid' as target
  • amx_ban command works now also on LAN servers
  • changed cfg in menu.cfg to perform an action on player by '#userid'
  • amx_nextmap and amx_timeleft now are visible in server status
  • added amx_show_activity cvar to admincmd plugin and adminvote
  • compiled AMX with newest metamod 1.14 (so it works with CS 1.6)
  • removed execution of amx_vote results
  • added to fun module (only for Counter-Strike):
    • get_user_money(...)
    • set_user_money(...)
  • replaced mapextend plugin with more powerful mapchooser plugin
    (configuration for that plugin is in admin.cfg)
  • added to csstats module
    • get_user_wrstats(...)
  • changed name of function get_user_lstats(...) to get_user_rstats(...)
    (however old still remains for backward comaptibility)
  • added some constants to amxconst.inc file
  • added amx_unban command to admincmd plugin
  • fixed issue in adminmenu when there were diff. access flags set for cvars and server commands
  • fixed fun module to reset rendering on client respawn
AMX Mod 0.8.4
  • moved 19 natives, like give_item(...), set_user_rendering(...) or set_user_godmode(...), to seperate "fun" module
  • added localinfo for metasmall which specifies metasmall.ini (+localinfo ms_metasmall metasmall.ini)
  • removed "Fixed" module from default package
  • changed localinfo amx_plugins and localinfo csstats to be specified only by filename and not by full path
  • added csstats.amx plugin by which you can rank players in top15
  • fixed issue with lenght protection on replace native in string module
  • fixed issue with get_clcmd(...) when flag was set to 0
  • you can now specify if modules for metasmall have to be loaded only once or initialized on every map change
  • moved operations on files to seperate module for metasmall
  • new flags for function get_players(...):
    • "f" - match with part of name.
    • "g" - ignore case sensitivity.
  • added new functions for metasmall engine:
    • build_pathname
    • get_modname
    • print_console
  • in function get_user_time(...) you may now specify playing time without connection idle
  • function get_playersnum(...) can now also count connecting players
  • new native functions
    • is_user_connecting(...)
    • get_srvcmd(...)
    • console_print(,...)
    • console_cmd(...)
    • register_concmd(...)
    • get_concmd(...)
    • get_srvcmdsnum(...)
    • get_flags(...)
  • added new include file amxmisc.inc
  • made mysql module to not open new connection each time if such already exists but return just its id to use with sql natives
  • fixed reset stats on player connection issue in CSStats module
  • fixed get_pluginsnum() function
  • added "amx cmds" command, displaying server commands registered by plugins
  • made registered server commands case insensitive
  • many improvments and some fixes in default scripts:
    • stats: new cmds say /stats and say /statsme
    • adminvote: fixed bug with votes counting and changed keys
    • welcomemsg: added to default package
    • stats_logging: added to default package
    • adminhelp: added to default package
    • timeleft: timeleft and thetime is announced by voice
    • admincmd: added amx_who, amx_slap, amx_pause and amx_leave
    • adminchat: added server commands and improved amx_chat
    • admin: added amx_default_access
    • adminslots: rebuilded plugin
    • ppause: pause and unpause plugins on the fly
    • general clean up
  • NOTE: Due to changes in metasmall engine all previous dlls are incompatible, replace them with these in downloaded package.
AMX Mod 0.7.3
  • made menus to be mod independent
  • added "amx cvars" command, displaying CVars registered by plugins
  • fixed bug in string module with native add(...)
  • changed way of dealing with no MetaSmall (plugins are just unloaded from MetaMod with some info) in AMXMod and CSStats modules
  • fixed crash on calling get_clcmd for command with empty description
  • added localinfo amx_plugins where you can specify filename with plugins list to load on HLDS command line f.e. +localinfo amx_plugins addons/amx/plugins/plugins.ini
  • added localinfo csstats to specify stats data file :
    +localinfo csstats addons/metasmall/csstats.dat
  • fixed server crash when using plugin_end
  • fixed native remove_task (sometimes not removing tasks properly)
  • moved CS stats to a MetaMod plugin & MetaSmall module
    (has to be defined in addons/metamod/plugins.ini AND in addons/metasmall/modules.ini, like AMX)
  • plugins adminchat, admincmd and adminvote can accept WONIDs
  • fixed a syntax error in menu.cfg
AMX Mod 0.7
  • added MetaSmall 0.1 engine and modules :
    • string
    • fixed
    • float
    • mysql
  • changed AMX to be both a MetaMod plugin and MetaSmall module
  • changes and fixes in plugins :
    • adminslots : now kicks properly
    • adminvote : added amx_vote_delay cvar (min. time between votes)
    • mapextend : fixed divide by zero
    • admincmd : fixed amx_ban command
    • some other fixes :-)
  • added natives :
    • get_user_godmode(index)
    • set_user_noclip(index)
    • get_user_noclip(index)
    • get_user_wonid(index)
    • mysql_connect(host[],user[],pass[],dbname[],error[],maxlength)
  • new flag in function find_player(...) :
    • "l" - ignores case sensitivity
  • fixed natives headers in amxmod.inc :
    • get_stats(index,stats[8],bodyhits[8],name[],len)
    • get_statsnum()
AMX Mod 0.6.1
  • fixed linux cvar & float issues that broke many things in 0.6
  • removed avlist plugin
  • added menu.cfg file for adminmenu plugin
  • fixed admin_sql plugin when mysql query couldn't be performed
AMX Mod 0.6
  • added forward plugin_end(), which is called just before plugin unloading
  • added formatting in functions like format(dest[],len,text[],...)
  • added native log_to_file(file[])
  • added native get_user_deaths(index)
  • added stats natives :
    • get_user_wstats(index,wpnindex,stats[8],bodyhits[8])
    • get_user_stats(index,stats[8],bodyhits[8])
    • get_user_vstats(index,vic,stats[8],body[8],wpnname[]="",len=0)
    • get_user_astats(index,wpn,stats[8],body[8],wpnname[]="",len=0)
    • reset_user_wnstats(index)
    • get_stats(index,stats[8],bodyhits[8])
    • get_statsnum(index,stats[8],bodyhits[8])
  • added mysql support :
    • native sql_query(query[])
    • native sql_newquery(sql,query[])
    • native sql_nextrow(sql)
    • native sql_getfield(sql,fieldnum,dest[],maxlength)
    • native sql_free(sql)
  • native get_user_team(index, team[]="", len=0) now returns team index from mod
  • native get_user_attacker(index,...) also returns hit body part
  • changed parameters list in native set_task(...) (plugins must be recompiled)
  • changed parameters list in native read_file(...) (plugins must be recompiled)
  • copied values will always be trunked to given length (the error won't be raised as it is now)
  • last parameter in native get_user_ip(index,ip,[],len,p=0) sets if ip address have to be get with port or not
  • if there is less arg to set from parse the error is not raised
AMX Mod 0.5
  • added native get_user_weapon(index,&clip,&ammo)
  • added native get_user_ammo(index,weapon,&clip,&ammo)
  • added native get_weaponname(weapon_id,weapon[],iLen)
  • added native get_user_listening(iReceiver,iSender)
  • added native set_user_listening(iReceiver,iSender,bListen)
  • added native get_clcmdsnum( flags = 0 )
  • added native get_clcmd(index, flag, cmd[], iLen1, info[], iLen2)
  • added native replace(text[],iLen,what[],with[])
  • added native get_maxplayers()
  • added native get_pluginsnum()
  • added native get_plugin(index,filename[], iLen1, name[], iLen2, version[],iLen3,author[],iLen4,status[],iLen5)
  • changed native get_user_weapons(index,iwpns[32],&inum)
  • changed native get_user_attacker(index,&weapon)
  • changed native get_user_origin(index,origin[3],mode=0)
  • changed ADMIN flags in amxconst.inc
  • replaced user_glow with set_user_rendering (more options to set)
  • now when bots join to server, natives client_connect and client_putinserver are called
  • native show_motd can now display files (send filename as body parameter)
  • fixed bug in checking length of parameter in read_data
  • fixed bug in parse native where arguments weren't 0 terminated
  • added many administrating/managment scripts
AMX Mod 0.4
  • added native engclient_print(id,type,message[], ...)
  • added native parse(text[], ... )
  • added native random_float(Float:a,Float:b)
  • added native random_num(a,b)
  • added native remove_quotes(text[])
  • added native file_exists(text[])
  • added native delete_file(text[])
  • added native read_file(file[],line,text[],iLen)
  • added native write_file(file[],text[],line=-1)
  • added native get_user_attacker(index)
  • added native Float:get_user_aiming(index,&id,&body,dist=9999)
  • added native cvar_exists(cvarname[])
  • added native register_plugin(title[],version[],author[])
  • added server command: amx < command > [ parameter ]
  • changed parameters for native function user_glow(...)
  • changed parameters for native function register_cvar(...)
  • changed flags for find_player(...)
  • changed flags for get_players(...)
  • fixed set_cvar_string/float natives
  • removed native check_user_flags(...)
  • more examples of plugins: admin, mirror damage, last man
Browser Based Help. Published by chm2web software.