Problem mit Register Dialog

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
  • Hehyo,


    also ich hab ein Problem mit meinem Register Dialog und zwar kommt am Anfang der Dialog aber die .ini wird nicht erstellt . Hier der Dialog teil
    if(response)
    {
    switch(dialogid)
    {
    case DIALOG_LOGIN:
    {
    if(!strlen(inputtext))
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte logge dich ein","Abbrechen","Weiter");
    return SendClientMessage(playerid,0xFFFFFFFF,"Kein Passwort angegeben!");
    }
    if(strcmp(inputtext,dini_Get(accFormat,"Key")) == 0) // Passwort Direkt aus der Datei Laden
    {
    strmid(tmppass, tmp, 0, strlen(inputtext), 255);
    OnPlayerLogin(playerid,tmppass);


    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte logge dich ein","Abbrechen","Weiter");
    SendClientMessage(playerid,0xFFFFFFFF,"Das Passwort war Falsch!");
    }
    }
    case DIALOG_REG: // ID Registrieren
    {
    if(!strlen(inputtext)) // Text darf nicht = Null sein Null im Sinne von nichts
    {
    ShowPlayerDialog(playerid,DIALOG_REG,1,"Registrieren","Bitte Registriere dich","Abbrechen","Weiter");
    return SendClientMessage(playerid,0xFFFFFFFF,"Das Passwort ist zu kurz!");
    }
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "/Accounts/%s.ini", sendername);
    new File: hFile = fopen(string, io_read);
    if (hFile)
    {
    SendClientMessage(playerid, COLOR_WHITE, "Dieser Name ist schon vergeben! Bitte benutze einen anderen.");
    fclose(hFile);
    return 1;
    }
    new tmppass[64];
    // tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Verwendung: /register [passwort]");
    strmid(tmppass, tmp, 0, strlen(inputtext), 255);
    OnPlayerRegister(playerid,tmppass);
    return 1;
    }
    }
    }
    }
    else
    {
    switch(dialogid)
    {
    case DIALOG_LOGIN:ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte logge dich ein","Abbrechen","Weiter");
    case DIALOG_REG:ShowPlayerDialog(playerid,DIALOG_REG,1,"Registrieren","Bitte Registriere dich","Abbrechen","Weiter");
    }
    }
    der OnPlayerRegister Teil
    http://pastebin.de/13260


    ##DopeFire


    //edit so nun wird die User Datei erstellt aber der Key wert bleibt leer und beim Login wird wieder der Register Teil gezeigt :S
    //edit ² hab nun mal den DialogResponce aktuallisiert aber geht immer noch nich :S

    2 Mal editiert, zuletzt von DopeFire ()

  • Hast du auch Ordner: " Accounts " im Scriptfiles Ordner?


    "/Accounts/%s.ini",


    Denn er erstellt im Acounts Ordner die .ini

  • if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Verwendung: /register [passwort]");
    return 1;
    }
    strmid(tmppass, tmp, 0, strlen(inputtext), 255);
    OnPlayerRegister(playerid,tmppass);
    return 1;

  • Der Key wert bleibt immer noch gleich ... So siehts aus


    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    /*new string[200];
    new string2[128];
    new playername[MAX_PLAYER_NAME];
    GetPlayerName(playerid, playername, sizeof(playername));
    new giveplayer[MAX_PLAYER_NAME];
    new sendername[MAX_PLAYER_NAME];
    GetPlayerName(playerid,sendername,sizeof(sendername));*/
    new pname[MAX_PLAYERS],accFormat[128];
    GetPlayerName(playerid,pname,sizeof pname);
    format(accFormat,sizeof accFormat,"/Accounts/%s.ini",pname);
    new str[256];
    new sendername[MAX_PLAYER_NAME];
    new tmp[256];
    new string[256];
    GetPlayerName(playerid,sendername,sizeof(sendername));


    new tmppass[64];


    //new giveplayerid, moneys, idx;
    //new hour, minute, second, year, month, day,
    // cmd = strtok(cmdtext, idx);
    if(dialogid == BankDiag)
    {
    if(response)
    {
    if(listitem == 0)
    {
    format(str, 256, "Kontostand: %d $\nGib den Betrag ein, den du einzahlen möchtest!", PlayerInfo[playerid][pAccount]);
    ShowPlayerDialog(playerid, BankEinzahlen, 1, "Einzahlen", str, "Einzahlen", "Abbrechen");
    }
    if(listitem == 1)
    {
    format(str, 256, "Kontostand: %d $\nGib den Betrag ein, den du ausgezahlt haben möchtest!", PlayerInfo[playerid][pAccount]);
    ShowPlayerDialog(playerid, BankAuszahlen, 1, "Einzahlen", str, "Einzahlen", "Abbrechen");
    }
    if(listitem == 3)
    {
    format(str, 256, "Kontostand: %d $", PlayerInfo[playerid][pAccount]);
    ShowPlayerDialog(playerid, BankKontostand, 0, "Kontostand", str, "Zurück", "Ende");
    }
    if(listitem == 2)
    {
    format(str, 256, "Kontostand: %d $\nGib den Spielernamen/ID des Spieler an, dem du etwas überweisen möchtest\ngetrennt durch einem ':' vom Betrag, den du überweisen möchtest.\nBeispiel: PlayerA 10000 überweisen: PlayerA:10000", PlayerInfo[playerid][pAccount]);
    ShowPlayerDialog(playerid, BankTransfer, 1, "Überweisen", str, "Weiter", "Abbrechen");
    }
    }
    }
    if(dialogid == ATMDiag)
    {
    if(response)
    {
    if(listitem == 0)
    {
    format(str, 256, "Kontostand: %d $\nGib den Betrag ein, den du einzahlen möchtest!", PlayerInfo[playerid][pAccount]);
    ShowPlayerDialog(playerid, ATMEinzahlen, 1, "Einzahlen", str, "Einzahlen", "Abbrechen");
    }
    if(listitem == 1)
    {
    format(str, 256, "Kontostand: %d $\nGib den Betrag ein, den du ausgezahlt haben möchtest!", PlayerInfo[playerid][pAccount]);
    ShowPlayerDialog(playerid, ATMAuszahlen, 1, "Einzahlen", str, "Einzahlen", "Abbrechen");
    }
    if(listitem == 2)
    {
    format(str, 256, "Kontostand: %d $", PlayerInfo[playerid][pAccount]);
    ShowPlayerDialog(playerid, ATMKontostand, 0, "Kontostand", str, "Zurück", "Ende");
    }
    }
    }
    if(dialogid == BankTransfer)
    {
    if(response)
    {
    new TransferInfo[2][20], transferid;
    if(transferid == INVALID_PLAYER_ID)
    {
    SendClientMessage(playerid, COLOR_GREY, " Ungülte Eingabe!");
    format(str, 256, "Kontostand: %d $\nGib den Spielernamen/ID des Spieler an, dem du etwas überweisen möchtest\ngetrennt durch einem ':' vom Betrag, den du überweisen möchtest.\nBeispiel: PlayerA 10000 überweisen: PlayerA:10000", PlayerInfo[playerid][pAccount]);
    ShowPlayerDialog(playerid, BankTransfer, 1, "Überweisen", str, "Weiter", "Abbrechen");
    }
    else
    {
    split(inputtext, TransferInfo, ':');
    transferid = ReturnUser(TransferInfo[0]);
    if(strval(TransferInfo[1]) > 100000000 || strval(TransferInfo[1]) <= 0 || strval(TransferInfo[1]) > PlayerInfo[playerid][pAccount])
    {
    SendClientMessage(playerid, COLOR_GREY, " Ungültiger Betrag!");


    }
    else
    {
    PlayerInfo[transferid][pAccount] += strval(TransferInfo[1]);
    PlayerInfo[playerid][pAccount] -= strval(TransferInfo[1]);
    format(str, 256, " Du hast %s %d $ überwiesen!", playerid, strval(TransferInfo[1]));
    SendClientMessage(playerid, COLOR_GREY, str);
    format(str, 256, " %s hat dir %d $ auf dein Konto überwiesen!", playerid, strval(TransferInfo[1]));
    SendClientMessage(playerid, COLOR_GREY, str);
    }
    }
    }
    if(!response)
    {
    ShowPlayerDialog(playerid, BankDiag, 2, "Bank", "Einzahlen\nAuszahlen\nÜberweisen\nKontostand", "Auswählen", "Ende");
    }
    }

    if(response)
    {
    switch(dialogid)
    {
    case DIALOG_LOGIN:
    {
    if(!strlen(inputtext))
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"{1A850C}Willkommen","Wilkommen zurück .\n Bitte Logge dich ein \n Tippe dazu dein Passwort unten ein "," ","Weiter");
    return SendClientMessage(playerid,0xFFFFFFFF,"Kein Passwort angegeben!");
    }
    if(strcmp(inputtext,dini_Get(accFormat,"Key")) == 0) // Passwort Direkt aus der Datei Laden
    {
    strmid(tmppass, tmp, 0, strlen(inputtext), 255);
    OnPlayerLogin(playerid,tmppass);


    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"{1A850C}Willkommen","Wilkommen zurück .\n Bitte Logge dich ein \n Tippe dazu dein Passwort unten ein "," ","Weiter");
    SendClientMessage(playerid,0xFFFFFFFF,"Das Passwort war Falsch!");
    }
    }
    case DIALOG_REG: // ID Registrieren
    {
    if(!strlen(inputtext)) // Text darf nicht = Null sein Null im Sinne von nichts
    {
    ShowPlayerDialog(playerid,DIALOG_REG,1,"{C40C0F}Willkommen","Wie ich sehe bist du neu .\n Bitte Registriere dich \n Tippe dazu dein Gewünschtes Passwort unten ein","Abbrechen","Weiter");
    return SendClientMessage(playerid,0xFFFFFFFF,"Das Passwort ist zu kurz!");
    }
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "/Accounts/%s.ini", sendername);
    new File: hFile = fopen(string, io_read);
    if (hFile)
    {
    SendClientMessage(playerid, COLOR_WHITE, "Dieser Name ist schon vergeben! Bitte benutze einen anderen.");
    fclose(hFile);
    return 1;
    }
    new tmppass[64];
    // tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Erfolgreich Registriert !");
    strmid(tmppass, tmp, 0, strlen(inputtext), 255);
    OnPlayerRegister(playerid,tmppass);
    return 1;
    }
    }
    }
    }
    else
    {
    switch(dialogid)
    {
    case DIALOG_LOGIN:ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"{0x009C00FF} Willkommen","Wilkommen zurück . Bitte Logge dich ein \n Tippe dazu dein Passwort unten ein "," ","Weiter");
    case DIALOG_REG:ShowPlayerDialog(playerid,DIALOG_REG,1,"{0x780000FF} Willkommen","Wie ich sehe bist du neu . Bitte Registriere dich \n Tippe dazu dein Gewünschtes Passwort unten ein","Abbrechen","Weiter");
    }
    }


    Register Teil s.o.

  • Also ich glaube du musst die klammer bisschen nach rechts setzten in zeile 2