Witamy w Nieoficjalnym polskim support'cie AMX Mod X
Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
|
[ROZWIĄZANE] Format zapisu i odczytu
Najlepsza odpowiedź PANDA_2zl, 24.10.2022 18:13
dzięki za wskazówkę, ale nie działało w pełni to co dałeś edytowałem trochę zapis i odczyt
zapis:
replace_all(nick, 32, " ", "~"); formatex(data, charsmax(data), "%s#%d", nick, zmienna); fvault_set_data(fvault, sid, data)
odczyt:
fvault_get_data(fvault, sid, data, charsmax(data) replace_all(data, charsmax(data), "#", " "); parse(pobrane, nick, charsmax(nick), zmienna, charsmax(zmienna)); replace_all(nick, 39, "~", " ");
przy twoim zapisie dane zapisane wyglądały tak:
""Sezonowy Gracz"#213"
i był problem z odczytem, dzięki za pomoc
Przejdź do postu
#1
Napisano 24.10.2022 09:47
#2
Napisano 24.10.2022 15:58
#include <nvault>
new vault;
new nasza_zmienna[33];
public plugin_init()
{
vault = nvault_open("nazwa_pliku");
}
public client_authorized(id)
{
new sid[33];
get_user_authid(id, sid, charsmax(sid));
new name[33];
get_user_name(id, name, charsmax(name));
new vaultkey[128];
formatex(vaultkey, charsmax(vaultkey), "%s", sid);
new vaultdata[128];
if(nvault_get(vault, vaultkey, vaultdata, charsmax(vaultdata)))
{
replace_all(vaultdata, charsmax(vaultdata), "#", " ");
new dane1[33];
new dane2[33];
parse(vaultdata, dane1, charsmax(dane1), dane2, charsmax(dane2));
//dane1 = nick
//dane2 = zmienna
nasza_zmienna[id] = str_to_num(dane2);
}
}
public client_disconnected(id)
{
new sid[33];
get_user_authid(id, sid, charsmax(sid));
new name[33];
get_user_name(id, name, charsmax(name));
new vaultkey[128];
formatex(vaultkey, charsmax(vaultkey), "%s", sid);
new vaultdata[128];
formatex(vaultdata, charsmax(vaultdata), "^"%s^"#%i",name, nasza_zmienna[id]);
nvault_set(vault, vaultkey, vaultdata);
nasza_zmienna[id] = 0;
}
Teraz jak gracz wejdzie na innym nicku, to automatycznie ustawi mu dane ze zmiennej.
Jeżeli chcesz żeby nie ustawiało mu danych na innym nicku, to:
#include <nvault>
new vault;
new nasza_zmienna[33];
public plugin_init()
{
vault = nvault_open("nazwa_pliku");
}
public client_authorized(id)
{
new sid[33];
get_user_authid(id, sid, charsmax(sid));
new name[33];
get_user_name(id, name, charsmax(name));
new vaultkey[128];
formatex(vaultkey, charsmax(vaultkey), "^"%s^"-^"%s^"", sid, name);
new vaultdata[128];
if(nvault_get(vault, vaultkey, vaultdata, charsmax(vaultdata)))
{
nasza_zmienna[id] = str_to_num(vaultdata);
}
}
public client_disconnected(id)
{
new sid[33];
get_user_authid(id, sid, charsmax(sid));
new name[33];
get_user_name(id, name, charsmax(name));
new vaultkey[128];
formatex(vaultkey, charsmax(vaultkey), "^"%s^"-^"%s^"", sid, name);
new vaultdata[128];
formatex(vaultdata, charsmax(vaultdata), "%i", nasza_zmienna[id]);
nvault_set(vault, vaultkey, vaultdata);
nasza_zmienna[id] = 0;
}
Użytkownik Boski Z Polski edytował ten post 24.10.2022 16:07
#3
Napisano 24.10.2022 18:13 Najlepsza odpowiedź
dzięki za wskazówkę, ale nie działało w pełni to co dałeś edytowałem trochę zapis i odczyt
zapis:
replace_all(nick, 32, " ", "~"); formatex(data, charsmax(data), "%s#%d", nick, zmienna); fvault_set_data(fvault, sid, data)
odczyt:
fvault_get_data(fvault, sid, data, charsmax(data) replace_all(data, charsmax(data), "#", " "); parse(pobrane, nick, charsmax(nick), zmienna, charsmax(zmienna)); replace_all(nick, 39, "~", " ");
przy twoim zapisie dane zapisane wyglądały tak:
""Sezonowy Gracz"#213"
i był problem z odczytem, dzięki za pomoc
#4
Napisano 27.10.2022 16:48
Ten temat został zamknięty przez moderatora.
Powód: Pomoc udzielona
Jeśli się z tym nie zgadzasz,
raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.Z pozdrowieniami,
Zespół AMXX.PL
Użytkownicy przeglądający ten temat: 1
0 użytkowników, 1 gości, 0 anonimowych


Dodatki SourceMod



Temat jest zamknięty









