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

Wysłany: 2013-04-25, 11:26


macias133







Wiek: 37
Na forum: 6149 dni
Posty: 13

Piwa: 146

Respekt: 50

Cze??, mam pewien problem, wczoraj napisa?em rejestracj?/logowanie.
Zapisuje si? wszystko dobrze, lecz nie dzia?a logowanie si?, chod? wpisuj? prawid?owe has?o - zwraca mi komunikat, ?e wpisa?em z?e has?o.

Zapis konta w scriptfiles:
Kod:

[Info'o graczu]
Aktywne = true
Haslo = A76E1A2281B9282BBB36B1B4C1C000B6BA79E1449D2BFD11877AEA46DE56154AC04E05E8645B7C694FB52F2326AD4BD1AEDE41AF0E1FC16A5EA2AEB69825FD9
Admin = 0
VIP = 0
Kasa = 0
PktDrift = 0


Kod dialogu Login:

Kod:

if(dialogid == DIALOG_LOGIN && response) {

if(!response) return Kick(playerid);
new HashPass[129];
WP_Hash(HashPass, sizeof(HashPass), inputtext);
if(strcmp(HashPass, player_data[playerid][player_pass]) == 0){
INI_ParseFile(Gracz(playerid),"Zaladuj_Dane",.bExtra = true, .extra = playerid);
GivePlayerMoney(playerid, player_data[playerid][player_cash]);
SetPlayerScore(playerid, player_data[playerid][player_driftpoints]);
SCMInfo(playerid, "Zalogowa?e? si? pomy?lnie");
TogglePlayerSpectating(playerid, false);
}else{
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,""servname" (Logowanie)","\
Witamy na DriftServer ponownie,\naby si? rozpocz?? rozgrwyk? wpisz has?o poni?ej.","Zaloguj","Wyj?cie");
}
}return 1;
}


Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-04-25, 14:49


Quis

Wszechwiedzący






Wiek: 31
Na forum: 5146 dni
Posty: 464
Nick w MP: Quis

Piwa: 1110

Respekt: 325
Respekt: 325Respekt: 325Respekt: 325

Sprobuj przed warunkiem wklepa?:
Kod:

printf("haslo: %s", player_data[playerid][player_pass]);

I zobacz co wy?wietli w konsoli. Mo?e ?le masz wczytane has?o z pliku.

Pozdrawiam

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-04-25, 15:08


macias133







Wiek: 37
Na forum: 6149 dni
Posty: 13

Piwa: 146

Respekt: 50

Za?o?y?em nowe konto na serwerze, has?o domy?lne:

Kod:

7D73388F9B889B1E59642AEE80007658A8B3041BC6B5F52CFC5E88C84B04DFF67A74E05EB31280FF609177BB27C6093DF4D41EBFDF5BE8112220F85AE84D0CE


Z log?w:
Kod:

7D73388F9B889B1E59642AEE80007658A8B3041BC6B5F52CFC5E88C84B04DFF67A74E05EB31280FF609177BB27C6093DF4D41EBFDF5BE8112220F85AE84D0CE


Takie same, musi by? w czym? innym bl?d.

Dam ca?y kod skryptu:


Kod:


enum PlayerInfo {
bool:account_active,
player_pass[129],
player_admin,
player_premium,
player_cash,
player_driftpoints,
} new player_data[MAX_PLAYERS][PlayerInfo];

#define USER_PATH_FILE "DriftServer/Konta/%s.ini"

native WP_Hash(buffer[],len,const str[]);


public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_REG) {
if(!response) return Kick(playerid);
if(!strlen(inputtext))
return ShowPlayerDialog(playerid,DIALOG_REG,DIALOG_STYLE_PASSWORD,""servname" (Rejestracja)","\
Witaj na serwerze DriftServer,\nto konto NIE jest zarejestrowane,\naby si? zarejestrowa? wpisz has?o poni?ej.\nWpisz has?o poni?ej !","Rejestruj","Wyjd?");
if(strlen(inputtext)<5||strlen(inputtext)>10)
return ShowPlayerDialog(playerid,DIALOG_REG,DIALOG_STYLE_PASSWORD,""servname" (Rejestracja)","\
Witaj na serwerze DriftServer,\nto konto NIE jest zarejestrowane,\naby si? zarejestrowa? wpisz has?o poni?ej.\nHas?o musi si? sk?ada? z conajmniej 5 znak?w, maksymalna\
ilo?? znak?w to 10.","Rejestruj","Wyjd?");
if(response) {


new INI:file = INI_Open(Gracz(playerid));
INI_SetTag(file,"Info'o graczu");
INI_WriteBool(file,"Aktywne", true);
new hashpass[129];
WP_Hash(hashpass,sizeof(hashpass),inputtext);
INI_WriteString(file,"Haslo",hashpass);
INI_WriteInt(file,"Admin",0);
INI_WriteInt(file,"VIP",0);
INI_WriteInt(file,"Kasa",0);
INI_WriteInt(file,"PktDrift",0);
INI_Close(file);

SCMInfo(playerid, "Zarejestrowale? si? pomy?lnie");
TogglePlayerSpectating(playerid, false);

SetSpawnInfo(playerid, 0, 0, 1958.33, 1343.12, 15.36, 269.15, 0, 0, 0, 0, 0, 0);
}
return 1;
}
if(dialogid == DIALOG_LOGIN && response) {

if(!response) return Kick(playerid);
new HashPass[129];
WP_Hash(HashPass, sizeof(HashPass), inputtext);
if(strcmp(HashPass, player_data[playerid][player_pass]) == 0){
INI_ParseFile(Gracz(playerid),"Zaladuj_Dane",.bExtra = true, .extra = playerid);
GivePlayerMoney(playerid, player_data[playerid][player_cash]);
SetPlayerScore(playerid, player_data[playerid][player_driftpoints]);
SCMInfo(playerid, "Zalogowa?e? si? pomy?lnie");
TogglePlayerSpectating(playerid, false);
}else{

ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,""servname" (Logowanie)","\
Witamy na DriftServer ponownie,\naby si? rozpocz?? rozgrwyk? wpisz has?o poni?ej.","Zaloguj","Wyj?cie");
}
}return 1;
}



stock PlayerName(playerid) {
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
return pname;
}

stock Gracz(playerid)
{
new PlayerNick[MAX_PLAYER_NAME], string[256];
GetPlayerName(playerid,PlayerNick,sizeof(PlayerNick));
format(string,sizeof(string),USER_PATH_FILE,PlayerNick);
return string;
}

forward Zaladuj_Dane(playerid, name[], value[]);
public Zaladuj_Dane(playerid, name[], value[])
{
INI_Bool("Aktywne", player_data[playerid][account_active]);
INI_String("Haslo", player_data[playerid][player_pass],129);
INI_Int("Admin",player_data[playerid][player_admin]);
INI_Int("VIP",player_data[playerid][player_premium]);
INI_Int("Kasa",player_data[playerid][player_cash]);
INI_Int("PktDrift",player_data[playerid][player_driftpoints]);
return 1;
}

stock SaveAccountData(playerid) {
new INI:file = INI_Open(Gracz(playerid));
INI_SetTag(file,"Info'o graczu");
INI_WriteBool(file,"Aktywne",player_data[playerid][account_active]);
INI_WriteInt(file,"Admin",player_data[playerid][player_admin]);
INI_WriteInt(file,"VIP",player_data[playerid][player_premium]);
INI_WriteInt(file,"Kasa",GetPlayerMoney(playerid));
INI_WriteInt(file,"PktDrift",GetPlayerScore(playerid));
INI_Close(file);
return 1;
}

stock CheckIsAccountExits(playerid) {
if(fexist(Gracz(playerid))) {
INI_ParseFile(Gracz(playerid),"Zaladuj_Dane", .bExtra = true, .extra = playerid);
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,""servname" (Logowanie)","\
Witamy na DriftServer ponownie,\naby si? rozpocz?? rozgrwyk? wpisz has?o poni?ej.","Zaloguj","Wyj?cie");
}else {
ShowPlayerDialog(playerid,DIALOG_REG,DIALOG_STYLE_PASSWORD,""servname" (Rejestracja)","\
Witaj na serwerze DriftServer,\nto konto NIE jest zarejestrowane,\naby si? zarejestrowa? wpisz has?o poni?ej.","Rejestruj","Wyjd?");
return 1;
}return 1;
}


@Edit

Pr?bowa?em przed chwil? sprawdzi? tym kodem:

Kod:

WP_Hash(HashPass, sizeof(HashPass), inputtext);
printf("has?o: %s", HashPass);


Czy has?o jest takie same jakie wpisuje w inpucie, bez skutku.

@DOWN

Musia?em si? pomyli?, po tym jak to przerabia?em pod poszczeg?lne funkcje.
Og?lnie usuni?cie returna nic nie zmieni, sprawdza?em przed chwil?.

@Edit2

Spr?bowa?em zmieni? szyfrowanie z Whirlpoola na MD5, tak?e nie odczytuje.
Mo?liwe, ?e y_ini nie dzia?a kompatybilnie pod 0.3x, wcze?niej rejestracja dzia?a?a, chyba b?de zmuszony przej?? na DOF2/SQLite lub MySQL.

Ostatnio zmieniony przez macias133 2013-04-26, 16:57, w całości zmieniany 5 razy  
Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-04-25, 15:15


B!4CK

Never give UP!






Wiek: 32
Na forum: 5809 dni
Posty: 1047
Nick w MP: John

Piwa: 1891

Respekt: 124,2
Respekt: 124,2

Kod:


stock CheckIsAccountExits(playerid) {
if(fexist(Gracz(playerid))) {
INI_ParseFile(Gracz(playerid),"Zaladuj_Dane", .bExtra = true, .extra = playerid);
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,""servname" (Logowanie)","\
Witamy na DriftServer ponownie,\naby si? rozpocz?? rozgrwyk? wpisz has?o poni?ej.","Zaloguj","Wyj?cie");
}else {
ShowPlayerDialog(playerid,DIALOG_REG,DIALOG_STYLE_PASSWORD,""servname" (Rejestracja)","\
Witaj na serwerze DriftServer,\nto konto NIE jest zarejestrowane,\naby si? zarejestrowa? wpisz has?o poni?ej.","Rejestruj","Wyjd?");
return 1;
}return 1;
}


Podw?jny return ?

Podpis
Cześć
! :)


Projekt, który poruszy scenę platformy SA:MP!
Postaw piwo autorowi tego posta
 

 
Tagi: logowanie :: nie :: wykrywa :: hasła.
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » PAWN 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