new vault_keynum[512]; new num_keynum = fvault_get_keynum(g_vault, vault_keynum);
nie zrozumiałeś dokumentacji,
/** * Retrieves a key number specified by its name * * @param vaultname Vault name to look in * @param key Key name to search for * @return Returns key number on success, -1 on failure */ fvault_get_keynum(const vaultname[], const key[])
gdzie key[] to w naszym przypadku sid gracza i zwraca pozycje tego wpisu w pliku, do pobierania całkowitej ilości wpisów używasz
fvault_size(const vaultname[])
patrząc na kod nie rozumiem po co chcesz zapisywać wszystkich do pamięci podręcznej, skoro sprawdzanie gracza w zapisie w trakcie wchodzenia nie wpływa zupełnie na wydajność
g_bStayBlocked[player] = true; formatex(g_blocked_sids[player], charsmax(g_blocked_sids[]), "%s", sid); formatex(g_blocked_names[player], charsmax(g_blocked_names[]), "%s", nick);
zresetować te wartości przy wychodzeniu i sprawdzać, ustawiać na wchodzeniu client_putinserver albo client_authorized
w twoim kodzie: na rozpoczęciu mapy (nawet przy zmianie mapy może nikogo wtedy nie być na serwerze, bo się z nim łączą dopiero), chcesz odczytać wszystkie wpisy z zapisu, sprawdzasz czy są gracze którzy tam widnieją, zupełnie bez sensu, masz odpowiednie eventy do takiego sprawdzania, przykłady tego co chciałeś zrobić jak byk widnieją na stronie biblioteki fvault, wystarczy poczytać
// How to find all keys within a vault:
new const vaultname[] = "myvault";
new total = fvault_size(vaultname);
new key[32], data[64];
for( new i = 0; i < total; i++ )
{
fvault_get_keyname(vaultname, i, key, sizeof(key) - 1);
fvault_get_data(vaultname, key, data, sizeof(data) - 1);
server_print("Key: %s | Data: %s", key, data);
}
// More efficient method to find all keys within a vault:
new const vaultname[] = "myvault";
new Array:keys = ArrayCreate(64);
new Array:datas = ArrayCreate(512);
new total = fvault_load(vaultname, keys, datas);
new key[64], data[512];
for( new i = 0; i < total; i++ )
{
ArrayGetString(keys, i, key, 31);
ArrayGetString(datas, i, data, 511);
server_print("Key: %s | Data: %s", key, data);
}
mam nadzieje że wytłumaczyłem


Dodatki SourceMod




Moja zawartość
Mężczyzna

