←  Problemy

AMXX.pl: Support AMX Mod X i SourceMod

»

CoD Stary
[ROZWIĄZANE] Respekt

Zablokowany

  • +
  • -
Dziku - zdjęcie 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:

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 :/
Odpowiedz

  • +
  • -
Dziku - zdjęcie Dziku 16.03.2012

Ref...
Odpowiedz

pfkers - zdjęcie pfkers 16.03.2012

to jest ciezki problem poniewaz zmagam sie z podobnym problemem.. i jak na razie nie znalazlem na to rozwiazania ;]
Odpowiedz

  • +
  • -
Dziku - zdjęcie Dziku 17.03.2012

Ref...
Odpowiedz

pfkers - zdjęcie pfkers 17.03.2012

pomoze ktos ??
Odpowiedz

  • +
  • -
DarkGL - zdjęcie DarkGL 17.03.2012

gdzie reszta public WczytajDane(id, klasa) ( wkleiłeś tylko część )
Odpowiedz

pfkers - zdjęcie 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
Odpowiedz

  • +
  • -
Dziku - zdjęcie Dziku 18.03.2012

Tak mam dokładnie to samo co kolega wyżej z tym, że zmienione na respekt.
Odpowiedz

  • +
  • -
Dziku - zdjęcie Dziku 19.03.2012

odświeżam
Odpowiedz

pfkers - zdjęcie pfkers 19.03.2012

ktos pomoze.. bo i mi by sie przydalo ;]
Odpowiedz

pfkers - zdjęcie 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 :P
Użytkownik pfk92 edytował ten post 21.03.2012 19:56
Odpowiedz

  • +
  • -
Dziku - zdjęcie Dziku 22.03.2012

Dziękuje, działa świetnie - można zamknąć.
Odpowiedz

  • +
  • -
Ojciec Dyrektor - zdjęcie 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, Dołączona grafika raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
Odpowiedz
Zablokowany