Doofes Login Register System -.-

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
  • Moin also ich habe eben mit meinem neuen Login register system angefangen nun fertig
    gehe ich eben auffem server registriere mich usw passt alles nun aber
    habe ichs so gemacht die daten werden im enum gespeichert
    und ich vergebe frage es dann ab mit PlayerInfo[playerid][xx] usw
    nun aber habe ich gemacht das es mit dini leuft also er erstellt es und dann schreibt er es mit
    Playerinfo rein doch igendwie funkioniert das nicht ? wieso?

  • Enum:


    enum Datei
    {
    Float:X,
    Float:Y,
    Float:Z,
    Float:A,
    Float:Health,
    Float:Armor,
    Geld,
    Skin,
    Inte,
    Virt,
    Ls,
    Sf
    }
    new PlayerInfo[MAX_PLAYERS][Datei];


    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid == 1)
    {
    if(!Eingeloggt[playerid])
    {
    if(response)
    {
    if(!inputtext[0])
    {
    SendClientMessage(playerid,Rot,"Kein input-text für Passwort");
    }
    else
    {
    GetPlayerName(playerid,Name,sizeof(Name));
    format(S,sizeof(S),"Accounts/%s.ini",Name);
    if(!dini_Exists(S))
    {
    dini_Create(S);
    dini_IntSet(S,"Passwort",udb_hash(inputtext));
    PlayerInfo[playerid][X] = 0;
    dini_FloatSet(S,"X",PlayerInfo[playerid][X]);
    PlayerInfo[playerid][Y] = 0;
    dini_FloatSet(S,"Y",PlayerInfo[playerid][Y]);
    PlayerInfo[playerid][Z] = 0;
    dini_FloatSet(S,"Z",PlayerInfo[playerid][Z]);
    PlayerInfo[playerid][A] = 0;
    dini_FloatSet(S,"A",PlayerInfo[playerid][A]);
    PlayerInfo[playerid][Health] = 100;
    dini_FloatSet(S,"Health",PlayerInfo[playerid][Health]);
    PlayerInfo[playerid][Armor] = 0;
    dini_FloatSet(S,"Armor",PlayerInfo[playerid][Armor]);
    PlayerInfo[playerid][Geld] = 500;
    dini_IntSet(S,"Geld",PlayerInfo[playerid][Geld]);
    PlayerInfo[playerid][Skin] = 0;
    dini_IntSet(S,"Skin",PlayerInfo[playerid][Skin]);
    PlayerInfo[playerid][Virt] = 0;
    dini_IntSet(S,"Virt",PlayerInfo[playerid][Virt]);
    PlayerInfo[playerid][Inte] = 0;
    dini_IntSet(S,"Inte",PlayerInfo[playerid][Inte]);
    PlayerInfo[playerid][Ls] = 0;
    dini_IntSet(S,"Ls",PlayerInfo[playerid][Ls]);
    PlayerInfo[playerid][Sf] = 0;
    dini_IntSet(S,"Sf",PlayerInfo[playerid][Sf]);
    ShowPlayerDialog(playerid,2,DIALOG_STYLE_MSGBOX,"Herkunft","Woher kommen sie?","LS","SF");
    }
    }
    }
    else
    {
    SendClientMessage(playerid, Rot, "Server: Sie wurden gekickt, Grund: nicht registriert!");
    Kick(playerid);
    }
    }
    return 1;
    }
    if(dialogid == 2)
    {
    GetPlayerName(playerid,Name,sizeof(Name));
    format(S,sizeof(S),"Accounts/%s.ini",Name);
    if(response)
    {
    PlayerInfo[playerid][X] = 1743.4347; // Das wird nicht mehr ausgeführt
    PlayerInfo[playerid][Y] = -1860.1847;
    PlayerInfo[playerid][Z] = 13.5790;
    PlayerInfo[playerid][A] = 359.1414;
    PlayerInfo[playerid][Ls] = 1;
    ShowPlayerDialog(playerid,3,DIALOG_STYLE_MSGBOX,"Geschlecht","Was sind sie?","Männlich","Weiblich");
    return 1;
    }
    if(!response)
    {
    PlayerInfo[playerid][X] = -1986.2137;
    PlayerInfo[playerid][X] = 138.0104;
    PlayerInfo[playerid][X] = 27.6875;
    PlayerInfo[playerid][X] = 88.3919;
    PlayerInfo[playerid][X] = 1;
    ShowPlayerDialog(playerid,3,DIALOG_STYLE_MSGBOX,"Geschlecht","Was sind sie?","Männlich","Weiblich");
    return 1;
    }
    }

  • danach gehts ja noch weiter mit dem toturial aber peer dialog ist alles richtig bekomme copy right nur halt in der ini steht x = 0 y = 0 z = 0 usw
    weil er danach es nicht mehr weiter ausführt doch ich weiß nicht wieso so sieht es aus:



    (Edit1: Code hinzugefügt.);
    (Edit2: Kann es vlt an Return 1; liegen unter den dialogen?)

    2 Mal editiert, zuletzt von Quini ()

  • hmm Ich gebe dir ein Tipp....Versuch mal die dateien die er Speichern soll in einem Stock zu machen den du dann beim Login aufrufen lässt ^^
    Soe sieht mein stock aus:
    stock LoadUser(playerid)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/User/%s.ini",name);
    SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
    GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Money"));
    SpielerInfo[playerid][Adminlevel]=dini_Int(Spielerdatei,"Adminlevel");
    SpielerInfo[playerid][Durst]=dini_Int(Spielerdatei,"Durst");
    SpielerInfo[playerid][Hunger]=dini_Int(Spielerdatei,"Hunger");
    SpielerInfo[playerid][Energie]=dini_Int(Spielerdatei,"Energie");
    SpielerInfo[playerid][Harndrang]=dini_Int(Spielerdatei,"Harndrang");
    SpielerInfo[playerid][Bank]=dini_Int(Spielerdatei,"Bank");
    SpielerInfo[playerid][Parkhaus]=dini_Int(Spielerdatei,"Parkhausticket");
    SpielerInfo[playerid][eingeloggt] =1;
    return 1;
    }