TrieKeyExists • проверява дали ключът съществува в указателя

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

TrieKeyExists • проверява дали ключът съществува в указателя

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

celltrie.incbool:TrieKeyExists(Trie:handle, const key[]);

Trie:handle: съхранител на указателя
key[]: ключ

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

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

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

#include <amxmodx>
#include <cstrike>
#include <fun>

#define PLUGIN_NAME "TrieSetArray"
#define PLUGIN_VERSION "1.0"
#define PLUGIN_AUTHOR "OciXCrom"

enum _:PlayerData
{
    Frags,
    Deaths
}

new Trie:g_tPlayerData

public plugin_init()
{
    register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR)
    g_tPlayerData = TrieCreate()
}

public plugin_end()
    TrieDestroy(g_tPlayerData)
    
public client_putinserver(id)
{
    new szName[32]
    get_user_name(id, szName, charsmax(szName))
    
    if(TrieKeyExists(g_tPlayerData, szName))
    {
        new eData[PlayerData]
        TrieGetArray(g_tPlayerData, szName, eData, sizeof(eData))
        set_user_frags(id, eData[Frags])
        cs_set_user_deaths(id, eData[Deaths])
    }
}

public client_disconnect(id)
{
    new szName[32]
    get_user_name(id, szName, charsmax(szName))
    
    new eData[PlayerData]
    eData[Frags] = get_user_frags(id)
    eData[Deaths] = get_user_deaths(id)
    
    TrieSetArray(g_tPlayerData, szName, eData, sizeof(eData))
}   

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

Кой е на линия

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