Jeżeli to ten public po wybraniu skina to zamień na to:
public handle_menuKNIVE(id, menu, item) { if (item == MENU_EXIT){ menu_destroy(menu); return PLUGIN_HANDLED; } if(!sprawdz(id, noz_cena[item])){ client_print(id, print_chat, "Nie stac cie na tego skina."); return PLUGIN_HANDLED; } client_print(id, print_chat, "Kupiles skin: %s", noz_skin[item]); zmiana1[id] = item; menu_destroy(menu); return PLUGIN_HANDLED; }Powinno pokazać też nazwę wybranego/kupionego skina.
Wszystko, pięknie śmiga.
Teraz chciałbym się zająć dolarami, ponieważ chciałbym żeby się one zapisywały. Patrzyłem różne tutoriale, ale u mnie to nie działa, nawet nie tworzy się plik nvault..
Dobra, napisze teraz co zrobiłem żeby sie dolary zapisywały.
Dodałem to:
new jb_packi_nv
W plugin_init():
jb_packi_nv = nvault_open("jb_packi")
w DeathMsg() zrobiłem tak:
public DeathMsg() { new kid = read_data(1) new vid = read_data(2) new headshot = read_data(3) if(kid == vid) { return PLUGIN_HANDLED } { new maxjp = get_cvar_num("jb_maxjp") if(ilosc_jbpack[kid]<maxjp) { { new pack_tt = get_cvar_num("jb_tt") ilosc_jbpack[kid] += pack_tt ColorChat(kid, GREEN, "%s ^x01 Dostales ^x04+%i ^x01 dolary", prefix, pack_tt); } if(headshot) { new pack_hs = get_cvar_num("jb_hs") ilosc_jbpack[kid] += pack_hs ColorChat(kid, GREEN, "%s ^x01 Dostales bonus za headshot ^x04+%i ^x01 dolary", prefix, pack_hs); } } else { ColorChat(kid, GREEN, "%s ^x01 Ilosc maksymalnej ilosci dolarów osiagnieta!", prefix); return PLUGIN_CONTINUE } ColorChat(kid, GREEN, "%s ^x01 Twoja ilosc dolarów to: ^x04%i/%i", prefix, ilosc_jbpack[kid], maxjp); { zapisz_jbpack(kid) } } return PLUGIN_CONTINUE }
I na końcu jest to:
public zaladuj_jbpack(id) { new name[48] get_user_name(id,name,47) new vaultkey[64],vaultdata[128] formatex(vaultkey,63,"%s-jbpack",name) if(nvault_get(jb_packi_nv,vaultkey,vaultdata,127)) { new jb_packii[16]; parse(vaultdata, jb_packii, 15) ilosc_jbpack[id]=str_to_num(jb_packii) } return PLUGIN_CONTINUE } public zapisz_jbpack(id) { new name[48] get_user_name(id,name,47) new vaultkey[64],vaultdata[128] formatex(vaultkey,63,"%s-jbpack",name) formatex(vaultdata,127,"%d", ilosc_jbpack[id]) nvault_set(jb_packi_nv,vaultkey,vaultdata) return PLUGIN_CONTINUE } public client_putinserver(id){ { zaladuj_jbpack(id); } } public client_disconnect(id) { { zapisz_jbpack(id) } }
A i jescze to:
public return_jbpack(id) { return ilosc_jbpack[id]; } public set_jbpack(id, amount) { ilosc_jbpack[id] = amount }
I mimo to nadal nie działa zapisywanie dolarów na mapy..
Użytkownik Black004 edytował ten post 13.03.2019 12:00