TrieCreate • създава указател

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

TrieCreate • създава указател

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

celltrie.incTrie:TrieCreate()

Връща: съхранител на указателя.
Указателите са подобни на масивите, като в тях можете да запазвате стойности под даден "ключ", който представлява стринг. Всеки ключ е уникален, тъй че не може да има повече от един запис в един и същ ключ. Всеки един указател трябва да бъде унищожен в края на плъгина, използвайки функцията TrieDestroy().

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

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

#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))
}

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

Кой е на линия

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