Login Problem [Benötige Hilfe]

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
  • Guten Tag liebe Brotfischeee,


    ich habe ein Problem un zwar bei meinem Login System.
    Eig funktioniert es perfekt, allerdings ist es selten der Falle, dass die Daten irgendwie nicht geladen werden.
    Ich dachte erst, dass das Script iwie die Daten nicht so schnell wie das Script weitergeht bekommen kann, doch das ist doch eig Quatsch, da er das den Stock ja von oben nach unten verarbeitet.
    Könnt ihr mir helfen oder habt ihr eine Idee, wie man das anders machen könnte?


    Hier mein Code:


    Der Dialog:

    else if(dialogid==DIALOG_LOGIN)
    {
    if(response)
    {
    if(strlen(inputtext) == 0)
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Das Passwort war falsch.\nGebe nun dein richtiges ein:","Login","Abbrechen");
    padminlvl[playerid] = 0;
    pfraktion[playerid] = 0;
    campos(playerid);
    return 1;
    }
    else
    {
    new query[128];
    format(query,sizeof(query),"SELECT * FROM user WHERE Name='%s' AND passwort='%s'",SpielerName(playerid),inputtext);
    mysql_function_query(DB,query,true,"OnPasswordResponse","i",playerid);
    }
    }
    else
    {
    Kick(playerid);
    }
    return 1;
    }



    Und der Public:

    public OnPasswordResponse(playerid)
    {
    new num_fields,num_rows;
    cache_get_data(num_rows,num_fields,DB);
    if(num_rows==1)
    {
    //Passwort richtig

    PlayerPlaySound(playerid, 1063, 0.0, 0.0, 10.0);

    //Spieler laden
    idx[playerid] = cache_get_field_content_int(0, "id", DB);
    pscore[playerid] = cache_get_field_content_int(0, "score", DB);
    pgeld[playerid] = cache_get_field_content_int(0, "geld", DB);
    padminlvl[playerid] = cache_get_field_content_int(0, "adminlevel", DB);
    pfraktion[playerid] = cache_get_field_content_int(0, "fraktion", DB);
    pwanteds[playerid] = cache_get_field_content_int(0, "wanteds", DB);
    pbank[playerid] = cache_get_field_content_int(0, "bank", DB);
    fuhrerschein[playerid] = cache_get_field_content_int(0, "autoschein", DB);
    pkampfstyle[playerid] = cache_get_field_content_int(0, "kampfstyle", DB);
    jobid[playerid] = cache_get_field_content_int(0, "jobid", DB);
    arbeitslosengeld[playerid] = cache_get_field_content_int(0, "arbeitslosengeld", DB);
    prank[playerid] = cache_get_field_content_int(0, "rank", DB);
    neu[playerid] = cache_get_field_content_int(0, "neu", DB);
    pskin[playerid] = cache_get_field_content_int(0, "skin", DB);
    npayday[playerid] = cache_get_field_content_int(0, "payday", DB);
    pbiz[playerid] = cache_get_field_content_int(0, "biz", DB);
    timeban[playerid] = cache_get_field_content_int(0, "tban", DB);
    casinochips[playerid] = cache_get_field_content_int(0, "casinochips", DB);
    knastid[playerid] = cache_get_field_content_int(0, "prison", DB);
    knastzeit[playerid] = cache_get_field_content_int(0, "prisontime", DB);
    ausweis[playerid] = cache_get_field_content_int(0, "ausweis", DB);
    herkunft[playerid] = cache_get_field_content_int(0, "herkunft", DB);
    staatsan[playerid] = cache_get_field_content_int(0, "staatsange", DB);
    wohnort[playerid] = cache_get_field_content_int(0, "wohnort", DB);
    alter[playerid] = cache_get_field_content_int(0, "older", DB);
    cache_get_field_content(0, "ausweisgultig", gultigbis[playerid] ,DB);
    kaufenthalt[playerid] = cache_get_field_content_int(0, "knastaufenthalt", DB);
    tickets[playerid] = cache_get_field_content_int(0, "pdtickets", DB);
    autopunkte[playerid] = cache_get_field_content_int(0, "autopunkte", DB);
    boombox[playerid] = cache_get_field_content_int(0, "boombox", DB);
    sprayticket[playerid] = cache_get_field_content_int(0, "sprayticket", DB);

    SetPlayerFightingStyle(playerid, pkampfstyle[playerid]);
    SetPlayerScore(playerid, pscore[playerid]);

    loadPlayerCars(playerid);

    new string[64];
    format(string,sizeof string,"%s hat den Server betreten.",SpielerName(playerid));
    SendClientMessageToAll(GRUEN,string);
    SetPlayerVirtualWorld(playerid, 0);
    SetPlayerInterior(playerid, 0);
    SpawnPlayer(playerid);
    SetCameraBehindPlayer(playerid);
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(padminlvl[i]>0)
    {
    new ip[16], ipstring[128], ipstring2[128];
    GetPlayerIp(playerid,ip,sizeof(ip));
    format(ipstring,sizeof ipstring,"IP von %s: %s",SpielerName(playerid),ip);
    format(ipstring2,sizeof ipstring2,"%s hat den Server betreten. IP: %s",SpielerName(playerid),ip);
    SendClientMessage(i, GRAU, ipstring);
    Loginlog(playerid, ipstring2);
    }
    }


    if(isPlayerAnAdmin(playerid, 1))
    {
    //Anti Hack Anzeige
    TextDrawShowForPlayer(playerid,antihackback);
    TextDrawShowForPlayer(playerid,antihackheader);


    //OOC Chat
    if(ochannel==false)
    {
    TextDrawShowForPlayer(playerid, oocaus);
    }
    else
    {
    TextDrawShowForPlayer(playerid, oocan);
    }
    TextDrawShowForPlayer(playerid, oocanzeige);
    }
    TogglePlayerControllable(playerid,1);
    }
    else
    {
    //Passwort falsch
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Das Passwort war falsch.\nGebe nun dein richtiges ein:","Login","Abbrechen");
    campos(playerid);
    }


    Ich hoffe ihr könnt mir helfen.
    Danke.


    Mit freundlichen Grüßen,
    Scripter4.0

    Scripter im Ruhestand.

  • Eig funktioniert es perfekt, allerdings ist es selten der Falle, dass die Daten irgendwie nicht geladen werden.


    In bestimmten Fällen ?
    Was steht in diesen Fällen in der MySql Log ?
    Wird nichts geladen oder nur ein Teil der Daten ?


    edit: Erhöhe mal die Größe vom Query, du lädts auch "viele" Sachen.

    Ps. Dein Login ist nicht sicher. :)

    Einmal editiert, zuletzt von Makaveli ()

  • In diesen Fällen, wird da garnichts geladen oder nur ein Teil der Daten ?