1.0.30 (15-Dec-2021)
- Added "l4d_hxstat_modes" ConVar - Turn on the plugin in these game modes, separate by commas (no spaces). (Empty = all).
- Some LogError() replaced by LogStackTrace() to be able track the rare case with incorrect SQL syntax error reported by Re:Creator.
- All common SQL callbacks are splitted to be able work with LogStackTrace(), since it is unfortunately 1-level deep only at the moment.
- All LogError() are screened with %s to be safe.
- Fixed some translation phrase names of error logger.
- New error logger system provides less performance, because of passing additional DataPack in SQL query. To disable it, set #define DEBUG_SQL to 0.
- Project is renamed into "DragoStats".
- Translation file is updated.
1.0.29 (05-Dec-2021)
- Fixed compilation warnings when compiled without vip_core.
1.0.28 (05-Dec-2021)
- Fixed compilation error.
1.0.27 (08-Jun-2021)
- Replaced favicon.ico
- Added reference to favicon in index.php file.
1.0.26 (25-Nov-2020)
- Removed unused debugging code.
- Some translation fixes.
1.0.25 (25-Nov-2020)
- Removed repeatable attempts to connect to MySQL database when initial connection failed, because this walkaround is useless (why it is useless and always fail?, - cannot fix connection during all 30 attempts every 3 sec., sm bug? I bet, my hoster doesn't switch off DB for whole 1,5 mins. There are no accidents in log file.)
- Added ability to display welcome (rank) message in chat / in center screen (by @weffer request):
* You can build very customized string on your own using constants from inc-file:
>> see hx_stats.phrases.txt file: phrases "Join_Rank_InChat" (for chat), "Join_Rank_InChatAll" (for all chat), "Join_Rank_InCenter" (for center screen).
>> see hx_stats.inc file: "AMOUNT_SOURCE_TYPE" enumeration.
* Added new ConVar "l4d_hxstat_rank_inchat" (default: 1) - Show rank in chat when player joined? (0 - No, 1 - Yes). See: 'Join_Rank_InChat' translation phrase.
* Added new ConVar "l4d_hxstat_rank_inchat_to_all" (default: 0) - Show rank in chat to all when some player joined? (0 - No, 1 - Yes). See: 'Join_Rank_InChatAll' translation phrase.
* Added new ConVar "l4d_hxstat_rank_incenter" (default: 0) - Show rank in the center screen when player joined? (0 - No, 1 - Yes). See: 'Join_Rank_InCenter' translation phrase
* Added new ConVar "l4d_hxstat_rank_inpanel" (default: 1) - Show rank in the panel when player joined? (0 - No, 1 - Yes)
* Added new ConVar "l4d_hxstat_rank_once" (default: 1) - Show rank (to himself) only once per player joined the server? (0 - No, 1 - Yes)
>> Note: to display any of above messages, ConVar "l4d_hxstat_rank_onstart" should be "1" !!!
- Added ConVar "l4d_hxstat_points_allow_negative". (default: 1). When set to "0" prevents points below zero (by @timonenluca request).
- Prevented calculation of penalty when player hurts himself (thanks to @Balloons for reporting).
- Player color functionality is removed from the core plugin (moved to a separate module/plugin).
- ConVar "l4d_hxstat_use_colors" is removed.
- inc file is updated:
* some arguments and enums are renamed to better clarify its purpose.
* new parameter value: "HX_COUNTING_ACTUAL". It is HX_COUNTING_START + HX_COUNTING_ROUND.
* added new Native for devs: "HX_IsClientRegistered" - Say whether client is registered and available for retrieving statistics points.
* added new Forward for devs: "HX_OnClientRegistered" - Called when the client is registered and become available for retrieving statistics points.
* added new source type: HX_PLACE_WEEK - to retrieve a player's place in the week statistics.
- l4d_native_usage_sample.sp (for devs) is updated.
1.0.24 (20-Nov-2020)
- Added compatibility with Versus (still, only survivor points are counted).
- Fixed false positive calculation of friendly-fire penalty points.
1.0.23 (19-Nov-2020)
- Added command !topweek
- Version history is moved from source code to a separate file "ChangeLog.txt".
1.0.22 (23-Sep-2020)
- Increased buffer size to prevent SQL syntax error during initial database creation.
1.0.21 (09-May-2020)
- Some safe checks added.
1.0.20 (20-Apr-2020)
- Added multiply factor for all points based on game difficulty. New ConVars:
* l4d_hxstat_factor_easy - def.: 0.5 - All points are multiply by this value when game difficulty is 'Easy'
* l4d_hxstat_factor_normal - def.: 1.0 - All points are multiply by this value when game difficulty is 'Normal'
* l4d_hxstat_factor_hard - def.: 2.0 - All points are multiply by this value when game difficulty is 'Hard'
* l4d_hxstat_factor_expert - def.: 4.0 - All points are multiply by this value when game difficulty is 'Impossible'
Note: penalty points are vice versa - they are devided by the values defined in above ConVars.
1.0.22 (23-Sep-2020)
- Increased buffer size to prevent SQL syntax error during initial database creation.
1.0.21 (09-May-2020)
- Some safe checks added.
1.0.20 (20-Apr-2020)
- Added multiply factor for all points based on game difficulty. New ConVars:
* l4d_hxstat_factor_easy - def.: 0.5 - All points are multiply by this value when game difficulty is 'Easy'
* l4d_hxstat_factor_normal - def.: 1.0 - All points are multiply by this value when game difficulty is 'Normal'
* l4d_hxstat_factor_hard - def.: 2.0 - All points are multiply by this value when game difficulty is 'Hard'
* l4d_hxstat_factor_expert - def.: 4.0 - All points are multiply by this value when game difficulty is 'Impossible'
Note: penalty points are vice versa - they are devided by the values defined in above ConVars.
1.0.19 (16-Apr-2020)
- VIP status is now not issued to players hidden by l4d_hxstat_hide_flag ConVar.
- Player rank is now displayed without counting hidden players.
1.0.18 (15-Apr-2020)
- Fixed table is created under incorrect name during first installation (bug in previous update).
- Prevented counting headshot points for common infected.
1.0.17 (12-Apr-2020)
- Added safe plugin unloading.
- Added ConVar "l4d_hxstat_enable" - Enable counting points? (0 - No, 1 - Yes).
- Fixed client index 0 errors.
- Code is optimized, events are now hooked if only they used according to ConVar settings. These also support dynamic hook / unhook.
1.0.16 (09-Apr-2020)
- Database engine is upgraded to InnoDB to support transactions (more safe queries).
- hx_stats.log is now contains only last week / last month top, so not to confuse you.
- Added "sm_hx_unhide" command - Unhides all admins statistics. Useful to populate data after changing l4d_hxstat_hide_flag ConVar since db is not update offline admins.
- Added new stat points (thanks to Re:Creator for request):
* "Tank solo killed". New ConVar "l4d_hxstat_points_tank_solo". Default: 10.
* "Headshots" stat points. New ConVar "l4d_hxstat_points_headshot". Default: 1.
- Fixed chat messages are not coloring according to translation phrases color tags.
- Added "sm_rang" command, alias to "sm_rank".
- Some code simplification / optimization, "sm_hx_upgrade" is improved.
Web-site:
- Added ability to configure (in system/hx_config.php):
* Number of players displayed in top of site (see "limit" parameter).
* Table name, in case you need separate statistics for your several servers (see "table" parameter). In such case, ensure you also changed new ConVars "l4d_hxstat_table", "l4d_hxstat_table_backup".
* Added comments for better explanation for each option.
- Added ConVars:
* "l4d_hxstat_table" - Preferred table name in database. It should be different for other server if you don't want to share points.
* "l4d_hxstat_table_backup" - Preferred table name in database for your backups.
- Web-site files for L4D1 and L4D2 are merged now. Defaulting to L4D2. For L4D1 you must setup "L4D2" parameter to 0 (in system/hx_config.php).
- Web-site is translated into Russian. Defaulted to English. To switch to Russian, setup "language" parameter to "ru" (in system/hx_config.php).
Upgrade details:
- DataBase Table version is now 2.4. Use "
sm_hx_upgrade" to upgrade.
- Don't forget overwrite
hx_stats.phrases.txt file!
- Don't forget overwrite web-site file "
index.php" and also manually update "s
ystem/hx_config.php"!
- If you have L4D1, setup "
L4D2" parameter to 0 (in system/hx_config.php).
- To update ConVar config file "cfg/sourcemod/
l4d_hx_stats.cfg" you can:
* use "Cvar Configs Updater": https://forums.alliedmods.net/showthread.php?t=188756
* or manually add new convars there
* or remove config file, change map, setup preferred ConVars again.
1.0.14
- fixed "l4d_hxstat_version" ConVar flag.
- added ability to create database backups automatically each week:
* ConVar "l4d_hxstat_week_backup" - def.: 0 - Enable full database backup every week? (1 - Yes, 0 - No)
* ConVar "l4d_hxstat_week_backup_rewrite" - def.: 0 - Should week backup be overwritten? (1 - Yes, 0 - No: each time create new table with YYYY-MM-DD in name)
- "sm_hx_backup" command is extended to hold 2 optional arguments: <0/1 - overwrite> <table_name>
1.0.13 (03-Feb-2020)
- most commands are now supported to be run from RCON.
- "sm_hx_logpoints" is automatically executed now before zeroing points for week / month.
- "sm_hx_backup", "sm_hx_revert", "sm_hx_movepoints", "sm_hx_delplayer", "sm_hx_delold" are returned now a message whether execution successfull.
- added translation of hints and return messages for all service commands.
- Database service user is now hidden upon installation (thanks to TheSolenOne for reporting).
- Added new ConVars group: l4d_hxstat_menu_best_* - to disable individual menu items "Best of week / month ..."
To update: don't forget overwrite hx_stats.phrases.txt file!
1.0.12 (02-Feb-2020)
- fixed "sm_hx_showpoints" and "sm_hx_movepoints" (was broken by v1.0.7 update).
1.0.11 (24-Jan-2020)
- inc file is corrected to prevent tag mismatch.
- enforced "utf-8" codepage for web-site (thanks to TheSolenOne for reporting).
To update: re-upload index.php file to your web-site.
1.0.10 (09-Jan-2020)
- Fixed error in log and disabled 'win' message for client with permanent VIP status (thanks to ur5efj for report).
- VIP_GROUP define is replaced by new "l4d_hxstat_vip_group" ConVar (for easy update).
- BASE_MENU define is replaced by new "l4d_hxstat_base_menu" ConVar (for easy update).
1.0.9 (03-Jan-2020)
- Potential fix: to prevent SQL query cache cause move week points twice (I hope).
- Disabled DB disconnection on round end.
1.0.8 (26-Dec-2019)
- Fixed chat messages are displayed even if points are disabled.
1.0.7 (24-Dec-2019)
- Fixed double-save points on player disconnect caused no points are saved at all (in L4D2).
- Fixed 'Witch' and 'Commons' points are not counted (in L4D2).
- 'Description of points' screen is splitted into 2 parts (for L4D2), because they doesn't fit in one.
- "Rank of other player" is now displayed in correct (requestor) language.
- Added command: "sm_hx_delplayer" <SteamId> - delete statistics of this player completely.
- Added command: "sm_hx_delold" <days> - delete players who didn't join for more than <days> ago (it is recommnded to use with `sm_hx_backup` first)
- Added ability to disable some fields in statistics (you just need to set '0' points in ConVars where you want).
- Added ability to hide some players from statistics (requested by Re:Creator).
See "l4d_hxstat_hide_flag" ConVar. Offline players are not supported. They should join the server at least once to populate database.
* DataBase Table version is now 2.3. Use "sm_hx_upgrade" to upgrade.
* Web-site files (index.php) are updated!
1.0.6 (16-Dec-2019)
- Some SQL queries simplification
- Updated SQL queries to follow standard
1.0.5 (15-Dec-2019)
- Fixed hardcoded string not allowing to use "sm_hx_upgrade".
1.0.4 (14-Dec-2019)
- Added penalties:
* Survivor death
* Survivor Incap
* Friendly-fire
- Added ability to see "Rank of other player"
* DataBase Table version is now 2.2. Use "sm_hx_upgrade" to upgrade.
1.0.3 (01-Dec-2019)
- Added "sm_hx_showpoints" to view points of specific player by name / userid / steamid.
- Added "sm_hx_movepoints" to move points to another account (useful, if steam id is changed).
- "sm_topweek" renamed to "sm_hx_logpoints" and include top of last week and last month.
- Added auto-reconnect to database (max 20 attempts each 3 sec.) in case initial connection cannot be established for some reason.
1.0.2 (29-Nov-2019)
- Added integration with VIP Core by R1KO (added new ConVars).
- Finished functionality on shifting stats: week -> last week, month -> last month.
- Added ability to dump top of week to log, e.g. for your news site (sm_topweek).
- Added place of player.
- Added "HX_GetPoints" native.
- Added "sm_hx_upgrade" command to upgrade database table version.
- Added "sm_hx_backup" command to make a backup just in case.
- "sm_addsqlcreate" renamed to "sm_hx_sqlcreate" and now is not required while installation (leave just in case).
- All SQL queries are now Multi-threaded and no more spike the server.
- Statistics is now correctly re-loaded on plugin late load.
- Fixed: statistics is not saved when map is forcibly changed (by vote).
- User name escaping algorithm is replaced by SQL_EscapeString to be less false positive.
- Prevented counting game time points for !afk clients.
- Fixed "l4d_hxstat_points_time" ConVar is not worked.
* DataBase Table version is now 2.1. Use "sm_hx_upgrade" to upgrade.
1.0.1 (16-Nov-2019)
- Added L4D1 support
- added convars to choose min rank for blocking callvote and idle
- added convar to enable/disable coloring players by stat
- added convar to control min. interval allowed to call !top again
- Added convars for adjusting points of each type of killed infected, separately options for: 1. Killing 50 common, 2. Spent 30 minutes in game.
- Added convar for disabling printing the points in chat
- Added convars to choose whether you want to show player's rank on round start and delay
- Added !stat command to open main menu
- Added top of month / top of week (including previous month / week).
- Added menu with points description
- Added translation support
- Added translation into Russian
- Added library "hx_stats" registration
- Added native "HX_AddPoints" for developers
- client id replaced by UserId in timers
- Some code and SQL optimizations.
- Added protection and walkaround if Steam background is not responding
- !rank total score is now calculated more accurately
- Fixed empty name in database when new player connected
- Fixed bug when stats are not saved at all on player disconnect when none commons are killed
PHP update:
- Added L4d1 version of html/php scripts
- links are opened in the same window now
* DataBase Table version is now 2.0.