API Changes SC 5.23 - baso88/SC_AngelScript GitHub Wiki
Changelog
Added SetClassificationSpecial() to fix issue with AngelScript crashing the game due to SetClassification()'s default arguments not being handled when registered.
Class CString now has a Tokenize() function to mirror the C++ strtok() function:
Includes thread safety.
This is designed to be used in a while loop.
Each call to Tokenize() with your delimiter character/string will return the next token string.
If your delimiter isn't found the whole string is returned as the only token.
Once the last token has been returned constant NO_MORE_TOKENS will be returned and resets the position of the last token to zero.
Corrected method documentation for GetWeaponsBlocked() in CBasePlayer, as it actually has a boolean return value.
Fixed a crash with SetClassification().
Fixed a regression for AS get/set methods due to a change in language behaviour.
Fixed incorrect logic for the ShouldGibMonster() method when used with player in scripts.
Function IRelationship() now has a second parameter bool fIgnoreNoTarget, default false. This can allow a relationship check to ignore a non-targetable flag to fetch a relationship based on the original class, as non-targetable typically forces a neutral relationship. (Enabled internally for healing, repairing, reviving, score board rival info masking, etc.)
New CVAR "plugin_list_file_persistent" to let the server decide if it will reload or persist loaded plug-ins across maps. (Default on.)
Player variable m_flMaxSpeed has been removed to remove conflicts with maps and game entities:
Direct speed set via pev.maxspeed will no longer work.
Function SetMaxSpeed() and GetMaxSpeed() sets/gets a player's base maximum speed.
Function SetMaxSpeedOverride() and GetMaxSpeedOverride() sets/gets a player's temporary maximum speed, with -1 removing this override (for set) or indicating no override is set (for get).
Server plug-ins can now be included/excluded on map by map basis by using keys in the plug-in list file for each plug-in:
CVAR "plugin_list_file_persistent" must be switched off otherwise the "as_reloadplugins" command must be called by the server.
Key "maps_included" to run a plug-in only on the maps specified.
Key "maps_excluded" to run a plug-in on all maps apart from the maps specified.
Multiple maps can be specified in either key by splitting them with a semi-colon ';' delimiter. (E.g. "svencoop1;osprey;stadium4".)
Do not use both "maps_included" and "maps_excluded" keys! (This won't crash, it just won't work at all.)
Updated AngelScript to 2.34.0.
Voice banning is now bridged through the game library instead of going to the engine directly to remove competition between scripts and the game library.