ein Public wird beim 2. Login erst ausgeführt

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hallo,
    Irgendwie funktioniert mein Mysql System nicht ganz, i.wie lädt er die Accounts bei 2 Login bzw. der Stock/Public wird erst beim 2. Login ausgeführt?
    Das habe ich herausgefunden, in dem die Message erst beim 2.Login kam
    Ich bin echt verwirrt.

    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;
    }