Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2016-11-01, 18:29


Cr3v_

$ chmod -r 666 /root






Wiek: 25
Na forum: 3511 dni
Posty: 33
Nick w MP: [PSR]Driv3r.

Piwa: 2

Respekt: 50

Ostrzeżeń: 60%
Ot?? mam 2 problemy.

1 problem jest nast?puj?cy. Przypuszczaj?c ?e moja ?cie?ka do zapisu kont wygl?da nast?puj?co

Kod:

#define P_FILES "/Server/Gracze/"


To konto zapisuje si? w nast?puj?cy spos?b

Kod:

GraczeNick.cfg


A kod zapisu konta wygl?da tak

Kod:

stock SciezkaKontaGracza(playerid)
{
new sciezka[128];
format(sciezka, sizeof sciezka, P_FILES"%s.cfg, NazwaGracza(playerid));
return sciezka;
}


Oczywi?cie pr?bowa?em definicje zamienia? na docelow? ?cie?k? lecz nie pomog?o..

A drugi wygl?da nast?puj?co.

Przypu??my ?e has?o do mojego konta wygl?da tak : 123

W oknie logowanie wpisuje has?o "123" loguje mnie prawid?owo, lecz gdy okno logowania zostawiam puste i kilkam na "Dalej" to automatycznie mnie loguje.

A gdy wpisuje has?o "321" to zwraca mnie do dialogu m?wi?c ?e has?o jest nie prawid?owe..

Kod logowania w kt?rym b??d istnieje wygl?da nast?puj?co :

Kod:

stock StworzKonto(playerid, haslo[])
{
dfile_Create(SciezkaKontaGracza(playerid));
dfile_Open(SciezkaKontaGracza(playerid));

dfile_WriteString("Haslo", haslo);
dfile_WriteInt("Punkty", PUNKTY_NA_START);
dfile_WriteInt("Kasa", KASA_NA_START);
dfile_WriteInt("Level", 1);

dfile_SaveFile();
dfile_CloseFile();
return 1;
}


stock WczytajKonto(playerid)
{
ResetPlayerMoney(playerid);

dfile_Open(SciezkaKontaGracza(playerid));

SetPlayerScore(playerid, dfile_ReadInt("Punkty"));
GivePlayerMoney(playerid, dfile_ReadInt("Kasa"));

dfile_CloseFile();
return 1;
}

stock ZapiszKonto(playerid)
{
dfile_Create(SciezkaKontaGracza(playerid));
dfile_Open(SciezkaKontaGracza(playerid));

dfile_WriteInt("Punkty", GetPlayerScore(playerid));
dfile_WriteInt("Kasa", GetPlayerMoney(playerid));
dfile_WriteInt("Level", 1);

dfile_SaveFile();
dfile_CloseFile();
return 1;
}


A tu public OnDialogResponse()

Kod:

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_LOGOWANIE)
{
if(response)
{
dfile_Open(SciezkaKontaGracza(playerid));
new haslo[300];
haslo = dfile_ReadString("Haslo");
dfile_CloseFile();
if(strcmp(inputtext, haslo, false) == 0)
{
WczytajKonto(playerid);
DaneGracza[playerid][Zalogowany] = true;
SendClientMessage(playerid, 0x2B93FFFF, "SERWER: Haslo sie zgadza, zostales zalogowany.");
}
else
{
OknoLogowania(playerid);
SendClientMessage(playerid, 0x2B93FFFF, "SERWER: Haslo sie nie zgadza!");
}
}
}
if(dialogid == DIALOG_REJESTRACJA)
{
if(response)
{
if(strlen(inputtext) >= 6)
{
StworzKonto(playerid, inputtext);
OknoLogowania(playerid);
SendClientMessage(playerid, 0x2B93FFFF, "Serwer: Konto zostalo pomyslnie zalozone ! \nMozesz sie teraz zalogowac");
}
else
{
OknoRejestracji(playerid);
SendClientMessage(playerid, 0x2B93FFFF, "Serwer: Haslo ma posiadac 6 lub wiecej znakow!");
}
}
else Kick(playerid);
}
return 0;
}



Licz? na szybkie rozwi?zanie problemu w odpowiedziach.. Dzi?kuje ;)
Oczywi?cie wynagrodz? w postaci :piwo:

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-11-01, 19:14


ToxiC.







Wiek: 28
Na forum: 5246 dni
Posty: 3792

Piwa: 8590

Respekt: 1143,8
Respekt: 1143,8

Pawn

stock SciezkaKontaGracza(playerid) 
{ 
new sciezka[128]; 
format(sciezkasizeof sciezka"/Server/Gracze/%s.cfg"NazwaGracza(playerid)); 
return sciezka; 
}


Pawn

if(dialogid == DIALOG_LOGOWANIE) 
{ 
if(response) 
{ 
 if(!strlen(inputtext)) return OknoLogowania(playerid);
dfile_Open(SciezkaKontaGracza(playerid)); 
new haslo[300]; 
haslo dfile_ReadString("Haslo"); 
dfile_CloseFile(); 
if(strcmp(inputtexthaslofalse) == 0) 
{ 
WczytajKonto(playerid); 
DaneGracza[playerid][Zalogowany] = trueSendClientMessage(playerid0x2B93FFFF"SERWER: Haslo sie zgadza, zostales zalogowany."); 
} 
else 
{ 
OknoLogowania(playerid); 
SendClientMessage(playerid0x2B93FFFF"SERWER: Haslo sie nie zgadza!"); 
} 
} 
} 



Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-11-01, 20:10


Cr3v_

$ chmod -r 666 /root






Wiek: 25
Na forum: 3511 dni
Posty: 33
Nick w MP: [PSR]Driv3r.

Piwa: 2

Respekt: 50

Ostrzeżeń: 60%
ToxiC. Dzi?ki! Oczywi?cie piwko leci

//lock rozwi?zane.

Postaw piwo autorowi tego posta
 

 
Tagi: system :: rejestracji :: dfile :: logowanie :: bez :: hasła :: bug :: zapisu
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » PAWN » System rejestracji DFILE - Logowanie bez hasła i bug zapisu Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Dodaj temat do Ulubionych
Wersja do druku