TrieGetCell • намира интежер запазаен в указателя

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

TrieGetCell • намира интежер запазаен в указателя

Мнение от OciXCrom » 14 Окт 2016, 21:06

celltrie.incbool:TrieGetCell(Trie:handle, const key[], &any:value)

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

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

Примерен плъгин №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, "-- restartira vsichki ubiistva")
    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, "* Vsichki ubiistva bqha restartirani.")
    return PLUGIN_HANDLED
} 

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

Кой е на линия

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