TrieSetCell • запазва интежер в даден ключ

Библиотеката съдържа 17 natives и 0 forwards и 0 stocks.
Аватар
OciXCrom
Извън линия
Администратор
Администратор
Мнения: 7206
Регистриран на: 06 Окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 117 пъти
Получена благодарност: 1295 пъти
Обратна връзка:

TrieSetCell • запазва интежер в даден ключ

Мнение от OciXCrom » 12 Окт 2016, 21:38

celltrie.incTrieSetCell(Trie:handle, const key[], any:value, bool:replace = true)

Trie:handle: съхранител на указателя
key[]: ключ (стринг) в който да бъде запазен интежерът
any:value: интежерът, който може да бъде цяло число, плаващо число, булев и прочие
bool:replace: дали функцията ще замени предишната стойност в случай, че има такава

Връща: 1 ако операцията е била успешна, в противен случай 0.
Чрез тази функция можете да запазите даден интежер в указател.

Примерен плъгин №1: Запазване на броя на убийства на играча до края на картата, тоест убийствата му няма да се рестартират ако напусне сървъра и отново се завърне. С командата amx_resetkills ще бъдат рестартирани всички убийства, включителни и тези, които са били запазени в указателя.

Код за потвърждение: Избери целия код

#include <amxmodx>
#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)
    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, 1))
        return PLUGIN_HANDLED
        
    TrieClear(g_tFrags)
    client_print(0, print_chat, "* All kills have been reset.")
    return PLUGIN_HANDLED
}

Обратно към “celltrie.inc”

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 6 госта