If you are having issues with the tags not beign enforced and changing on the round end make sure you have updated to the latest version of sourcemod and metamod
The version v2 introduced some breaking changes on how the config is parsed, now the hextags-order.txt file is not required in any way, the tags are sorted in the order they have in the cfg,
for example in this config even if you are in the Admin group you'd get the Default tag, because is it the first one to be found,
to fix this behavior simply put the "@Admin" tag before the "Default" one.
Another breaking change in how the admin flags are parsed, now is not possible to put more than one tag in one selector (eg. "abc" is not valid anymore), to make that work is it needed to prepend an &, admin flags of only one char will still work.
Natives & Forward
Spoiler
PHP Code:
typedef SelectorCallback = function bool(int client, const char[] selector);
/**
* Returns an HexTags client tag.
*
* @param Client Index.
* @TagType Tag type.
* @buffer String to store the tag in.
* @maxlength Maximum size of string buffer.
*
* @error Invalid client index, or not connected.
*/
native void HexTags_GetClientTag(int client, eTags TagType, char[] buffer, int maxlength);
/**
* Sets an HexTags client tag.
* This is resetted everytime that "HexTags_OnTagsUpdated" is called.
*
* @param Client Index.
* @TagType Tag type.
* @Tag New client tag.
*
* @error Invalid client index, or not connected.
*/
native void HexTags_SetClientTag(int client, eTags TagType, char[] Tag);
/**
* Update the client tags to its default (from config).
*
* @param Client Index.
*
* @error Invalid client index, or not connected.
*/
native void HexTags_ResetClientTag(int client);
/**
* Called when the client tags gets updated.
*
* @param client Client Index.
*/
forward void HexTags_OnTagsUpdated(int client);
/**
* Called when the message is processed.
*
* @param client Client Index.
* @param name Player's name.
* @param message Player's message.
*
* @return Plugin_Continue to pass or Plugin_Handled or higher to block the processing.
*/
forward Action HexTags_OnMessagePreProcess(int client, char name[MAXLENGTH_NAME], char message[MAXLENGTH_MESSAGE]);
/**
* Called when the message is processed.
*
* @param client Client Index.
* @param name Player's name.
* @param message Player's message.
* @return Plugin_Continue to pass the event without edits, Plugin_Changed
* To pass edits or Plugin_Handled or greter to stop the event.
*/
forward Action HexTags_OnMessageProcess(int client, char name[MAXLENGTH_NAME], char message[MAXLENGTH_MESSAGE]);
/**
* Called after the message is processed.
*
* @param client Client Index.
* @param name Player's name.
* @param message Player's message.
*
* @noreturn
*/
forward void HexTags_OnMessageProcessed(int client, const char[] name, const char[] message);
/**
* Adds a Custom Selector callback.
* The callback is fired every time a selector is parsed and does not match any other selector.
*
* @return True on success, false otherwise.
*/
native bool HexTags_AddCustomSelector(SelectorCallback callback);
/**
* Removes a Custom Selector hook.
*
* @return True on success, false otherwise.
*/
native bool HexTags_RemoveCustomSelector(SelectorCallback callback);
Thanks to: shanapu, lukas, for help with scripting & testing!
L 12/18/2017 - 11:39:55: [SM] Exception reported: Invalid time format or buffer too small
L 12/18/2017 - 11:39:55: [SM] Blaming: hextags.smx
L 12/18/2017 - 11:39:55: [SM] Call stack trace:
L 12/18/2017 - 11:39:55: [SM] [0] FormatTime
L 12/18/2017 - 11:39:55: [SM] [1] Line 148, d:\my profile\documents\hextags\addons\sourcemod\scripting\hextags.sp::CP_OnChatMessage
L 12/18/2017 - 11:39:55: [SM] [3] Call_Finish
L 12/18/2017 - 11:39:55: [SM] [4] Line 302, E:\Google Drive\Projects\Sourcemod\Public\Chat-Processor\scripting\chat-processor.sp::OnSayText2
L 12/18/2017 - 11:39:55: [SM] Exception reported: Invalid time format or buffer too small
L 12/18/2017 - 11:39:55: [SM] Blaming: hextags.smx
L 12/18/2017 - 11:39:55: [SM] Call stack trace:
L 12/18/2017 - 11:39:55: [SM] [0] FormatTime
L 12/18/2017 - 11:39:55: [SM] [1] Line 148, d:\my profile\documents\hextags\addons\sourcemod\scripting\hextags.sp::CP_OnChatMessage
L 12/18/2017 - 11:39:55: [SM] [3] Call_Finish
L 12/18/2017 - 11:39:55: [SM] [4] Line 302, E:\Google Drive\Projects\Sourcemod\Public\Chat-Processor\scripting\chat-processor.sp::OnSayText2
And plugin does not works :S
Post your hextags.cfg
This usually happens if your tags/colors are longer than 128 chars.