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

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

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

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

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

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

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

Примерен плъгин №1: Съобщение в сървърната конзола ако играчът е променил ИП адреса си чрез влизане и излизане в сървъра.

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

#include <amxmodx>

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

new Trie:g_tIPs

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

public plugin_end()
    TrieDestroy(g_tIPs)
    
public client_putinserver(id)
{
    new szName[32], szNewIP[32], szOldIP[32]
    get_user_name(id, szName, charsmax(szName))
    get_user_ip(id, szNewIP, charsmax(szNewIP), 1)
    
    if(TrieKeyExists(g_tIPs, szName))
    {
        TrieGetString(g_tIPs, szName, szOldIP, charsmax(szOldIP))
        
        if(!equal(szNewIP, szOldIP))
            log_amx("* Igrachut %s promeni IP adresa si ot %s na %s", szName, szOldIP, szNewIP)
    }
}

public client_disconnect(id)
{
    new szName[32], szIP[32]
    get_user_name(id, szName, charsmax(szName))
    get_user_ip(id, szIP, charsmax(szIP), 1)
    TrieSetString(g_tIPs, szName, szIP)
}

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

Кой е на линия

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