Примерен плъгин №1: Запазване на броя на убийства на играча до края на картата, тоест убийствата му няма да се рестартират ако напусне сървъра и отново се завърне. С командата amx_resetkills ще бъдат рестартирани убийствата на даден играч.
Код за потвърждение: Избери целия код
#include <amxmodx>
#include <amxmisc>
#include <fun>
#define PLUGIN_NAME "TrieCreate"
#define PLUGIN_VERSION "1.0"
#define PLUGIN_AUTHOR "OciXCrom"
new Trie:g_tFrags
public plugin_init()
{
register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR)
register_concmd("amx_resetkills", "cmdReset", ADMIN_RCON, "<nick|#userid>")
g_tFrags = TrieCreate()
}
public plugin_end()
TrieDestroy(g_tFrags)
public client_putinserver(id)
{
new szName[32]
get_user_name(id, szName, charsmax(szName))
if(TrieKeyExists(g_tFrags, szName))
{
new iFrags
TrieGetCell(g_tFrags, szName, iFrags)
set_user_frags(id, iFrags)
}
}
public client_disconnect(id)
{
new szName[32]
get_user_name(id, szName, charsmax(szName))
TrieSetCell(g_tFrags, szName, get_user_frags(id))
}
public cmdReset(id, iLevel, iCid)
{
if(!cmd_access(id, iLevel, iCid, 2))
return PLUGIN_HANDLED
new szPlayer[32], bool:blFound
read_argv(1, szPlayer, charsmax(szPlayer))
if(TrieKeyExists(g_tFrags, szPlayer))
{
blFound = true
TrieDeleteKey(g_tFrags, szPlayer)
}
new iPlayer = find_player("k", szPlayer)
if(iPlayer)
{
blFound = true
set_user_frags(iPlayer, 0)
}
if(blFound)
client_print(0, print_chat, "* Restartirani sa ubiistvata na igracha %s", szPlayer)
return PLUGIN_HANDLED
}