Das Passwort wird immer noch nicht gespeichert. Desweiteren auch nicht MD5 verschlüsselt.
MYSQL-Log:
SQL
[18:54:38] [DEBUG] CMySQLConnection::Connect - establishing connection to database...
[18:54:38] [DEBUG] CMySQLConnection::Connect - establishing connection to database...
[18:54:38] [DEBUG] CMySQLConnection::Connect - establishing connection to database...
[18:54:38] [DEBUG] CMySQLConnection::Connect - connection was successful
[18:54:38] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled
[18:54:38] [DEBUG] CMySQLConnection::Connect - connection was successful
[18:54:38] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled
[18:54:38] [DEBUG] CMySQLConnection::Connect - connection was successful
[18:54:38] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled
[18:55:39] [DEBUG] mysql_tquery - connection: 1, query: "SELECT id FROM user WHERE username='X_CROXX_X' ", callback: "OnUserCheck", format: "i"
[18:55:39] [DEBUG] CMySQLQuery::Execute[OnUserCheck] - starting query execution
[18:55:39] [DEBUG] CMySQLQuery::Execute[OnUserCheck] - query was successfully executed within 0.343 milliseconds
[18:55:39] [DEBUG] CMySQLResult::CMySQLResult() - constructor called
[18:55:39] [DEBUG] Calling callback "OnUserCheck"..
[18:55:39] [DEBUG] cache_get_data - connection: 1
[18:55:39] [DEBUG] CMySQLResult::~CMySQLResult() - deconstructor called
[18:55:48] [DEBUG] mysql_tquery - connection: 1, query: "INSERT INTO user (username, passwort, level) VALUES ('X_CROXX_X'", callback: "OnPlayerRegister", format: "d"
[18:55:48] [DEBUG] CMySQLQuery::Execute[OnPlayerRegister] - starting query execution
[18:55:48] [DEBUG] CMySQLQuery::Execute[OnPlayerRegister] - query was successfully executed within 2.99 milliseconds
[18:55:48] [DEBUG] CMySQLResult::CMySQLResult() - constructor called
[18:55:48] [DEBUG] Calling callback "OnPlayerRegister"..
[18:55:48] [DEBUG] cache_insert_id - connection: 1
[18:55:48] [DEBUG] CMySQLResult::~CMySQLResult() - deconstructor called
Alles anzeigen
Spieler Register und Login:
Code
public OnUserCheck(playerid)
{
new num_rows,num_fields;
cache_get_data(num_rows,num_fields,dbhandle);
if(num_rows==0)
{
//Register
ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Account Erstellung","Gebe bitte nun dein gewünschtes Passwort ein!","Registrieren","Abbrechen");
}
else
{
//Login
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Anmelden","Gebe bitte dein Passwort ein.","Anmleden","Abbrechen");
}
return 1;
}
public OnPlayerRegister(playerid)
{
sInfo[playerid][db_id] = cache_insert_id();
return 1;
}
Alles anzeigen
Code
public OnPlayerConnect(playerid)
{
if(IsPlayerNPC(playerid)) return 1;
new nachricht[128];
format(nachricht,sizeof(nachricht),"Du bist mit der ID %i verbunden.",playerid);
SendClientMessage(playerid,rot,nachricht);
//Login/Register:
new name[MAX_PLAYER_NAME],query[128];
GetPlayerName(playerid,name,sizeof(name));
format(query,sizeof(query),"SELECT id FROM user WHERE username='%s' ",name);
mysql_function_query(dbhandle,query,true,"OnUserCheck","i",playerid);
SendClientMessage(playerid,grün,"Willkommen auf Reallife Version 0.1.4! Wir wünschen euch ein angenehmen Spiel spaß bei uns!");
//textdraws anzeigen:
TextDrawShowForPlayer(playerid,Text:uhrzeitLabel);
TextDrawShowForAll(Jahr);
SetPlayerColor(playerid,weiß);
sInfo[playerid][level]=1;
SetPlayerScore(playerid,sInfo[playerid][level]);
return 1;
}
savePlayer(playerid)
{
if(sInfo[playerid][eingeloggt]==0)return 1;
//Speichern level,money
new query[256];
format(query,sizeof(query),"UPDATE user SET level='%i',money='%i',alevel='%i',fraktion='%i',rang='%i',spawnchange='%i' WHERE id='%i'",sInfo[playerid][level],GetPlayerMoney(playerid),sInfo[playerid][alevel],sInfo[playerid][fraktion],sInfo[playerid][rang],sInfo[playerid][spawnchange],sInfo[playerid][db_id]);
mysql_function_query(dbhandle,query,false,"","");
return 1;
}
resetPlayer(playerid)
{
for(new i=0; i<sizeof(sInfo[]); i++)
{
sInfo[playerid][playerInfo:i]=0;
}
return 1;
}
Alles anzeigen
Code
public OnPasswordResponse(playerid)
{
new num_rows,num_fields;
cache_get_data(num_rows,num_fields,dbhandle);
if(num_rows==1)
{
//passwort Richtig
sInfo[playerid][eingeloggt] = 1;
sInfo[playerid][level] = cache_get_field_content_int(0,"level",dbhandle);
SetPlayerScore(playerid,sInfo[playerid][level]);
sInfo[playerid][db_id] = cache_get_field_content_int(0,"id",dbhandle);
SetPlayerMoney(playerid,cache_get_field_content_int(0,"money",dbhandle));
sInfo[playerid][alevel] = cache_get_field_content_int(0,"alevel",dbhandle);
sInfo[playerid][fraktion] = cache_get_field_content_int(0,"fraktion",dbhandle);
sInfo[playerid][rang] = cache_get_field_content_int(0,"rang",dbhandle);
sInfo[playerid][spawnchange] = cache_get_field_content_int(0,"spawnchange",dbhandle);
SetPlayerScore(playerid,sInfo[playerid][level]);
loadPlayerCars(playerid);
}
else
{
//Passwort Falsch
SendClientMessage(playerid,grün,"Du hast dein Passwort falsch eingetippt. Versuche es nochmal!");
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Gibt bitte dein Passwort ein:","Anmelden","Abbrechen");
}
return 1;
}
Alles anzeigen
Code
if(dialogid==DIALOG_LOGIN)
{
if(response)
{
new name[MAX_PLAYER_NAME],query[128],passwort[35];
GetPlayerName(playerid,name,sizeof(name));
if(strlen(inputtext)>0)
{
mysql_escape_string(inputtext,passwort,dbhandle);
format(query,sizeof(query),"INSERT INTO user (username, passwort, level) VALUES ('%s', MD5('%s'), '1')",name,passwort);
mysql_function_query(dbhandle,query,true,"OnPasswordResponse","i",playerid);
}
else
{
//Keine Eingabe
SendClientMessage(playerid,grün,"Gibt bitte dein Passwort ein.");
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Gibt bitte dein Passwort ein:","Anmelden","Abbrechen");
}
}
else
{
Kick(playerid);
}
}
if(dialogid==DIALOG_REGISTER)
{
if(response)
{
new name[MAX_PLAYER_NAME],query[128],passwort[35];
GetPlayerName(playerid,name,sizeof(name));
if(strlen(inputtext)>5)
{
//Registrierungsfunktion
format(query,sizeof(query),"INSERT INTO user (username, passwort, level) VALUES ('%s', '%s', '1')",name,passwort);
mysql_function_query(dbhandle,query,false,"OnPlayerRegister","d",playerid);
sInfo[playerid][level]=1;
SetPlayerScore(playerid,sInfo[playerid][level]);
}
else
{
//Kleiner als 4 Zeichen
SendClientMessage(playerid,helblau,"Dein Passwort muss mindestens 6 Zeichen lang sein.");
ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Account Erstellung","Gebe bitte nun dein gewünschtes Passwort ein!","Erstellen","Abbrechen");
}
}
else
{
Kick(playerid);
}
}
Alles anzeigen