Hey,
Wenn man sich auf meinem Server anmeldet und dann z.b direkt Kills macht oder Tode und sich dann ausloggt, speichert er nicht.
Aber wenn er sich dann wieder einloggt und Kills und Tode macht, werden die dann erst gespeichert.
Ich frage mich wieso..
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch(dialogid)
{
case 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),"SELECT * FROM user WHERE username='%s' AND password='%s'",name,passwort);
mysql_function_query(dbhandle,query,true,"OnPasswordResponse","i",playerid);
}else{
//Keine Eingabe
SendClientMessage(playerid,ROT,"Gibt bitte dein Passwort ein.");
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Gibt bitte dein Passwort ein:","Okay","Abbrechen");
}
}else{
Kick(playerid);
}
}
case DIALOG_REGISTER:
{
if(response)
{
new name[MAX_PLAYER_NAME],query[128],passwort[35];
GetPlayerName(playerid,name,sizeof(name));
if(strlen(inputtext)>3)
{
//Registrierungsfunktion
mysql_escape_string(inputtext,passwort,dbhandle);
format(query,sizeof(query),"INSERT INTO user (username,password) VALUES ('%s','%s') ",name,passwort);
mysql_function_query(dbhandle,query,false,"","");
}else{
//Kleiner als 4 Zeichen
SendClientMessage(playerid,ROT,"Dein Passwort muss mindestens 4 Zeichen lang sein.");
ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrierung","Gib bitte dein gewünschtes Passwort an:","Okay","Abbrechen");
}
}else{
Kick(playerid);
}
}
public OnPasswordResponse(playerid)
{
new num_fields,num_rows;
cache_get_data(num_rows,num_fields,dbhandle);
if(num_rows==1)
{
//Passwort richtig
SendClientMessage(playerid,GELB,"Du hast dich erfolreich eingeloggt!");
sInfo[playerid][pEingeloggt] = 1;
sInfo[playerid][pLevel] = cache_get_field_content_int(0,"level",dbhandle);
sInfo[playerid][pAdmin] = cache_get_field_content_int(0,"adminlevel",dbhandle);
sInfo[playerid][pPoints] = cache_get_field_content_int(0,"points",dbhandle);
sInfo[playerid][pKills] = cache_get_field_content_int(0,"kills",dbhandle);
sInfo[playerid][pTod] = cache_get_field_content_int(0,"tode",dbhandle);
SetPlayerScore(playerid,sInfo[playerid][pLevel]);
sInfo[playerid][PlayerID] = cache_get_field_content_int(0,"id",dbhandle);
GivePlayerMoney(playerid,cache_get_field_content_int(0,"money",dbhandle));
}
else
{
//Passwort falsch
SendClientMessage(playerid,ROT,"Das eingegebene Passwort ist falsch.");
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Gibt bitte dein Passwort ein:","Okay","Abbrechen");
}
return 1;
}