TrieGetArray • намира масив запазен в указателя

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

TrieGetArray • намира масив запазен в указателя

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

celltrie.incbool:TrieGetArray(Trie:handle, const key[], any:output[], outputsize, &size = 0)

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

Връща: 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 регистрирани и 3 госта