Skip to content

API Changes SC 5.23

KernCore edited this page Dec 25, 2020 · 2 revisions

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.
Clone this wiki locally