Meinst du das ungefähr so?
if(!strcmp(inputtext,UserDaten[playerid][user_Name]) || (strlen(inputtext) < 1))
Wenn ich einen falschen name eingeb kommt Deiser Name ist falsch", jedoch wen ich den richtigen Namen eingeb kommt "Dieses Passwort ist falsch".
Woran kann da liegen?
Dialoge:
case DIALOG_LOGIN:
{
if(!response)return Kick(playerid);
if(strcmp(inputtext,UserDaten[playerid][user_Name]) || strcmp(inputtext,inputtext))
{
SendClientMessage(playerid,ROT,"Der angegebene Name ist falsch");
return ShowPlayerDialog(playerid, DIALOG_LOGIN1, DIALOG_STYLE_INPUT, "{FFFFFF}Anmeldung", "{FFFFFF}Gib bitte deinen OOC Namen ein.", "{FFFFFF}Weiter", "{FFFFFF}Abbrechen");
}
else
{
return ShowPlayerDialog(playerid, DIALOG_LOGIN1, DIALOG_STYLE_INPUT, "{FFFFFF}Anmeldung", "{FFFFFF}Gib bitte deinen OOC Namen ein.", "{FFFFFF}Weiter", "{FFFFFF}Abbrechen");
}
}
case DIALOG_LOGIN1:
{
if(!response)return Kick(playerid);
if(strlen(inputtext) < 6 || strlen(inputtext) > 24)
{
SendClientMessage(playerid,ROT,"Das angegebene Passwort ist falsch");
return ShowPlayerDialog(playerid, DIALOG_LOGIN1, DIALOG_STYLE_PASSWORD, "{FFFFFF}Anmeldung", "{FFFFFF}Um spielen zu können musst du dich einloggen", "{FFFFFF}Einloggen", "{FFFFFF}Abbrechen");
}
new query[500];
mysql_format(handle, query, sizeof(query), "SELECT * FROM `user` JOIN `user_acc` WHERE `username` = '%e' AND `passwort` = MD5('%e')",UserDaten[playerid][user_Name], inputtext);
mysql_pquery(handle, query, "OnUserLogin", "d", playerid);
return 1;
}
Alles anzeigen
OnUserLogin:
new rows,string[500];
cache_get_row_count(rows);
if(rows == 0)
{
format(string,sizeof(string), "Dieses Passwort ist falsch");
SendClientMessage(playerid,ROT,string);
ShowPlayerDialog(playerid, DIALOG_LOGIN1, DIALOG_STYLE_PASSWORD, "{FFFFFF}Anmeldung", "{FFFFFF}Um spielen zu können musst du dich einloggen", "{FFFFFF}Einloggen", "{FFFFFF}Abbrechen");
}
Edit: Fail gefunden
Edit: @Andosius meintest du das so ungefähr? Siehe Beitragsanfang.
Weiterer Edit: Ist es mir mit meinem Code irgendwie möglich, dass ich beim Login den Namen ändere und mit dem neuen Namen dann spiele? Also angenommen im Serverbrowser ist name x drin der auch in der db ist und ich geb ingame dann den namen y an der auch in der db ist.