Dini funktioniert nicht..

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
  • Hey hatte ewig nichtmehr so ein Problem.. aber ich kann nicht lösen..
    es liegt nicht an an meiner Definition im Dialog mit dem Text: "#SName" etc...
    vielen dank im vorraus.



    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid == DIALOG_LOGIN)
    {
    if(response == 0)
    {
    SendClientMessage(playerid,Rot,"Du hast den Login Vorgang abgebrochen!");
    Kick(playerid);
    return 1;
    }
    if(response == 1)
    {
    if(!strlen(inputtext))
    {
    SendClientMessage(playerid,Grün,"Dein eingegebenes Passwort war nicht lang genug!");
    ShowPlayerDialog(playerid,1,DIALOG_STYLE_PASSWORD,"Login auf "#STag"","{FFFFFF}Herzlich Willkommen auf "#SName" "#SName2".\nLogge dich bitte ein, um bei uns Spielen zu können.","Login", "Abbrechen");
    return 1;
    }
    else
    {
    Login(playerid,inputtext);
    return 1;
    }
    }
    }
    if(dialogid == DIALOG_REGISTER)
    {
    if(response == 0)
    {
    SendClientMessage(playerid,Rot,"Sie haben die Registrierung abgebrochen!");
    Kick(playerid);
    return 1;
    }
    if(response == 1)
    {
    if(!strlen(inputtext))
    {
    SendClientMessage(playerid,Rot,"Dein eingegebenes Passwort war nicht lang genug!");
    ShowPlayerDialog(playerid,2,DIALOG_STYLE_PASSWORD,"Registrierung auf "#STag"","{FFFFFF}Herzlich Willkommen auf "#SName" "#SName2".\nRegistriere dich bitte ein, um bei uns Spielen zu können.","Register","Abbrechen");
    return 1;
    }
    else
    {
    Register(playerid,inputtext);
    return 1;
    }
    }
    }
    return 1;
    }



    stock Register(playerid,key[])
    {
    new Playerdatei[128];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Playerdatei,sizeof(Playerdatei),"/Accounts/%s.ini",name);
    dini_Create(Playerdatei);
    dini_Set(Playerdatei,"Passwort",key);
    SetPlayerScore(playerid,1);
    SetPlayerSkin(playerid,136);
    SetPlayerWantedLevel(playerid,0);
    GivePlayerMoney(playerid,20000);
    dini_IntSet(Playerdatei,"Adminlevel",0);
    SpawnPlayer(playerid);
    return 1;
    }

  • Ich will es beheben und damit das Script aufbauen. ich will es wenn es fertig ist hier gleich veröffentlichen.


    und was hat das mit dini zu tun? :huh:


    Kannst doch trotzdem ein anderes Filesystem nutzen :wacko:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Jo sieht gut aus, nur hätte ich da eine kleine frage...


    User::save(playerid, "123", "ddfs", int1, int2, float1, string);


    könntest du mir das etwas genauer erklären?
    mein vorschlag währe
    User::save(playerid, "Level", "Geld", GetPlayerScore(playerid), GetPlayerMoney(playerid), float1 Wieso float?, string Wieso string??);


    und muss davor dieses "User::" stehen?

  • und muss davor dieses "User::" stehen?


    Ja.


    könntest du mir das etwas genauer erklären?


    Bei deinem Beispiel, muss das so aussehen:


    User::save(playerid, "DasPwDesUsers", "dd", GetPlayerScore(playerid), GetPlayerMoney(playerid));
    Das was ich vorgegeben hatte, war doch nur ein Beispiel :D


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Also währe es insgesammt so:



    User::save(playerid, "DasPwDesUsers?? wie soll ich da das Passwort herbekommen?", "ddddd", GetPlayerScore(playerid), GetPlayerMoney(playerid),GetPlayerWantedLevel(playerid),GetPlayerSkin(playerid),SpielerInfo[playerid][Admin]);


    aber wo wird der ganze spaß dan abgespeichert?? man muss ja nirgens den pfad eingeben...


    /e und wie ist es dan mit dem Account erstellen?

  • aber wo wird der ganze spaß dan abgespeichert?? man muss ja nirgens den pfad eingeben..


    Ja, das speichert sich in den scriptfiles...direkt, wenn du den Pfad ändern willst, geh einfach in die Include und pass den an ^^


    "DasPwDesUsers?? wie soll ich da das Passwort herbekommen?"


    Nun ganz einfach...wenn er sich registriert, gibt er doch sein Passwort ein -> da hast du es :rolleyes:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • darf ich dan ein Tutorial darüber machen?


    Klar, wenn du das willst ^^


    //edit:

    Zitat

    /e nun haben wir save und load, aber kein create... wie sollte ich da vorgehen?


    Das wird automatisch erstellt, keine Angst ;)

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Dan muss ich den Spieler schon Laden, bevor er eingeloggt ist..


    Nein...nicht unbedingt, schau mal, das war so geplant:


    //Machst einen Login-Dialog
    public OnPlayerConnect(playerid) //Zum Beispiel..
    {
    ShowPlayerDialog(playerid,1,1,"Einloggen","Bitte gib hier dein PW ein:","Bestätigen","");
    }


    //Unter OnDialogResponse
    if(dialogid == 1) {
    if(User::load(playerid,inputtext,"dd",PlayerInfo[playerid][pMoney],PlayerInfo[playerid][pScore])) //Hier halt alle Variablen rein...
    {
    //Hier stimmt das Passwort und die Daten wurden erfolgreich geladen
    }
    else
    {
    //Hier wäre das Passwort falsch :)
    }
    }


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S