This plugin can serve other plugins by working as an engine to inform plugins of KeyValue changes to an entity. It can highly compress the amount of code for a plugin and can serve multiple plugins. If this plugin needs to be added for another plugin's functionality, this plugin should be added at the end of
plugins.ini. To author a plugin under this engine, kve.inc must be saved to
..\amxmodx\scripting\includes\
Code:
// entity_callback(const szValue[], entid, kvdid)
// worldspawn_callback(bKeyExists, const szValue[])
native register_keyvalue(szClassName[32], szKeyName[64], szFunction[32]);
Example:
Code:
#include <amxmodx>
#include <kve>
...
public plugin_precache()
{
register_keyvalue("worldspawn", "skyname", "handle_worldspawn_skyname");
register_keyvalue("game_score", "points", "handle_game_score_points");
}
public handle_worldspawn_skyname(bKeyExists, const szValue[])
{
...
}
public handle_game_score_points(const szValue[], entid, kvdid)
{
// Within here, you can change the key or value using fakemeta's set_kvd
...
}
...
Known Issues:
- Maps stored in a game's GCF do not get their worldspawn keyvalue events triggered. To fix this problem, simply extract all of the BSP files inside the game's GCF to the game's maps folder.
Plugins: