Skocz do zawartości
Dawid212PL

Nie odświeża score

Rekomendowane odpowiedzi

KOD

 

stock Rejestruj(playerid,key[])
{
new Gracz [64];
new Gname[MAX_PLAYER_NAME];
GetPlayerName(playerid,Gname,sizeof(Gname));
format(Gracz,sizeof(Gracz),"/Gracze/%s.txt",Gname);
dini_Create(Gracz);
dini_Set(Gracz,"Haslo",key);
dini_IntSet(Gracz,"Kasa",1000);
dini_IntSet(Gracz,"Punkty",0);
dini_IntSet(Gracz,"RangaAdmina",0);
WczytajGracza(playerid);
gGracz[playerid][Zalogowany] = true;
return 1;
}
stock Login(playerid, key[])
{
new Gracz [64];
new Gname[MAX_PLAYER_NAME];
GetPlayerName(playerid,Gname,sizeof(Gname));
format(Gracz,sizeof(Gracz),"/Gracze/%s.txt",Gname);
if(!strcmp(key,dini_Get(Gracz,"Haslo"), false))
{
WczytajGracza(playerid);
gGracz[playerid][Zalogowany] = true;
}
else
{
ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_PASSWORD,"Login","Zle Haslo !.\nPodaj haslo aby sie zalogowac.","Login","Anuluj");
}
return 1;
}








stock WczytajGracza(playerid)
{
new Gracz [64];
new Gname[MAX_PLAYER_NAME];
GetPlayerName(playerid,Gname,sizeof(Gname));
format(Gracz,sizeof(Gracz),"/Gracze/%s.txt",Gname);
if(dini_Exists(Gracz))
{
GivePlayerMoney(playerid, dini_Int(Gracz,"Kasa"));
SetPlayerScore(playerid, dini_Int(Gracz,"Punkty"));
gGracz[playerid][RangaAdmina] = dini_Int(Gracz,"RangaAdmina");


SendClientMessage(playerid, COLOR_GREEN, "SERVER: Wszystkie dane zostały zapisane !");
}
return 1;
}


stock ZapisGracza(playerid)
{
new Gracz [64];
new Gname[MAX_PLAYER_NAME];
GetPlayerName(playerid,Gname,sizeof(Gname));
format(Gracz,sizeof(Gracz),"/Gracze/%s.txt",Gname);
if(dini_Exists(Gracz))
{


dini_IntSet(Gracz,"Kasa",GetPlayerMoney(playerid));
dini_IntSet(Gracz,"Punkty",GetPlayerScore(playerid));
}
}
stock SprawdzScore(playerid)
{
new Gracz [64];
new Gname[MAX_PLAYER_NAME];
GetPlayerName(playerid, Gname,sizeof(Gname));
format(Gracz,sizeof(Gracz),"/Gracze/%s.txt",Gname);
if(dini_Exists(Gracz))
{
SetPlayerScore(playerid, dini_Int(Gracz,"Punkty"));


}


return 1;
}

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

GoPro, to nie ma prawa dzialac... Wyrzuci mu errory (inwalid function or declaration albo argument type mismatch) lub warningi (number of arguments does not match definition). W funkcji SprawdzScore przy return 1 daj dini_Exist(Gracz) ? SetPlayerScore(playerid, dini_Int(Gracz, "Punkty") : -1; Moze Ci wywalic warninga, ale dzialac powinno. Jak to juz zrobisz, usun kod od if(dini_Exist itd. do klamry zamykajacej przed return. Powinno dzialac. byc moze jest gdzies indziej jeszcze blad, ale to jutro zobacze. Btw... nie uzywaj dini. Djson / DOF2 / bIni / y_INI sa szybsze.

Edytowane przez MatriX12.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Aaa. To zrób timery, zapisujące dane wszystkich graczy np. co 4 min.

Co 4 minuty lepiej nie robić tak, bo pomyśl, jak porobi taki timer, to co chwilę zapis tylu kont może powodować lag'a. 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
public OnGameModeExit
{
ZapisGracza(playerid);
}
public OnPlayerDisconnect
{
ZapisGracza(playerid);
}

No i z tymi timerami może być okejka, lecz czy autor owego postu będzie w stanie wykonać?

Edytowane przez GoPro

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Sprawdziłem teraz wszystko, i jest tak, że..

Wbijam na serwer dam sobie score, wychodze i ono jest.

Potem wejdę znowu, i już nie ma.. A nawet zrobiłem CMD dla H@ " /zapisz " wpisałem ją i dalej to samo.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
public OnGameModeExit
{
ZapisGracza(playerid);
}
public OnPlayerDisconnect
{
ZapisGracza(playerid);
}

No i z tymi timerami może być okejka, lecz czy autor owego postu będzie w stanie wykonać?

 

W OnGameModeExit trzeba użyć pętli, poza tym nie wiem czy OnPlayerDisconnect wywołuje się przy gmxie.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

A może plik ze statami nie istnieje? Daj po każdym if(dini_Exist itd. { ... } else  return SendClientMessage(playerid, 0, "Plik gracza nie istnieje!");

Edytowane przez MatriX12.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×