Sachen beim Login geben

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 Community...


    Da ich Login & Register sehr kompliziert finde und unlogisch kann ich diese nicht selbst schreiben...
    Nun finde ich es eigentlich ganz logisch und übersichtlich verstehe nur eins nicht...


    Wie kann ich nun meine Sachen speichern & Laden...


    Ich will ihm nun beim Login beispielsweise Geld wiedergeben :S


    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    new name[MAX_PLAYER_NAME], path[128];
    GetPlayerName(playerid, name, MAX_PLAYER_NAME);
    format(path, 128, "/spieler/%s.ini", name);
    if(dialogid == DIALOG_LOGIN && response)
    {
    new pw[256];
    pw = dini_Get(path, "PW");
    if(strcmp(pw, inputtext))SendClientMessage(playerid, ROT, "Das eingegebene Passwort ist falsch.");
    else
    {
    SetPVarInt(playerid, "loggedin", 1)
    GivePlayerMoney(playerid, dini_Get(path, "Geld")); //605 <-----------

    }
    return 1;
    }

    if(dialogid == DIALOG_REGISTER1 && response)
    {
    dini_Create(path);
    dini_Set(path, "PW", inputtext);
    ShowPlayerDialog(playerid, DIALOG_REGISTER2, DIALOG_STYLE_LIST, "Geheime Frage auswählen", "Wie ist der Name deiner Mutter?\r\nWie heißt dein Haustier?\r\nWo bist du geboren?", "Weiter", "Abbrechen");
    return 1;
    }


    C:\Users\Felix\Desktop\selfmade1\gamemodes\Selfmade.pwn(605) : error 001: expected token: ";", but found "-identifier-"
    C:\Users\Felix\Desktop\selfmade1\gamemodes\Selfmade.pwn(605) : error 035: argument type mismatch (argument 2)
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    2 Errors.

  • Ja, aber wie einen Eintrag machen... :S


    Also ich will ja erstmal wissen, wie ich dem das gebe...


    Müsste ja eigentlich so gehen, aber wenn ich das so mache:


    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    new name[MAX_PLAYER_NAME], path[128];
    GetPlayerName(playerid, name, MAX_PLAYER_NAME);
    format(path, 128, "/spieler/%s.ini", name);
    if(dialogid == DIALOG_LOGIN && response)
    {
    new pw[256];
    pw = dini_Get(path, "PW");
    if(strcmp(pw, inputtext))SendClientMessage(playerid, ROT, "Das eingegebene Passwort ist falsch.");
    else
    {
    SetPVarInt(playerid, "loggedin", 1);
    GivePlayerMoney(playerid, dini_Get(path, "Geld")); //605 <-----------

    }
    return 1;
    }

    if(dialogid == DIALOG_REGISTER1 && response)
    {
    dini_Create(path);
    dini_Set(path, "PW", inputtext);
    dini_Set(path, "Geld", 0); //<-------- 615
    ShowPlayerDialog(playerid, DIALOG_REGISTER2, DIALOG_STYLE_LIST, "Geheime Frage auswählen", "Wie ist der Name deiner Mutter?\r\nWie heißt dein Haustier?\r\nWo bist du geboren?", "Weiter", "Abbrechen");
    return 1;
    }


    kommen jeweils die Errors:


    C:\Users\Felix\Desktop\selfmade1\gamemodes\Selfmade.pwn(605) : error 035: argument type mismatch (argument 2)
    C:\Users\Felix\Desktop\selfmade1\gamemodes\Selfmade.pwn(615) : error 035: argument type mismatch (argument 3)
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    2 Errors.

  • public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    new name[MAX_PLAYER_NAME], path[128];
    GetPlayerName(playerid, name, MAX_PLAYER_NAME);
    format(path, 128, "/spieler/%s.ini", name);
    if(dialogid == DIALOG_LOGIN && response)
    {
    new pw[256];
    pw = dini_Get(path, "PW");
    if(strcmp(pw, inputtext))SendClientMessage(playerid, ROT, "Das eingegebene Passwort ist falsch.");
    else
    {
    SetPVarInt(playerid, "loggedin", 1);
    GivePlayerMoney(playerid, dini_Int(path, "Geld"));

    }
    return 1;
    }

    if(dialogid == DIALOG_REGISTER1 && response)
    {
    dini_Create(path);
    dini_Set(path, "PW", inputtext);
    dini_IntSet(path, "Geld", 0);
    ShowPlayerDialog(playerid, DIALOG_REGISTER2, DIALOG_STYLE_LIST, "Geheime Frage auswählen", "Wie ist der Name deiner Mutter?\r\nWie heißt dein Haustier?\r\nWo bist du geboren?", "Weiter", "Abbrechen");
    return 1;
    }


    Versuchs so.


    //edit
    Fehler:
    -dini_SetInt für Integer (Zahlen)
    -dini_Int zur Abfrage von Integern

  • ändere
    if(strcmp(pw, inputtext))SendClientMessage(playerid, ROT, "Das eingegebene Passwort ist falsch.");
    zu
    if(strcmp(pw, inputtext)) return SendClientMessage(playerid, ROT, "Das eingegebene Passwort ist falsch.");

    Hat doch garnichts mit der Frage zu tun? :S


    Danke <3
    Hat geklappt :love: