[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
PANDA_2zl
24.10.2022
Chciałbym zapisywać nick sid i wartość zmiennej, moje pytanie jak zrobić odczyt klucza z nvault gdy kluczem jest sid a danymi "nick#zmienna" biorąc pod uwagę że nick może się różnić jak ktoś sobie zmieni i zmienna to liczba, chciałbym oczywiście rozdzielić te dane przy odczytaniu
Boski Z Polski
24.10.2022
#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
Najlepsza odpowiedź
PANDA_2zl
24.10.2022
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
dasiek
27.10.2022
Wiadomość wygenerowana automatycznie
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
Ten temat został zamknięty przez moderatora.
Powód: Pomoc udzielona
Jeśli się z tym nie zgadzasz,

Z pozdrowieniami,
Zespół AMXX.PL