[ROZWIĄZANE] Respekt
Dziku
14.03.2012
Witam "napisałem" sobie w kodzie mojego coda tzw. punkty respektu przyznawane dla graczy za zabicia, następnie możemy je wymieniać na dodatkowe "moce" lub exp. Punkty działają świetnie i zapisują się na nvault, ale mam jeden spory problem - zapisują się one tylko na wybraną klasę. Wygląda to tak:
I teraz mam pytanie. Jak zrobić, aby respekt był zapisywany na wszystkie klasy jednocześnie? Myślałem, może żeby podczas zmiany klasy pobierało respekt, ale idąc tym tokiem myślenia gdy wezmę klasę która ma 0 respektu i potem zmienię na nową która ma xx respektu to moja nowo wybrana klasa będzie miała 0 respektu
public ZapiszDane(id)
{
new vaultkey[64],vaultdata[256];
format(vaultkey,63,"%s-%i-cod", nazwa_gracza[id], klasa_gracza[id]);
format(vaultdata,255,"%i#%i#%i#%i#%i#%i#%i#%i", doswiadczenie_gracza[id], poziom_gracza[id], inteligencja_gracza[id], zdrowie_gracza[id], wytrzymalosc_gracza[id], kondycja_gracza[id], grawitacja_gracza[id], respekt[id]);
nvault_set(g_vault,vaultkey,vaultdata);
}
public WczytajDane(id, klasa)
{
new vaultkey[64],vaultdata[256];
format(vaultkey,63,"%s-%i-cod", nazwa_gracza[id], klasa);
format(vaultdata,255,"%i#%i#%i#%i#%i#%i#%i#%i", doswiadczenie_gracza[id], poziom_gracza[id], inteligencja_gracza[id], zdrowie_gracza[id], wytrzymalosc_gracza[id], kondycja_gracza[id], grawitacja_gracza[id], respekt[id]);
nvault_get(g_vault,vaultkey,vaultdata,255);
replace_all(vaultdata, 255, "#", " ");
I teraz mam pytanie. Jak zrobić, aby respekt był zapisywany na wszystkie klasy jednocześnie? Myślałem, może żeby podczas zmiany klasy pobierało respekt, ale idąc tym tokiem myślenia gdy wezmę klasę która ma 0 respektu i potem zmienię na nową która ma xx respektu to moja nowo wybrana klasa będzie miała 0 respektu
pfkers 16.03.2012
to jest ciezki problem poniewaz zmagam sie z podobnym problemem.. i jak na razie nie znalazlem na to rozwiazania ;]
pfkers 17.03.2012
public ZapiszDane(id) { new vaultkey[64],vaultdata[256]; format(vaultkey,63,"%s-%i-cod", nazwa_gracza[id], klasa_gracza[id]); format(vaultdata,255,"%i#%i#%i#%i#%i#%i#%i", doswiadczenie_gracza[id], poziom_gracza[id], inteligencja_gracza[id], zdrowie_gracza[id], wytrzymalosc_gracza[id], kondycja_gracza[id], doswiadczeniezdobycia_monety[id], monety_gracza[id]); nvault_set(g_vault,vaultkey,vaultdata); } public WczytajDane(id, klasa) { new vaultkey[64],vaultdata[256]; format(vaultkey,63,"%s-%i-cod", nazwa_gracza[id], klasa); format(vaultdata,255,"%i#%i#%i#%i#%i#%i", doswiadczenie_gracza[id], poziom_gracza[id], inteligencja_gracza[id], zdrowie_gracza[id], wytrzymalosc_gracza[id], kondycja_gracza[id], doswiadczeniezdobycia_monety[id], monety_gracza[id]); nvault_get(g_vault,vaultkey,vaultdata,255); replace_all(vaultdata, 255, "#", " "); new doswiadczeniegracza[32], poziomgracza[32], inteligencjagracza[32], silagracza[32], zrecznoscgracza[32], zwinnoscgracza[32],doswmonety[32], monety[32] ; parse(vaultdata, doswiadczeniegracza, 31, poziomgracza, 31, inteligencjagracza, 31, silagracza, 31, zrecznoscgracza, 31, zwinnoscgracza, 31 ,doswmonety, 31, monety, 31); doswiadczenie_gracza[id] = str_to_num(doswiadczeniegracza); poziom_gracza[id] = str_to_num(poziomgracza)>0?str_to_num(poziomgracza):1; inteligencja_gracza[id] = str_to_num(inteligencjagracza); zdrowie_gracza[id] = str_to_num(silagracza); wytrzymalosc_gracza[id] = str_to_num(zrecznoscgracza); kondycja_gracza[id] = str_to_num(zwinnoscgracza); doswiadczeniezdobycia_monety[id] = str_to_num(doswmonety); monety_gracza[id] = str_to_num(monety); punkty_gracza[id] = (poziom_gracza[id]-1)*2-inteligencja_gracza[id]-zdrowie_gracza[id]-wytrzymalosc_gracza[id]-kondycja_gracza[id]; }
sprawdz na moim systemie monet.. bo on pewnie to samo tylko ze zmienil monety na respekt
Dziku
18.03.2012
Tak mam dokładnie to samo co kolega wyżej z tym, że zmienione na respekt.
pfkers 21.03.2012
new gVault
w plugin_init()
gVault = nvault_open("respekt");
Gdzies na koncu
public Zapiszrespekt(id) { new name[31]; //Pobieramy nazwe gracza get_user_name(id, name, 31); //do tablicy 'name' new vaultkey[64], vaultdata[256]; //Tworzymy zmienne dla klucza oraz danych format(vaultkey, 63, "%s-pkt", name); //Formatujemy nasz klucz format(vaultdata, 255, "%i", doswiadczeniezdobycia_monety[id], monety_gracza[id]); //Formatujemy zapisywane dane, # - sluzy jako spacja miedzy tablicamy danych nvault_set(gVault, vaultkey, vaultdata); //Zapisujemy klucz oraz dane do bazy return PLUGIN_CONTINUE; }
public Wczytajrespekt(id) { new name[31]; get_user_name(id,name,31); new vaultkey[64], vaultdata[256]; format(vaultkey, 63, "%s-pkt",name); format(vaultdata, 255, "%i",, doswiadczeniezdobycia_monety[id], monety_gracza[id]); nvault_get(gVault, vaultkey, vaultdata,255); //Wczytujemy klucz i dane replace_all(vaultdata, 255, "#", " "); //Zamieniamy # na spacje. new doswmonety[32], monety[32]; //Tworzymy nowe tablice do ktorych wyciagniemy wartosci zapisanych danych parse(vaultdata,doswmonety, 31, monety, 31); //Wyciagamy z bazy dane do utworzonych wczesniej tablic doswiadczeniezdobycia_monety[id] = str_to_num(doswmonety); monety_gracza[id] = str_to_num(monety); return PLUGIN_CONTINUE; }
w
public client_connect(id)
Wczytajrespekt(id)
no i
public client_disconnect(id)
Zapiszrespekt(id)
I tak jak dodawales ten respekt do vaulta coda to dodaj tutaj a tam usun.. otworzy ci oddzielny vault ktory bd zapisywal monety na nick.. wiec problem sie rozwiaze.. bo inaczej to nie mam pojecia .. sam tak zrobilem i dziala dobrze.. a mysle ze to bd jedyne rozwiazanie bo nikt sie nie interesuje tematem
Użytkownik pfk92 edytował ten post 21.03.2012 19:56
Ojciec Dyrektor
23.03.2012
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, raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.
Z pozdrowieniami,
Zespół AMXX.PL