MySQL Datenbank-Eintrag fehlerhaft

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

  • if (strcmp("/drogen",cmdtext, true, 10) == 0)
    {
    new string[50],string2[50],string3[50];
    format(string,sizeof(string),"Gras (%i)",SpielerInfo[playerid][pGras]);
    format(string2,sizeof(string2),"Kokain (%i)",SpielerInfo[playerid][pKokain]);
    format(string3,sizeof(string3),"%s\n%s",string,string2);
    ShowPlayerDialog(playerid,DIALOG_DROGEN,DIALOG_STYLE_LIST,"Drogen:",string3,"Auswählen","Abbrechen");
    return 1;
    }

  • -.- macht es überhaupt noch Sinn weiter zu machen?
    Es muss doch klar sein, dass ich auch die MySQL Werte meinte.


    SpielerInfo[playerid][pKokain] =


    Komm mal klar auf dein Trip, sagste das zu jedem der nen Fehler macht? ;)
    Die Werte werden über: [SpielerInfo][playerid][pKokain] ausgelesen,
    und bei CreateAccount steht:



    SpielerInfo[playerid][pGras] = 0;
    mysql_SetInt("accounts", "Gras", SpielerInfo[playerid][pGras],"Name", SpielerInfo[playerid][pName]);


    Dann SavePlayer:



    mysql_SetInt("accounts", "Gras", SpielerInfo[playerid][pGras],"Name", SpielerInfo[playerid][pName]);


    Und LoadPlayer:

    SpielerInfo[playerid][pGras] = mysql_GetInt("accounts", "Gras", "Name", SpielerInfo[playerid][pName]);

  • füg mal zur Kontrolle mal das hier ein.


    if (strcmp("/drogen",cmdtext, true, 10) == 0)
    {
    new string[50],string2[50],string3[50];
    format(string,sizeof(string),"Gras (%i)",SpielerInfo[playerid][pGras]);
    format(string2,sizeof(string2),"Kokain (%i)",SpielerInfo[playerid][pKokain]);
    format(string3,sizeof(string3),"%s\n%s",string,string2);
    printf("%s,%s,%d,%d",string,string2,SpielerInfo[playerid][pGras], mysql_GetInt("accounts", "Gras", "Name", SpielerInfo[playerid][pName]));
    ShowPlayerDialog(playerid,DIALOG_DROGEN,DIALOG_STYLE_LIST,"Drogen:",string3,"Auswählen","Abbrechen");
    return 1;
    }
    Dann führst du den Command aus und schaust in die Serverlog was dabei rauskommt.


    PS: Sollte etwas falsch an dem Code sein, weist mich nicht darauf hin ich bin aus der Übung ;) ich mach das schon

  • Dann wird irgendwo der Integer auf eine Ungültige Zahl bzw. -1 gesetzt.


    Hm, habe bei CreateAccount "Kokain" und "Gras" verglichen, alles exakt gleich und bei Speichern, sowie Laden auch :pinch:



    CreateAccount:


    SpielerInfo[playerid][pGras] = 0;
    SpielerInfo[playerid][pKokain] = 0;


    mysql_SetInt("accounts", "Gras", SpielerInfo[playerid][pGras],"Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Kokain", SpielerInfo[playerid][pKokain],"Name", SpielerInfo[playerid][pName]);


    //EDIT


    Oh man, hab in der MySQL nachgeguckt und die Spalte "Kokain" ist da als "Koks" benannt :cursing:
    deed & Simon ich danke euch :D

    Einmal editiert, zuletzt von Cody_ ()