AMX Mod 0.9.9 - LINUX - STEAM ============================================================================= I. Installation II. Commands III. Writing Plugins IV. Compiling plugins V. Settings VI. Troubleshooting, FAQ VII. Changelog For more indepth setup and instructions for AMX go here: http://amxmod.net/docs/ I. Installation ============================================================================= You *must* have Metamod 1.17 or higher installed to use this plugin. "$moddir" is your Mod directory, f.e. "cstrike" if you run Counter-Strike. 1. Download MetaMod from http://www.metamod.org and install it following its instructions. NOTE: This package comes with MetaMod 1.17.1. If you don't have MetaMod yet, just rename the file $moddir/addons/metamod/sample_plugins.ini to plugins.ini. Otherwise, merge sample_plugins.ini with your plugins.ini. You can also overwrite addons/metamod/dlls/metamod_i386.so with a more recent or customized version. Just to make sure, after installation, you should get: $moddir/addons/metamod/dlls/metamod_i386.so $moddir/addons/metamod/plugins.ini In $moddir/liblist.gam file instead of: gamedll_linux "dlls/cs_i386.so" You should have: gamedll_linux "addons/metamod/dlls/metamod_i386.so" 2. Unzip this file to $moddir with directory structure. You should get: $moddir/addons/amx/dlls/amx_mm_i586.so $moddir/addons/amx/modules/fun_mm_i586.so $moddir/addons/amx/modules/csstats_mm_i586.so $moddir/addons/amx/modules/mysql_i586.so $moddir/addons/amx/examples/source/default/*.sma $moddir/addons/amx/examples/include/*.inc $moddir/addons/amx/logs/... $moddir/addons/amx/config/plugins.ini $moddir/addons/amx/config/modules.ini $moddir/addons/amx/plugins/*.amx $moddir/addons/amx/... 3. Open "addons/metamod/plugins.ini" and make sure it contains (line with ; char is a comment): ; AMX Mod linux addons/amx/dlls/amx_mm_i586.so You might have to declare some AMX modules as well if you want to use them. NOTE: AMX Mod beta versions 0.9.7 and 0.9.8 tried to save you from declaring your modules in MetaMod. AMX Mod 0.9.9 comes back to the previous 0.9.3 system: your modules have to be declared both in MetaMod's plugins.ini and in AMX's modules.ini (this does not concern AMX-only modules like MySQL, GeoIP, MThread, ...). 4. Open "addons/amx/modules.ini" and add these lines (if not already exist there): ; More script functions for AMX Mod fun_mm_i586.so ; Counter-Strike Statistics (only if you use stats) csstats_mm_i586.so ; MySQL access (only if you run plugins to use with that) mysql_i586.so 5. Make sure you have AMX scripts files under "addons/amx/plugins" path. They have to be declared in addons/amx/config/plugins.ini. You can also override plugins list filename by setting amx_plugins localinfo as a HLDS parameter. (f.e. +localinfo amx_plugins "addons/amx/plugins.ini") NOTES: . You can remove CS Stats from modules.ini unless you run Counter-Strike with AMX Statistic Plugins . MetaMod can use "addons/metamod/plugins.ini" or "metamod.ini" file to specify its plugins. If you don't have any then create one or rename provided sample_plugins.ini to plugins.ini II. Commands ============================================================================= To see the list of all available commands for AMX Mod, type "amx" in the server console. With these commands you can check version of AMX, list all cvars and server commands registered by plugins; pause, unpause plugins; display status and additional info about plugins and modules. If none of them works or you get an error message then you haven't installed AMX properly. III. Writing Plugins ============================================================================= For Small basics read: http://www.compuphase.com/smalldoc.pdf To learn about AMX Mod script functions (natives) go to "addons/amx/examples/include" path and read contents of all files with "inc" extension. A good idea is reading code of scriptis published on AMX web site: http://amxmod.net/amx-plugins.php Scripting in AMX Mod is the same as it is in AdminMod. However plugins from first won't run under second and vice versa. IV. Compiling plugins ============================================================================= Enter to "addons/amx/examples" path where you will find files "sc.exe" for win32 and "sc" for linux. These are compilers for AMX scripts. To compile your script (files with "sma" extension), put it into "addons/amx/examples" directory and run proper compiler passing the name of your script filename as an argument (for win32 you may run "compile.bat" and under linux "compile" to get all files with "sma" extension compiled in "addons/amx/examples/compiled" directory). Plugins compiled under win32 work on linux and vice versa. V. Settings ============================================================================= AMX has several options which allow you to run the same program on multiple sessions. To achieve it you have to run your dedicated server with additional parameters in command line. Here is a list with short description: amx_basedir - By default set to "addons/amx". This localinfo is used by scripts written in Small to get location of their configuration files. amx_logdir - By default set to "addons/amx/logs". Describes folder where logs send by log_to_file native are stored. Note that a directory must be created by a system user. amx_modules - By default set to "addons/amx/config/modules.ini". Position of a file with list of AMX modules to load. Note that some modules require to be linked also by metamod (these which are related to game modification) (a safe way to identify them: their name contains '_mm'). amx_plugins - By default set to "addons/amx/config/plugins.ini". Describes a file with list of AMX plugins to load. Compiled plugins must be in the same folder where the file is placed. amx_usejit - By default set to "config". Sets when plugins have to be used with the JIT (Just-In-Time compiler, introduced in v0.9.9, allowing 10+ times faster plugin execution). This can take three values: 'never', 'config' and 'always'. 'never' will run all the plugins with the (old) (slow) interpreter, 'always' will run them all with the JIT, and 'config' (which is the default, right?) will let you specify 'nojit' right after any plugin filename in addons/amx/config/plugins.ini if you don't want it to be run by the JIT. amx_vault - By default set to "addons/amx/config/vault.ini". This is the location of the file where vault data are stored. csstats_score - By default set to "addons/amx/plugins/csstats.amx". This is the location of the file by which a score is evaluated. csstats - By default set to "addons/amx/modules/csstats.dat". This is the name of the file where rank is stored in a binary form. All these settings above should be put in a command line with +localinfo in front. For example: ./hlds_run -game cstrike +localinfo amx_logdir "addons/amx/logs_27016" There is also other anotherpossibility to configure AMX. You have to create a file i.e. "addons/amx/config.ini" and put there settings: ; Configuration file for AMX amx_basedir addons/amx amx_logdir addons/amx/logs amx_modules addons/amx/config/modules.ini amx_plugins addons/amx/config/plugins.ini amx_vault addons/amx/config/vault.ini csstats_score addons/amx/plugins/csstats.amx csstats addons/amx/modules/csstats.dat Now you can run a server with: +localinfo amx_cfg "addons/amx/config/config.ini" VI. Troubleshooting, FAQ ============================================================================= The best place to ask a question and get an answer is to go to the amxmod.net forum. However before posting any questions make sure that an answer is not already posted, use Search engine of forum. Here is a bunch of most common questions. Q: I get "[AMX] Function not found (name "xxx") (plugin "xxx")" and a plugin name given in this message is not loaded properly. A: This is because you have not installed properly modules, which extends functionality of AMX. Type 'amx modules' and 'meta list' to get a list of modules you run. Q: I've switched from AMX 0.9.3 to AMX 0.9.9 and whenever I start up the server it just doesn't load a map but exits with "Couldn't find "AMX_Query" (file "xxx")" message. A: This is because AMX 0.9.9 has new interface for modules. You need to upgrate your old modules (VexdUM, Fun, Warcraft 3 etc.) to newer. Fun, MySQL, and CSStats are already included in AMX 0.9.9 package, as well as the third-party module VexdUM. Q: How do I add a new admin account? A: Enter to "addons/amx/users.ini" and read carefully comments and examples posted below. Example account looks like this: "My Name" "my_password" "abcdefghijklmnopqrstu" "a" Where first parameter can be autid, name or ip, second is a password which have to be set in config file of a user, third parameter is an access and last parameter are flags. Two last parameteres are briefly described in comments of users.ini file. Make sure that in front of account line there is no ; char. Q: What are most important changes since AMX 0.9.3 about which should I know? A: o File admin.cfg has been changed to amx.cfg o There is no more amx_admin command, accounts are stored in "users.ini". o Native log_to_file() needs only filename, path is auto added which is set by "amx_logdir" localinfo. o This documentation has been udpated, read it again :) o There are serveral settings to support few servers run on the same machine. Read "Settings" section for vars to set. There are also some stock functions in "amxmisc.inc" file. o The get_user_wonid() native has been removed. o AMX has builded in log events, so it can catch "round start", "round end" and serveral other logged messages. o There is new client_authorized() forward function which has been provided to support steamid. o You shouldn't use old plugins from AMX 0.9.3. These which are in default package should be upgraded and rest from contributors should be recompiled. Q: What should I treat as authid/steamid? A: Enter to game as player and type in your console "status". You will get a respond with some details about you and few other currently connected players. Your authid/steamid should look for example like "STEAM_0:0:1234" or "STEAM_0:1:2323". For listenserver it will be "STEAM_IS_LOOPBACK". This value you should put in first field of an admin account in "addons/amx/users.ini". Q: Where can I find more details about plugins? A: Read comments and a content of plugin_init function in a plugin source. Also the useful commands are: amx_help - Lists all commands available for an admin account. With this command you get an answer of how to configure stats, pause/unpause plugins and use admin commands. amx cmds - This should be typed in a server console. It lists all commands registered by plugins with theirs access flags. amx cvars - This should be typed in a server console. It lists all cvars registered by plugins. Q: I have more question, where can I ask them? A: Ask in "Bugs & Troubleshooting" section of amxmod.net forum. But make sure that an answers is not already given in sticked posts. VII. Changelog ============================================================================= AMX 0.9.9 BETA ----------------------------------------------------------------------------- Core: o added the Just-In-Time (JIT) Compiler for Windows and Linux; this allows plugins to be executed 10+ times faster (can be disabled globally or for specific plugins) This is thanks to the NASM port (used for both Windows and Linux versions) by G.W.M. Vissers from Eternal-Lands.com :) o added the multilingual support: each player can have AMX displaying messages in a different language (currently supported in the default plugins: English, French -- feel free to add more), see the Documentation for more details o upgraded Compuphase's SmallC core to v2.6: it is recommended to recompile all your plugins with the new compiler (not compulsory though) o reverted back to 0.9.3's modules management: they have to be declared both in MetaMod and AMX again o new interface version for modules (those compiled before will not work): - now modules can know if a plugin is paused (and the use of this feature is highly recommended for those implementing forwards) - modules using AMX_RAISEERROR will have to #define MODULE_NAME, so that AMX can be more verbose when run-time errors occur - one more parameter must be added to LOAD_AMXSCRIPT calls (1: try to use JIT, 0: don't) o fixed the use of the 'amx_basedir' localinfo (now AMX can really be run from another directory than addons/amx) o fixed CSStats not returning weapon names on first map Directories: o config files (*.ini, *.cfg, *.txt) have moved from addons/amx to addons/amx/config (including plugins.ini) o modules (*.dll, *.so) have moved from addons/amx/dlls to addons/amx/modules (now only AMX is in addons/amx/dlls) Notes: - CSStats' data file csstats.dat has moved to amx/modules as well - you don't have to specify the path anymore in modules.ini Provided binaries: o added MetaMod to the default package with a sample plugins.ini file o added one third-party module to the default package: Vexd 0.9.9 (disabled by default) (plugins using this one must be recompiled) Plugins: o fixed scrollmsg and imessage plugins so that %hostname% works correctly with Steam servers o added StatsX, an improvement by XAD from the previous stats plugin (which has been removed) o added MapConfig, allowing to have custom map config files o default plugin 'admincmd' (Admin Commands) do not provide amx_banid and amx_banip anymore, now amx_ban can ban users (by AuthID or IP), AuthIDs and IPs itself o rearranged the plugins sources directory structure Configuration: o added csstats info into amx.cfg for rank tracking and resetting o added more examples, info and recommendations into users.ini o enabled popular csstats features by default in stats.ini: - say /statsme, /rank, /top15, /stats, /hp - show attackers, victims, killer, killer hp&ap - show stats at end of map (do not manually edit: use 'amx_statscfg' or 'amx_statscfgmenu') o added URL for DoD XMod into modules.ini o added note for disabling plugins into plugins.ini o disabled welcomemsg.amx by default for Steam version in plugins.ini Documentation: o added the HTML documentation, also available on the website AMX 0.9.8 Pre-Alpha ----------------------------------------------------------------------------- o Updated to support new metamod interface [OLO] o Fixed the restriction menu bug [XAD] AMX 0.9.7 BETA ----------------------------------------------------------------------------- o added support for listenservers, all you need is "loopback" "" "abcdefghijkmnopqrstu" "de" entry in users.ini file o added read_datanum() native function o added CS_DeathMsg event which fixes last damage issue o added amx_csay command; you can now specify if you want to show names with hud messages (to set in plugin sources) o added forward client_authorized() called when a client get valid steam id o added formating to MOTD window for top15, statsme and rank o made adminslots, admin, admin_mysql using client_authorized() o removed support for amx_real_res_slots (for HLSW) o rebuilded adminslots, fixed hide slots issue; now there is only one cvar - amx_reservation (see plugin comments for more details) o modules used by AMX don't have to be put in the metamod/plugins.ini file anymore o made that stats in rank are not saved if get_score returns cellmin o made read_data() to return values in a requested format (should help in debugging since all values can be returned as string) o made that on a module error a server exits with a proper message o improved commands handling, now high number of commands/AMX plugins shouldn't affect a server overload o fixed force_unmodified() for files different from "wav" and "mdl" o fixed crashes caused by missing plugins with left entries in plugins.ini o fixed that register_cvar() didn't set an initial string for a cvar o fixed weapon restriction plugin (now can block buy commands in CS 1.6) o removed get_user_wonid() native function o for custom rank's points calculation (by default: kills - deaths) you must set "csstats_score" localinfo (f.e. to "addons/amx/csstats.amx") AMX 0.9.6 BETA ----------------------------------------------------------------------------- o fixed entry in "amxmisc.inc" file about a command access o fixed admin access when an account was set for an IP o fixed cancel vote report in admin vote plugin o fixed say /hp and killer displaying in stats plugin o brought back old compiler and initializing local variables by default o improved compile plugins script for linux o fixed parsing names containing '<' and '>' chars with parse_loguser(...) AMX 0.9.5 BETA ----------------------------------------------------------------------------- o fixed reserved slots, also not used are hidden now o fixed boundary checks o fixed pause( ... ) and unpause( ... ) which crash on unknown plugin name o fixed pause plugins plugin o added stock functions to "amxmisc.inc" and new constants to "amxconst.inc" . get_basedir( ... ) . build_path( ... ) . show_activity( ... ) . get_logfile( ... ) o admin command "amx_plugin" is changed to "amx_pausecfg" o added "amx_banid", "amx_banip" and changed "amx_ban" o fixed admin logging when name is changed o by default compiler doesn't initialize local variables to zero (option can be turned on with -z flag) o general rewrite/tweak for all default plugins o server commands "amx cmds" and "amx cvars" give now more detailed info o admin must now have all flags of command to gain an access to it o added amx_logdir localinfo which specifies logging directory for log_to_file(...) (default plugins has been updated to obey that setting) o 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) o modified admin, admin_mysql and slots reservation plugins to work also on CS 1.6 (you have to edit source first) o extended functionality of file_size(...) native o 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(...) o 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 o added some stats to Stats plugin . most damage . most kills . team score . rank info AMX 0.9.4 BETA ----------------------------------------------------------------------------- o fixed that stats are not shown if you survive a round o fixed get_user_money(...) under linux in fun module o fixed issue with amx_nextmap when mp_chattime was set to 0 o plugin nextmap chooser uses now maps.ini as configuration file o admin_mysql.amx is now a seperate plugin (disable admin.amx) o name admin.cfg is changed to amx.cfg o admin accounts are moved to users.ini (there is no amx_admin command) o logd and udp modules are no more in default package o moved changelog.txt to readme.txt o replaced adminmenu.amx (amx_menu cmd) with several menus (amxmodmenu cmd) o changed nextmap plugin to obey mapcycle (you can still use the old style) o in register_menuid(...) you can specify if a menu from outside plugin can be grabed by a menu command (fixes serveral problems with voting) o added weaponstats2, latency and time logging to stats logging plugin o added amx_cancelvote command (removes all tasks with 99889988 id) o added "say @ ..." commands to adminchat plugin (CM like) o changed amx_ppause command to main amx_plugin (with several options) o added two new flags for set_task(...) o added cvar csstats_maxsize (by default set to 3500) which resets stats when number of entries is reached o combined console and menu version of restrict weapons plugin o fixed bug in fun module with give_item(...) (thx EJ) o added amx_statscfg and amx_statscfgmenu (affects menu front end) commands to stats configuration plugin o 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) o 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 0.9.3 BETA ----------------------------------------------------------------------------- o fixed imessage plugin which spamed the server with hudmessages when amx_freq_imessage was set to 0 o fixed pausing first plugin when "amx pause" was called from server console o 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 o added get last bullet hit to get_user_origin(...) (added by Mike Cao) o added format_args(...) native which formats arguments of function to one string o cvar csstats_rank sets mode of ranking: 0 by nick, 1 by authid and 2 by ip o improved Pause Plugins plugin (added amx_ppause and amx_pausemenu cmds.) o added Stats Settings plugin for better server managment (use amx_statscfg command from that plugin to enable proper stats) o made amx_psay command to be HLSW tool compatible o added native functions: . is_user_hltv( ... ) . is_linux_server() . is_dedicated_server() . read_dir( ... ) . read_logdata( ... ) . read_logargc() . read_logargv( ... ) . parse_loguser( ... ) . register_logevent( ... ) o added forward function plugin_log() called on log message o you can now specify connecting port in mysql module (added by BigDog) o fixed stats plugin which could not display all players in top15 list o made admin base plugin to check user access on name change o added random direction of slaping in user_slap(...) native AMX 0.9.2 BETA ----------------------------------------------------------------------------- o added inconsistent file checking for sounds and models to AMX o improved searching for target in admin commands o removed timeleft/nextmap flood exploit (changed order in plugins.ini) o fixed bug with gathering information from user at last slot o added cvar csstats_reset to reset stats on map change o fixed issue with get_user_team(...) in DOD o fixed option under flag "f" in get_players(...) o fixed option under flag "k" in find_player(...) o improved scrolling messaging (no overflows) o fixed bug when task was self-removing during execution o moved logs to new folder and changed theirs format (edited plugins are: admin, adminchat, admincmd, adminslots, adminvote, mapextend) o new plugin: information messages (see admin.cfg for more details) o fixed issue in mapextend plugin when on server were no players o added more cvars settings to admin.cfg from default plugins o fixed admin slots plugin and added new option to it o fixed timeleft plugin to not hang up during counting down o reduced frequency of notifing by fun module o added notifing for health, armor and frags changes o new native functions: . set_cvar_flags(const cvar[], flags) . get_cvar_flags(const cvar[]) . remove_cvar_flags(const cvar[], flags = -1) o new natives for strings: . strtolower(string[]) - converts string to lower case . strtoupper(string[]) - converts string to upper case o combined AMX with MetaSmall so there is only AMX Mod o Strings, files and floats modules has been moved to AMX Mod code o 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 o made admin commands to accept also '#userid' as target o amx_ban command works now also on LAN servers o changed cfg in menu.cfg to perform an action on player by '#userid' o amx_nextmap and amx_timeleft now are visible in server status o added amx_show_activity cvar to admincmd plugin and adminvote o compiled AMX with newest metamod 1.14 (so it works with CS 1.6) o removed execution of amx_vote results o added to fun module (only for Counter-Strike): . get_user_money(...) . set_user_money(...) o replaced mapextend plugin with more powerful mapchooser plugin (configuration for that plugin is in admin.cfg) o added to csstats module . get_user_wrstats(...) o changed name of function get_user_lstats(...) to get_user_rstats(...) (however old still remains for backward comaptibility) o added some constants to amxconst.inc file o added amx_unban command to admincmd plugin o fixed issue in adminmenu when there were diff. access flags set for cvars and server commands o fixed fun module to reset rendering on client respawn AMX 0.8.4 BETA ----------------------------------------------------------------------------- o moved 19 natives, like give_item(...), set_user_rendering(...) or set_user_godmode(...), to seperate "fun" module o added localinfo for metasmall which specifies metasmall.ini (+localinfo ms_metasmall metasmall.ini) o removed "Fixed" module from default package o changed localinfo amx_plugins and localinfo csstats to be specified only by filename and not by full path o added csstats.amx plugin by which you can rank players in top15 o fixed issue with lenght protection on replace native in string module o fixed issue with get_clcmd(...) when flag was set to 0 o you can now specify if modules for metasmall have to be loaded only once or initialized on every map change o moved operations on files to seperate module for metasmall o new flags for function get_players(...): . "f" - match with part of name. . "g" - ignore case sensitivity. o added new functions for metasmall engine: . build_pathname . get_modname . print_console o in function get_user_time(...) you may now specify playing time without connection idle o function get_playersnum(...) can now also count connecting players o new native functions . is_user_connecting(...) . get_srvcmd(...) . console_print(,...) . console_cmd(...) . register_concmd(...) . get_concmd(...) . get_srvcmdsnum(...) . get_flags(...) o added new include file amxmisc.inc o made mysql module to not open new connection each time if such already exists but return just its id to use with sql natives o fixed reset stats on player connection issue in CSStats module o fixed get_pluginsnum() function o added "amx cmds" command, displaying server commands registered by plugins o made registered server commands case insensitive o 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 0.7.3 BETA ----------------------------------------------------------------------------- o made menus to be mod independent o added "amx cvars" command, displaying CVars registered by plugins o fixed bug in string module with native add(...) o changed way of dealing with no MetaSmall (plugins are just unloaded from MetaMod with some info) in AMXMod and CSStats modules o fixed crash on calling get_clcmd for command with empty description o 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 o added localinfo csstats to specify stats data file : +localinfo csstats addons/metasmall/csstats.dat o fixed server crash when using plugin_end o fixed native remove_task (sometimes not removing tasks properly) o 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) o plugins adminchat, admincmd and adminvote can accept WONIDs o fixed a syntax error in menu.cfg AMX 0.7 BETA ----------------------------------------------------------------------------- o added MetaSmall 0.1 engine and modules : . string . fixed . float . mysql o changed AMX to be both a MetaMod plugin and MetaSmall module o 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 :-) o 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) o new flag in function find_player(...): . "l" - ignores case sensitivity o fixed natives headers in amxmod.inc : . get_stats(index,stats[8],bodyhits[8],name[],len) . get_statsnum() AMX 0.6.1 BETA ----------------------------------------------------------------------------- o fixed linux cvar & float issues that broke many things in 0.6 o removed avlist plugin o added menu.cfg file for adminmenu plugin o fixed admin_sql plugin when mysql query couldn't be performed AMX 0.6 BETA ----------------------------------------------------------------------------- o added forward plugin_end(), which is called just before plugin unloading o added formatting in functions like format(dest[],len,text[],...) o added native log_to_file(file[]) o added native get_user_deaths(index) o 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]) o 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) o native get_user_team(index, team[]="", len=0) now returns team index from mod o native get_user_attacker(index,...) also returns hit body part o changed parameters list in native set_task(...) (plugins must be recompiled) o changed parameters list in native read_file(...) (plugins must be recompiled) o copied values will always be trunked to given length (the error won't be raised as it is now) o last parameter in native get_user_ip(index,ip,[],len,p=0) sets if ip address have to be get with port or not o if there is less arg to set from parse the error is not raised AMX 0.5 BETA ----------------------------------------------------------------------------- o added native get_user_weapon(index,&clip,&ammo) o added native get_user_ammo(index,weapon,&clip,&ammo) o added native get_weaponname(weapon_id,weapon[],iLen) o added native get_user_listening(iReceiver,iSender) o added native set_user_listening(iReceiver,iSender,bListen) o added native get_clcmdsnum( flags = 0) o added native get_clcmd(index, flag, cmd[], iLen1, info[], iLen2) o added native replace(text[],iLen,what[],with[]) o added native get_maxplayers() o added native get_pluginsnum() o added native get_plugin(index,filename[], iLen1, name[],iLen2, version[],iLen3,author[],iLen4,status[],iLen5) o changed native get_user_weapons(index,iwpns[32],&inum) o changed native get_user_attacker(index,&weapon) o changed native get_user_origin(index,origin[3],mode=0) o changed ADMIN flags in amxconst.inc o replaced user_glow with set_user_rendering (more options to set) o now when bots join to server, natives client_connect and client_putinserver are called o native show_motd can now display files (send filename as body parameter) o fixed bug in checking length of parameter in read_data o fixed bug in parse native where arguments weren't 0 terminated o added many administrating/managment scripts AMX 0.4 BETA ----------------------------------------------------------------------------- o added native engclient_print(id,type,message[], ...) o added native parse(text[], ... ) o added native random_float(Float:a,Float:b) o added native random_num(a,b) o added native remove_quotes(text[]) o added native file_exists(text[]) o added native delete_file(text[]) o added native read_file(file[],line,text[],iLen) o added native write_file(file[],text[],line=-1) o added native get_user_attacker(index) o added native Float:get_user_aiming(index,&id,&body,dist=9999) o added native cvar_exists(cvarname[]) o added native register_plugin(title[],version[],author[]) o added server command: amx < command > [ parameter ] o changed parameters for native function user_glow(...) o changed parameters for native function register_cvar(...) o changed flags for find_player(...) o changed flags for get_players(...) o fixed set_cvar_string/float natives o removed native check_user_flags(...) o more examples of plugins: admin, mirror damage, last man