/***
* Abilities2_AttributeRegistered
* Called when attribute has been registered
***/
forward void Abilities2_AttributeRegistered(const char[] attribute, int index, int type);
/***
* Abilities2_AttributeRegistered
* Called when attribute has been registered
* Return Plugin_Stop to prevert
***/
forward Action Abilities2_OnCheckEnable(int client, int index);
// Returns attribute's index or -1 if not found
native int Abilities2_FindAttributeByName(const char[] attribute);
// Stores attribute's name to buffer
// Throws error if attribute's index is invalid
native void Abilities2_GetAttributeName(int id, char[] buffer, int max);
// Throws error if client isnt connected or client is bot
// Throws error if attribute's index is invalid
native any Abilities2_GetClientAttributeEx(int client, int id);
/***
* Types:
* 0 - PERCENT, displays as +100*F%
* 1 - FLOAT, displays as +F
* 2 - INT, displays as +N
***/
// Throws error if attribute's index is invalid
native int Abilities2_GetAttributeType(int id);
// Returns attributes count
native int Abilities2_AttributeCount();
// Recalculate or refresh attributes blocks
native void Abilities2_UpdatePlayer(int client, bool recalculate = false);