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] usuwanie danych z nvault po x dniach
Najlepsza odpowiedź k4x4z5 , 14.12.2013 11:03
#include <nvault> #define DNI(%1) (86400 * %1) new nazwa_gracza[33][64], fragi[33]; zapis public plugin_init() { zapis = nvault_open("jb_sklep"); WyczyscZapis(); } public client_authorized(id){ get_user_name(id, nazwa_gracza[id], 63); WczytajDane(id); } public client_disconnect(id) ZapiszDane(id); public ZapiszDane(id){ new key[64], data[256]; format(key, 63, "%s-cos", nazwa_gracza[id]); format(data, 255, "%i", fragi[id]); nvault_set(zapis, key, data); } public WczytajDane(id){ new key[64], data[256]; format(key, 63, "%s-cos", nazwa_gracza[id]); if(nvault_get(zapis, key, data, 255)){ fragi[id] = str_to_num(data); nvault_touch(zapis, key); return 1; } else fragi[id] = 0; return 1; } WyczyscZapis(){ if(zapis != INVALID_HANDLE) nvault_prune(zapis, 0, get_systime() - DNI(30)); }Przejdź do postu
#1
Napisano 13.12.2013 19:00
jak zrobic aby dane z nvault byly usuwane po x dniach?
Patrzylem juz na taki silnik cod moda ale on ma calkiem inna budowe (zapis dla kazdej klasy osobno).
Co musze dodac/usunac/podmienic?
#2
Napisano 13.12.2013 19:02
Piszę pluginy pod: AMX MOD X oraz SOURCE MOD!
Na zlecenie i bez zlecenia zresztą też!
#3
Napisano 13.12.2013 21:19
I gdzie dopisac to nvault prune?
Init, cfg?
#4
Napisano 13.12.2013 21:31
okej ale skad plugin ma wiedziec ktore dane usunac? (np poziom gracza o nicku hubert).
I gdzie dopisac to nvault prune?
Init, cfg
Skoro chcesz usuwac z nvault jakies dane to muszą one byc zapisane wcześniej:D
Łap,moze sie przyda
#include <nvault> #define DNI(%1) (86400 * %1) new zapis; public plugin_init() { zapis = nvault_open("blelbel"); WyczyscZapis(); } WyczyscZapis(){ if(zapis != INVALID_HANDLE) nvault_prune(zapis, 0, get_systime() - DNI(30)); }
#5
Napisano 14.12.2013 00:36
Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo
#6
Napisano 14.12.2013 10:36
widzialem tego CoD'a.
Czyli trzeba zrobic zapis i wczyt pod to tak?
I co to znaczy odpowiednio wczytac? Co tam trzeba umiescic?
#7
Napisano 14.12.2013 10:41
Dane ktore zostaly zapisane.
#8
Napisano 14.12.2013 10:51
#9
Napisano 14.12.2013 11:03 Najlepsza odpowiedź
#include <nvault> #define DNI(%1) (86400 * %1) new nazwa_gracza[33][64], fragi[33]; zapis public plugin_init() { zapis = nvault_open("jb_sklep"); WyczyscZapis(); } public client_authorized(id){ get_user_name(id, nazwa_gracza[id], 63); WczytajDane(id); } public client_disconnect(id) ZapiszDane(id); public ZapiszDane(id){ new key[64], data[256]; format(key, 63, "%s-cos", nazwa_gracza[id]); format(data, 255, "%i", fragi[id]); nvault_set(zapis, key, data); } public WczytajDane(id){ new key[64], data[256]; format(key, 63, "%s-cos", nazwa_gracza[id]); if(nvault_get(zapis, key, data, 255)){ fragi[id] = str_to_num(data); nvault_touch(zapis, key); return 1; } else fragi[id] = 0; return 1; } WyczyscZapis(){ if(zapis != INVALID_HANDLE) nvault_prune(zapis, 0, get_systime() - DNI(30)); }
Użytkownicy przeglądający ten temat: 1
0 użytkowników, 1 gości, 0 anonimowych