AMX Mod X 1.76 Changes
AMX Mod X 1.76 will be a small feature release and contains mostly bug fixes. This changelog is brought to you by Batman and ramen.
Contents
New Plugin File Features
Per-Map Plugin Files
You can now have per-map plugin configuration files. AMX Mod X will automatically load any plugins listed in files having the following name: configs/maps/plugins-<map>.ini. Thus, de_dust specific plugins will be loaded from configs/maps/plugins-de_dust.ini.
Map-specific plugin files are parsed after the main plugins.ini is parsed, and after all secondary plugins-*.ini files are parsed in the configs folder. This means that a map-specific plugin listing inherits all settings above itself.
Disabling Plugins
A second feature was introduced to let users disable plugins per map. In any plugins-*.ini file, you may now add a "disabled" flag to a plugin name. This works like the "debug" flag. Example:
gaben.amxx disabled
This will block the plugin from being loaded from any other configuration file. So if plugins-de_dust.ini has the example line above, gaben.amxx will not be loaded from any other plugins file.
Full Changelog
Core Changes
New Features
- The compiler has been heavily optimized and will now compile plugins much faster.
- Request am43012: You can now specify per-map plugins files. For example, you can list de_dust only plugins in configs/maps/plugins-de_dust.ini.
- You can now specify a new "disabled" option after plugin names in plugins.ini files. This will prevent the plugin from being loaded in any config file, and is useful for disabling plugins in map-specific plugin files.
- Request am42871: Source file name is shown in the binary logs when the plugin is in the debug mode.
Bug Fixes
- Fixed a bug where secondary plugin files would not autoload modules.
- Fixed a serious corruption bug in callfunc_push_intrf, callfunc_push_floatrf, and callfunc_push_str. Strings or data passed with these methods could be easily overwritten internally.
- Fixed am41317: ExecuteForward() string parameters would be trashed on future internal string calls.
- Fixed am41777: time.txt was not included in the installer.
- Fixed am42213: "amx_logs" was incorrectly listed as "amx_logsdir" in core.ini.
Scripting Changes
Additions
- Request am41585: Enhanced functionality of glb_pStringBase with global_get() and added a new return type to pev().
- Request am41295: Added CZ model types to the CsInternalModel enumeration.
- Request am42697: Added SQL_GetQueryString() to find the query string of a query handle.
- Request am42810: Added callfunc_push_array() to push an array through a callfunc.
- Request am40967: set_fail_state() now logs that the plugin is failed.
- Request am41375: cs_set_weapon_silen() now has an additional parameter to toggle whether silencer animation is shown.
- Added amxx_setpl_curweap() to the native exports table.
Bug Fixes
- Fixed am42916: get_user_aiming did not work on Linux.
- Fixed am40963: GeoIP did not strip ports from IP addresses.
- Fixed am41483: xs.inc did not have double-include prevention.
- Fixed am43313: plugin_log() did not actually block log messages on returning PLUGIN_HANDLED.
- Fixed am42097: Hooking FM_ServerDeactivate did not work.
- Fixed am42307: nvault_open() did not return -1 on failure.
- Fixed am42383: SQL_ThreadQuery() was not working when called from plugin_end().
Plugin Changes
Additions
- Request am41367: stats_logging.sma now logs extra weapons from CSX.
Bug Fixes
- Fixed am42013: TFC team menu did allow for changing from blue team. Also, all plmenu plugins showed team change messages in the language of the admin.
- Fixed am41768: statssounds.sma for TS had the wrong plugin name.
- Fixed am41563: TFC plmenu.sma had the wrong team names.