Wysłany: 2013-07-07, 15:30
matiosek70
Wiek: 29 Na forum: 5213 dni Posty: 58
Piwa : 64
Witam mam problem nie zapisuje mi statystyk.
Oto kod:
OnPlayerConnect:
Kod: if(dini_Exists(File(playerid)))
{
ShowPlayerDialog(playerid, DIALOG_LOGIN, 3, "Panel Logowania", "{FFFFFF}Witaj znowu na Serwerze The Polish Truck!\n{FF0000}Zaloguj sie!\n{FFFF00}Zapraszamy do grania.", "Ok", "Anuluj");
} else {
ShowPlayerDialog(playerid, DIALOG_REGISTER, 3, "Panel Rejestracji", "{FFFFFF}Witaj po raz pierwszy na Serwerze The Polish Truck!\n{FF0000}Zarejestruj sie!\n{FFFF00}Zapraszamy do grania.", "Ok", "Anuluj");
}
if(strval(dini_Get(File(playerid), "Prawko")) == 1) //Je?li ma w pliku napisane ?e ma prawko to mu daje
{
PJ[playerid] = 1;
}
if(strval(dini_Get(File(playerid), "Wineta")) == 1) //Je?li ma w pliku napisane ?e ma winete to mu daje
{
Wineta[playerid] = 1;
}
if(strval(dini_Get(File(playerid), "ADR")) == 1) //Je?li ma w pliku napisane ?e ma ADR to mu daje
{
ADR[playerid] = 1;
}
if(strval(dini_Get(File(playerid), "Telefon")) == 1) //Je?li ma w pliku napisane ?e ma Telefon to mu daje
{
Telefon[playerid] = 1;
}
if(strval(dini_Get(File(playerid), "KartaBank")) == 1)
{
KartaBank[playerid] = 1;
}
Teraz Dialogi:
Kod:
if(dialogid == DIALOG_REGISTER)
{
new string[300];
if(!response)
return SendClientMessage(playerid, 0xFFFFFFFF, "Rejestracja obowi?zkowa. Zosta?e?(a?) wyrzucony(a)."), Kick(playerid);
if(20 < strlen(inputtext) > 4)
return SendClientMessage(playerid, 0xFFFFFFFF, "Has?o musi si? sk?ada? od 4 do 20 znak?w.");
dini_Create(File(playerid));
dini_Set(File(playerid), "Haslo", inputtext);
dini_Set(File(playerid), "Kasa", "1500");
dini_Set(File(playerid), "Exp", "0");
dini_Set(File(playerid), "Zabojstw", "0");
dini_Set(File(playerid), "Wizyt", "0");
dini_Set(File(playerid), "Prawko", PJ[playerid]);
dini_Set(File(playerid), "ADR", ADR[playerid]);
dini_Set(File(playerid), "Wineta", Wineta[playerid]);
dini_Set(File(playerid), "Portfel", Portfel[playerid]);
dini_Set(File(playerid), "Telefon", Telefon[playerid]);
dini_Set(File(playerid), "PunktyKarne", PunktyKarne[playerid]);
dini_Set(File(playerid), "Promile", Promile[playerid]);
format(string, sizeof(string), "{FFFFFF}Zarejestrowa?e? si?.\nOto has?o: {00FFFF}%s\n{FFFFFF}Zapami?taj je do przysz?ego logowania!\n}Mamy nadziej? ?e zostaniesz u nas na d?ugo.", inputtext);
ShowPlayerDialog(playerid, 132, 0, "Twoje Haslo", string, "OK", "");
logged[playerid] = true;
return 1;
}
if(dialogid == DIALOG_LOGIN)
{
new nick[MAX_PLAYER_NAME];
GetPlayerName(playerid,nick,sizeof(nick));
new tmp[256];
new mpt2[256];
if(!response)
return SendClientMessage(playerid, BIALY, "Logowanie obowi?zkowe. Zosta?e?(a?) wyrzucony(a)."), Kick(playerid);
mpt2 = dini_Get(File(playerid), "Haslo");
if (udb_hash(inputtext) == udb_hash(mpt2))
{
SendClientMessage(playerid, 0xFFFFFFFF, "Poprawnie si? zalogowa?e?(a?).");
//Statystyki
Respekt[playerid] = dini_Int(File(playerid), "Exp:");
GivePlayerMoney(playerid,dini_Int(File(playerid), "Kasa:"));
Skill[playerid] = dini_Int(File(playerid), "Zabil:");
Wizyt[playerid] = dini_Int(File(playerid), "Wizyt:");
Wizyt[playerid]+= 1;
PJ[playerid] = dini_Int(File(playerid), "Prawko:");
ADR[playerid] = dini_Int(File(playerid), "ADR:");
TimePlay[playerid] = dini_Int(File(playerid), "Czas Gry:");
Wineta[playerid] = dini_Int(File(playerid), "Wineta:");
WC[playerid] = dini_Int(File(playerid), "WC:");
E[playerid] = dini_Int(File(playerid), "E:");
Portfel[playerid] = dini_Int(File(playerid), "Portfel:");
Telefon[playerid] = dini_Int(File(playerid), "Telefon:");
PunktyKarne[playerid] = dini_Int(File(playerid), "PunktyKarne:");
Promile[playerid] = dini_Int(File(playerid), "Promile:");
//
logged[playerid] = true;
tmp = dini_Get(FILE_VIP,nick);
if(strval(tmp) > 0)
{
VipMozeLogowac[playerid] = true;
}
}
else
{
SendClientMessage(playerid, BIALY,"{FFFF00}Z?e has?o. Sprobuj Ponownie.");
ShowPlayerDialog(playerid, DIALOG_LOGIN, 3, "Panel Logowania", "{FFFFFF}Witaj znow na Serwerze The Polish Truck\n{FF0000}Zaloguj sie!\n{FFFF00}Zapraszamy do grania.", "Ok", "Anuluj");
}
if(VipMozeLogowac[playerid])
{
Vip[playerid] = true;
}
return 1;
}
Oraz Zapisywanie statystyk:
Kod: forward ZapiszStaty();
public ZapiszStaty()
{
for(new playerid=0;playerid<MAX_PLAYERS;playerid++)
{
dini_IntSet(File(playerid), "Kasa",GetPlayerMoney(playerid));
dini_IntSet(File(playerid), "Exp",Respekt[playerid]);
dini_IntSet(File(playerid), "Zabojstw",Skill[playerid]);
dini_IntSet(File(playerid), "Wizyt",Wizyt[playerid]);
dini_IntSet(File(playerid), "Prawko",PJ[playerid]);
dini_IntSet(File(playerid), "ADR", ADR[playerid]);
dini_IntSet(File(playerid), "Czas Gry", TimePlay[playerid]);
dini_IntSet(File(playerid), "Wineta", Wineta[playerid]);
dini_IntSet(File(playerid), "WC", WC[playerid]);
dini_IntSet(File(playerid), "E", E[playerid]);
dini_IntSet(File(playerid), "Portfel", Portfel[playerid]);
dini_IntSet(File(playerid), "Telefon", Telefon[playerid]);
dini_IntSet(File(playerid), "PunktyKarne", PunktyKarne[playerid]);
dini_IntSet(File(playerid), "Promile", Promile[playerid]);
}
return 1;
}
I problem jest taki ?e zapisuje wszystko ?adnie do pliku ale tego co sie zapisa?o do pliku nie wczytuje po nast?pnym wej?ciu na serwer. Z g?ry thx za pomoc. Daje oczywi?cie
Wysłany: 2013-07-07, 18:53
akon823
Czekotubka :D
Wiek: 29 Na forum: 4815 dni Posty: 399
Nick w MP: Remik14
Piwa : 152
To skoro masz zapis stat?w to mo?e zr?b teraz ich wczytanie? ;] Tak samo jak z zapisem i dajesz przy wej?ciu na serwer czy tam przy logowaniu
Wysłany: 2013-07-07, 20:51
matiosek70
Wiek: 29 Na forum: 5213 dni Posty: 58
Piwa : 64
A to co : Kod: Respekt[playerid] = dini_Int(File(playerid), "Exp:");
GivePlayerMoney(playerid,dini_Int(File(playerid), "Kasa:"));
Skill[playerid] = dini_Int(File(playerid), "Zabil:");
Wizyt[playerid] = dini_Int(File(playerid), "Wizyt:");
Wizyt[playerid]+= 1;
PJ[playerid] = dini_Int(File(playerid), "Prawko:");
ADR[playerid] = dini_Int(File(playerid), "ADR:");
TimePlay[playerid] = dini_Int(File(playerid), "Czas Gry:");
Wineta[playerid] = dini_Int(File(playerid), "Wineta:");
WC[playerid] = dini_Int(File(playerid), "WC:");
E[playerid] = dini_Int(File(playerid), "E:");
Portfel[playerid] = dini_Int(File(playerid), "Portfel:");
Telefon[playerid] = dini_Int(File(playerid), "Telefon:");
PunktyKarne[playerid] = dini_Int(File(playerid), "PunktyKarne:");
Promile[playerid] = dini_Int(File(playerid), "Promile:");
Z?e ?
Wysłany: 2013-07-07, 21:10
xqz
otaku desu!
Wiek: 32 Na forum: 6406 dni Posty: 723
Nick w MP: xqz
Piwa : 5465
"matiosek70" napisał/a :A to co : Kod: Respekt[playerid] = dini_Int(File(playerid), "Exp:");
GivePlayerMoney(playerid,dini_Int(File(playerid), "Kasa:"));
Skill[playerid] = dini_Int(File(playerid), "Zabil:");
Wizyt[playerid] = dini_Int(File(playerid), "Wizyt:");
Wizyt[playerid]+= 1;
PJ[playerid] = dini_Int(File(playerid), "Prawko:");
ADR[playerid] = dini_Int(File(playerid), "ADR:");
TimePlay[playerid] = dini_Int(File(playerid), "Czas Gry:");
Wineta[playerid] = dini_Int(File(playerid), "Wineta:");
WC[playerid] = dini_Int(File(playerid), "WC:");
E[playerid] = dini_Int(File(playerid), "E:");
Portfel[playerid] = dini_Int(File(playerid), "Portfel:");
Telefon[playerid] = dini_Int(File(playerid), "Telefon:");
PunktyKarne[playerid] = dini_Int(File(playerid), "PunktyKarne:");
Promile[playerid] = dini_Int(File(playerid), "Promile:");
Z?e ?
Jak nie jak tak.
Wczytaj to co zapisales a nie nieistniejace nazwy.
Wysłany: 2013-07-07, 22:52
matiosek70
Wiek: 29 Na forum: 5213 dni Posty: 58
Piwa : 64
Czyli jak na np wczyta? Promile ?
Wysłany: 2013-07-07, 22:58
xqz
otaku desu!
Wiek: 32 Na forum: 6406 dni Posty: 723
Nick w MP: xqz
Piwa : 5465
matiosek70 , tak jak teraz tylko wczytuj to co zapisujesz a nie cos co nie istnieje.
[ Dodano : 2013-07-07, 22:58 ]
Mam na my?li te tajemnicze dwukropki kt?rych by? nie powinno
Wysłany: 2013-07-08, 01:19
matiosek70
Wiek: 29 Na forum: 5213 dni Posty: 58
Piwa : 64
Thx dzia?a masz piwko. Mam jeszcze pytanie jak zrobi? ?eby te promili by?y wy?wietlane po przecinku znaczy oto tego kod.
Kod:
format(string, sizeof(string), "{FFFFFF}Czas gry: %d godzin, %d minut\nPunkty Karne: %d\nWC: %d\nE: %d\nID: %d\nTelefon: %d\nPortfel: %d\nWineta: %d\nKarta Bankowa: %d\nCertyfikat ADR: %d\nPromile: %d", TimePlay[playerid]/60,floatround(sec), PunktyKarne[playerid], WC[playerid], E[playerid], playerid, Telefon[playerid], Portfel[playerid], Wineta[playerid], KartaBank[playerid], ADR[playerid], Promile[playerid]);
ShowPlayerDialog(playerid, 80, 0, "Twoje Statystyki:",string,"OK","");
//
Dodawanie promili
np
Promile[playerid]+=0.25;
I mam problem pokazuje mi jak?? liczbe np 12313213 zamiast np x.xx .
Wiem ?e problem tkwi w tym.
Kod:
A powinno by? co? tam float . Dlatego chcia?bym prosi? o naprawe tego ;d Oczywi?cie piwka b?d? .
Wysłany: 2013-07-08, 10:35
xqz
otaku desu!
Wiek: 32 Na forum: 6406 dni Posty: 723
Nick w MP: xqz
Piwa : 5465
Do zr?b t? liczbe jako float.
A w jej wy?wietlaniu zamiast %d daj %0.1f
Wysłany: 2013-07-08, 12:50
matiosek70
Wiek: 29 Na forum: 5213 dni Posty: 58
Piwa : 64
czyli
Kod: new Float:Promile[MAX_GRACZY];
mo?e by? ?
@EDIT
Teraz mam warningi:
Kod: C:\Users\Mateusz\Desktop\SAMP\gamemodes\pt.pwn(5055) : warning 213: tag mismatch
oraz
C:\Users\Mateusz\Desktop\SAMP\gamemodes\pt.pwn(7161) : warning 213: tag mismatch
A linijki to:
Kod:
dini_Set(File(playerid), "Promile", Promile[playerid]);
oraz
dini_IntSet(File(playerid), "Promile", Promile[playerid]);
Wysłany: 2013-07-08, 14:16
Combacior
Wiek: 29 Na forum: 5795 dni Posty: 1516
Piwa : 2161
Zast?p to swoje na te
Kod: dini_FloatSet(File(playerid), "Promile", Promile[playerid]);
oraz
dini_FloatSet(File(playerid), "Promile", Promile[playerid]);
Oraz przy wczytywaniu promili (je?eli je wczytujesz), to u?yj funkcji dini_Float
Wysłany: 2013-07-08, 15:47
matiosek70
Wiek: 29 Na forum: 5213 dni Posty: 58
Piwa : 64
Dziala thx mo?na . CLOSE. Macie piwka.
Tagi: zapis :: statystyk
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: