musisz użyć parse() popatrz jak codmod zapisuje/wczytuje
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.
|
Problem z menu ze skinami.
Najlepsza odpowiedź Black004, 22.03.2019 19:12
Gościu, ogarnij się bo juz siły nie mam.
Chyba na pałe wklejasz kod i nie wiesz co do czego. Przeanalizuj dokładnie
w zapisywaniu pakujesz dane do klucza a klucz do danych...
we wczytywaniu nie musisz formatować danych bo przeciez je pobierasz z nvault_get
Jak TibacK nie opier*oli to nic nie ruszą głową
Tutaj wstawiam poprawny kod:
public zapisz_kupione(id) { new name[32] get_user_name(id, name, 31) new vaultkey[64],vaultdata[64]; formatex(vaultkey, 63,"buy_%s", name); formatex(vaultdata, 63,"%d %d", bayonet[id], karambit[id]); nvault_set(vault,vaultkey,vaultdata); log_amx("%s zapisz_kupione", vaultdata); } public zaladuj_kupione(id) { new name[32] get_user_name(id, name, 31) new vaultkey[64], vaultdata[64] formatex(vaultkey, 63, "buy_%s", name); if(nvault_get(vault,vaultkey,vaultdata,63)){ new skingracza[2][32]; parse(vaultdata, skingracza[0], 31, skingracza[1], 31); bayonet[id] = str_to_num(skingracza[0]); karambit[id] = str_to_num(skingracza[1]); log_amx("%s zaladuj_kupione", vaultdata); } }Przejdź do postu
#21
Napisano 22.03.2019 14:45
#22
Napisano 22.03.2019 15:15
musisz użyć parse() popatrz jak codmod zapisuje/wczytuje
Zobaczyłem tego codmoda, i zrobiłem tak:
public zapisz_kupione(id) { new name[32] get_user_name(id, name, 31) new vaultkey[64],vaultdata[64]; formatex(vaultdata, 63,"buy_%s", name); formatex(vaultkey, 63,"%d %d", bayonet[id], karambit[id]); nvault_set(vault,vaultkey,vaultdata); } public zaladuj_kupione(id) { new name[32] get_user_name(id, name, 31) new vaultkey[64], vaultdata[64] formatex(vaultkey, 63, "buy_%s", name); formatex(vaultkey, 63,"%d %d", bayonet[id], karambit[id]); if(nvault_get(vault,vaultkey,vaultdata,63)){ new skingracza[2][32]; parse(vaultdata, skingracza[0], 31, skingracza[1], 31); bayonet[id] = str_to_num(skingracza[0]); karambit[id] = str_to_num(skingracza[1]); } }
Dalej nie działa
#23
Napisano 22.03.2019 15:25
za pomocą log_amx wypisz sobie (do logów)
wartości poszczególnych zmiennych i zobacz jakie dane są zapisywane/odczytywane
#24
Napisano 22.03.2019 15:34
Pokazuje ze nic nie jest odczytywane
L 03/22/2019 - 15:33:10: [skin_system2.amxx] buy_Bl@ck zapisz_kupione
L 03/22/2019 - 15:33:16: [skin_system2.amxx] buy_Bl@ck zaladuj_kupione
Sprawdziłem jeszcze po kupieniu danego skina, jeżeli go kupie to już nie ma żadnego logu z moim nickiem z tego pluginu
Użytkownik Na100Procent edytował ten post 22.03.2019 15:54
#25
Napisano 22.03.2019 17:16
formatex(vaultkey, 63, "buy_%s", name); formatex(vaultkey, 63,"%d %d", bayonet[id], karambit[id]);
Klucz i dane wsadzasz to tej samej tablicy. Spróbuj tego niżej.
formatex(vaultkey, 63, "buy_%s", name); formatex(vaultdata, 63,"%d %d", bayonet[id], karambit[id]);
#26
Napisano 22.03.2019 18:05
formatex(vaultkey, 63, "buy_%s", name); formatex(vaultkey, 63,"%d %d", bayonet[id], karambit[id]);Klucz i dane wsadzasz to tej samej tablicy. Spróbuj tego niżej.
formatex(vaultkey, 63, "buy_%s", name); formatex(vaultdata, 63,"%d %d", bayonet[id], karambit[id]);
W logach:
[skin_system2.amxx] buy_Bl@ck zapisz_kupione
I teraz nie wyświetla się ladowanie kupionych skinów gracza, a kod teraz wygląda tak:
public zapisz_kupione(id) { new name[32] get_user_name(id, name, 31) new vaultkey[64],vaultdata[64]; formatex(vaultdata, 63,"buy_%s", name); formatex(vaultkey, 63,"%d %d", bayonet[id], karambit[id]); nvault_set(vault,vaultkey,vaultdata); log_amx("%s zapisz_kupione", vaultdata); } public zaladuj_kupione(id) { new name[32] get_user_name(id, name, 31) new vaultkey[64], vaultdata[64] formatex(vaultkey, 63, "buy_%s", name); formatex(vaultdata, 63,"%d %d", bayonet[id], karambit[id]); if(nvault_get(vault,vaultkey,vaultdata,63)){ new skingracza[2][32]; parse(vaultdata, skingracza[0], 31, skingracza[1], 31); bayonet[id] = str_to_num(skingracza[0]); karambit[id] = str_to_num(skingracza[1]); log_amx("%s zaladuj_kupione", vaultdata); } }
#27
Napisano 22.03.2019 18:33
Gościu, ogarnij się bo juz siły nie mam.
Chyba na pałe wklejasz kod i nie wiesz co do czego. Przeanalizuj dokładnie
w zapisywaniu pakujesz dane do klucza a klucz do danych...
we wczytywaniu nie musisz formatować danych bo przeciez je pobierasz z nvault_get
#28
Napisano 22.03.2019 19:12 Najlepsza odpowiedź
Gościu, ogarnij się bo juz siły nie mam.
Chyba na pałe wklejasz kod i nie wiesz co do czego. Przeanalizuj dokładnie
w zapisywaniu pakujesz dane do klucza a klucz do danych...
we wczytywaniu nie musisz formatować danych bo przeciez je pobierasz z nvault_get
Jak TibacK nie opier*oli to nic nie ruszą głową
Tutaj wstawiam poprawny kod:
public zapisz_kupione(id) { new name[32] get_user_name(id, name, 31) new vaultkey[64],vaultdata[64]; formatex(vaultkey, 63,"buy_%s", name); formatex(vaultdata, 63,"%d %d", bayonet[id], karambit[id]); nvault_set(vault,vaultkey,vaultdata); log_amx("%s zapisz_kupione", vaultdata); } public zaladuj_kupione(id) { new name[32] get_user_name(id, name, 31) new vaultkey[64], vaultdata[64] formatex(vaultkey, 63, "buy_%s", name); if(nvault_get(vault,vaultkey,vaultdata,63)){ new skingracza[2][32]; parse(vaultdata, skingracza[0], 31, skingracza[1], 31); bayonet[id] = str_to_num(skingracza[0]); karambit[id] = str_to_num(skingracza[1]); log_amx("%s zaladuj_kupione", vaultdata); } }
#29
Napisano 23.03.2019 13:45
Gościu, ogarnij się bo juz siły nie mam.
Chyba na pałe wklejasz kod i nie wiesz co do czego. Przeanalizuj dokładnie
w zapisywaniu pakujesz dane do klucza a klucz do danych...
we wczytywaniu nie musisz formatować danych bo przeciez je pobierasz z nvault_get
Jak TibacK nie opier*oli to nic nie ruszą głową
Tutaj wstawiam poprawny kod:
public zapisz_kupione(id) { new name[32] get_user_name(id, name, 31) new vaultkey[64],vaultdata[64]; formatex(vaultkey, 63,"buy_%s", name); formatex(vaultdata, 63,"%d %d", bayonet[id], karambit[id]); nvault_set(vault,vaultkey,vaultdata); log_amx("%s zapisz_kupione", vaultdata); } public zaladuj_kupione(id) { new name[32] get_user_name(id, name, 31) new vaultkey[64], vaultdata[64] formatex(vaultkey, 63, "buy_%s", name); if(nvault_get(vault,vaultkey,vaultdata,63)){ new skingracza[2][32]; parse(vaultdata, skingracza[0], 31, skingracza[1], 31); bayonet[id] = str_to_num(skingracza[0]); karambit[id] = str_to_num(skingracza[1]); log_amx("%s zaladuj_kupione", vaultdata); } }Dzięki, działa.
#30
Napisano 27.03.2019 18:06
public ZapiszNoz(id) { new name[48]; get_user_name(id,name,47); new vaultkey[64], vaultdata[256]; format(vaultkey, 63, "%s-sklepskin", name); format(vaultdata, 255, "%i#",kupil_skinnoz[id],kupil_skinnoz1[id],kupil_skinnoz2[id],kupil_skinnoz3[id],kupil_skinnoz4[id],kupil_skinnoz5[id]); nvault_set(vault, vaultkey, vaultdata); log_amx("Zapisane skiny = %s", vaultdata); } public WczytajNoz(id) { new name[48]; get_user_name(id,name,47); new vaultkey[64], vaultdata[256]; format(vaultkey, 63, "%s-sklepskin", name); if(nvault_get(vault, vaultkey, vaultdata,255)) { new skingracza[6][32]; parse(vaultdata, skingracza[0], 31, skingracza[1], 31, skingracza[2], 31, skingracza[3], 31, skingracza[4], 31, skingracza[5], 31); kupil_skinnoz[id] = str_to_num(skingracza[0]); kupil_skinnoz1[id] = str_to_num(skingracza[1]); kupil_skinnoz2[id] = str_to_num(skingracza[2]); kupil_skinnoz3[id] = str_to_num(skingracza[3]); kupil_skinnoz4[id] = str_to_num(skingracza[4]); kupil_skinnoz5[id] = str_to_num(skingracza[5]); log_amx("%s zaladuj_kupione", vaultdata);
}
Podpowie ktoś co robię źle że mi nie wczytuje i w kompilacji wywala mismatch
Użytkownik Marcin2171 edytował ten post 27.03.2019 18:07
#31
Napisano 27.03.2019 18:16
Załóż z tym problemem, najlepiej osobny temat bo jak, nazwa tematu mówi "problem z menu ze skinami" a tu jest problem u ciebie z nvault
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych