Problem mit MySQL Script

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,
    ich habe angefangen ein neues Script zu Scripten - mit MYSQL.
    Nun, habe ich ein paar Befehle wie zum Beispiel "/Admin".
    Wenn ich diesen Befehl eingebe, werde ich Admin Level 10.
    Hier der Command.
    if (strcmp("/admin", cmdtext, true, 10) == 0)
    {
    if(IsPlayerAdmin(playerid))
    {
    SendClientMessage(playerid, Weiß, "SERVER: You are now Admin level 10.");
    SpielerInfo[playerid][pLevel] = 10;
    SavePlayer(playerid);
    SendClientMessage(playerid, Grün, "Dein Account wurde gespeichert!");
    return 1;
    }
    else
    {
    SendClientMessage(playerid,Rot,"Du bist kein Rcon Admin!!");
    }
    return 1;
    }


    Jetzt habe ich das Problem, dass es nicht gespeichert wird. Wieso ?
    Hier der Stock
    stock SavePlayer(playerid)
    {
    if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
    {
    if(GetPVarInt(playerid,"Eingeloggt") == 1)
    {
    mysql_SetInt("acc", "Level", SpielerInfo[playerid][pLevel], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("acc", "Geld", SpielerInfo[playerid][pGeld], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("acc", "Kills", SpielerInfo[playerid][pKills], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("acc", "Tode", SpielerInfo[playerid][pTode], "Name", SpielerInfo[playerid][pName]);
    }
    }
    return 1;
    }


    Danke für eure Hilfe.

  • stock LoadPlayer(playerid)
    {
    if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
    {
    GetPlayerName(playerid, SpielerInfo[playerid][pName], MAX_PLAYER_NAME);
    SpielerInfo[playerid][pLevel] = mysql_GetInt("acc", "Level", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pGeld] = mysql_GetInt("acc", "Geld", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pKills] = mysql_GetInt("acc", "Kills", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pTode] = mysql_GetInt("acc", "Tode", "Name", SpielerInfo[playerid][pName]);
    }
    return 1;
    }


    Das stimmt doch auch? D:


    Oder was genau meinst du?

  • printe mal die ergebnisse die er ausgibt beim Laden und beim Speichern des palyers
    z.B.

    printf("Level: %d",SpielerInfo[playerid][pLevel]);


    so meine ich das


  • Ich habe einen Befehl zum Testen gemacht:


    if (strcmp("/login2", cmdtext, true, 7) == 0)
    {
    SendClientMessage(playerid, Weiß, "SERVER: You are now Loged in!");
    LoadPlayer(playerid);
    printf("Level: %d",SpielerInfo[playerid][pLevel]);
    return 1;
    }


    mit diesem CMD geht es seltsamer weise.


    Also muss der Fehler hier liegen. Aber wo?


    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    switch(dialogid)
    {
    case DIALOG_REGISTER:
    {
    if(response)
    {
    if(strlen(inputtext) == 0)
    {
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Register","Das angegebene Passwort war zu Kurtz...\nBitte Registrier dich jetzt mit einem Passwort:","Register","Abbrechen");
    return 1;
    }
    else
    {
    CreateAccount(playerid, inputtext);
    SetPVarInt(playerid,"Eingeloggt",1);
    return 1;
    }
    }
    else
    {
    Kick(playerid);
    }
    }
    case DIALOG_LOGIN:
    {
    if(response)
    {
    if(strlen(inputtext) == 0)
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Das Angegebene Passwort war Falsch.\nBitte log dich jetzt mit dem richtigen Passwort ein:","Login","Abbrechen");
    return 1;
    }
    else
    {
    new SpielerName[MAX_PLAYER_NAME];
    GetPlayerName(playerid, SpielerName, MAX_PLAYER_NAME);
    if(!strcmp(inputtext, mysql_ReturnPasswort(SpielerName), true))
    {
    SetPVarInt(playerid,"Eingeloggt",1);
    LoadPlayer(playerid);
    return 1;
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Das war das Falsche Passwort.\nBitte log dich jetzt mit dem richtigen Passwort ein:","Login","Abbrechen");
    return 1;
    }
    }
    }
    else
    {
    Kick(playerid);
    }
    }
    }
    return 1;
    }


    brauche Hilfe D: