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

Библиотеката съдържа 17 natives и 0 forwards и 0 stocks.
Отговори
Потребителски аватар

Автор на темата
OciXCrom TM
Администратор
Администратор
Мнения: 5284
Регистриран: 06 окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 73 пъти
Получена благодарност: 541 пъти
Години: 21
Контакти:

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

Мнение от OciXCrom TM » 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”

Кой е на линия

Потребители, разглеждащи този форум: Няма регистрирани потребители и 1 гост