GUI Alterangabe beim Registrieren

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 Tach ich bins mal wieder und habe wie immer ein problem und zwar ich wollte den register schritt von dem alterangabe in ein GUI machen
    und joa bekomme bei ondialogresponse folgenden error
    error 006: must be assigned to an array
    if(dialogid == DIALOGREGSTEP2)
    {
    if(response == 0)
    {
    new alter[128],nachricht[128];
    format(alter,sizeof(alter),"%d",inputtext);
    format(nachricht,sizeof(nachricht),"Du bist also %d Jahre alt.",alter);
    PlayerInfo[playerid][pAge] = alter; // hier ist der error
    SendClientMessage(playerid, COLOR_ORANGE, nachricht);
    return 1;
    }
    if(response == 1)
    {
    new loginstring[128];
    new loginname[64];
    GetPlayerName(playerid,loginname,sizeof(loginname));
    format(loginstring,sizeof(loginstring),"Wie alt bist du?");
    ShowPlayerDialog(playerid,DIALOGREGSTEP2,DIALOG_STYLE_INPUT,"Alter (kein Datum angeben!)",loginstring,"Absenden","Abbrechen");
    return 1;
    }
    }


  • {
    [color=#ff0000]new alter[128],nachricht[128];
    format(alter,sizeof(alter),"%d",inputtext);
    format(nachricht,sizeof(nachricht),"Du bist also %d Jahre alt.",alter);
    PlayerInfo[playerid][pAge] = alter; // hier ist der error[/color]
    SendClientMessage(playerid, COLOR_ORANGE, nachricht);
    return 1;
    }


    den fehler kenne ich aber ich bin den umgangen =)


    hier der code rest solltes du herausfinden wie ich das meine =)



    {
    new nachricht[128];
    format(PlayerInfo[playerid][pAge],3,"%d",inputtext);
    // inputtext direkt nach PlayerInfo[playerid][pAge]


    format(nachricht,sizeof(nachricht),"Du bist also %d Jahre alt.",PlayerInfo[playerid][pAge]);
    //und alter dann mit PlayerInfo[playerid][pAge] abfragen!


    SendClientMessage(playerid, COLOR_ORANGE, nachricht);
    return 1;
    }

    Opa :love: Freund und helfer =)

  • public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    new string[128];
    if(dialogid == DIALOGLOG || dialogid == DIALOGLOG2)
    {
    if(!response) return Kick(playerid);
    if(strlen(inputtext))
    {
    new tmppass[64];
    strmid(tmppass, inputtext, 0, strlen(inputtext), 255);
    Encrypt(tmppass);
    OnPlayerLogin(playerid,tmppass);
    }
    else
    {
    new loginstring[128];
    new loginname[64];
    GetPlayerName(playerid,loginname,sizeof(loginname));
    format(loginstring,sizeof(loginstring),"Falsches Passwort!",loginname);
    ShowPlayerDialog(playerid,DIALOGLOG2,DIALOG_STYLE_INPUT,"Unlimited Reallife",loginstring,"Login","abbrechen");
    gPlayerLogTries[playerid] += 1;
    if(gPlayerLogTries[playerid] == 4) { Ban(playerid); }
    }
    return 1;
    }
    if(dialogid == DIALOGREG)
    {
    if(!response) return Kick(playerid);
    if(strlen(inputtext))
    {
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "Spieler/%s.ini", sendername);
    new File: hFile = fopen(string, io_read);
    if (hFile)
    {
    SendClientMessage(playerid, COLOR_YELLOW, "Dieser Benutzer wird bereit verwendet!");
    fclose(hFile);
    return 1;
    }
    new tmppass[64];
    strmid(tmppass, inputtext, 0, strlen(inputtext), 255);
    Encrypt(tmppass);
    OnPlayerRegister(playerid,tmppass);
    }
    else
    {
    new regstring[128];
    new regname[64];
    GetPlayerName(playerid,regname,sizeof(regname));
    format(regstring,sizeof(regstring),"Welcome, %s",regname);
    ShowPlayerDialog(playerid,DIALOGREG,DIALOG_STYLE_INPUT,"Unlimited Reallife",regstring,"Register","abbrechen");
    }
    return 1;
    }
    if(dialogid == DIALOGREGSTEP1)
    {
    if(response == 0)
    {
    PlayerInfo[playerid][pSex] = 2;
    RegistrationStep[playerid] = 2;
    SendClientMessage(playerid, COLOR_ORANGE, "Du bist also männlich!");
    new loginstring[128];
    new loginname[64];
    GetPlayerName(playerid,loginname,sizeof(loginname));
    format(loginstring,sizeof(loginstring),"Wie alt bist du?");
    ShowPlayerDialog(playerid,DIALOGREGSTEP2,DIALOG_STYLE_INPUT,"Alter (kein Datum angeben!)",loginstring,"Absenden","Abbrechen");
    }
    if(response == 1)
    {
    PlayerInfo[playerid][pSex] = 1;
    RegistrationStep[playerid] = 2;
    SendClientMessage(playerid, COLOR_ORANGE, "Du bist also weiblich!");
    new loginstring[128];
    new loginname[64];
    GetPlayerName(playerid,loginname,sizeof(loginname));
    format(loginstring,sizeof(loginstring),"Wie alt bist du?");
    ShowPlayerDialog(playerid,DIALOGREGSTEP2,DIALOG_STYLE_INPUT,"Alter (kein Datum angeben!)",loginstring,"Absenden","Abbrechen");
    }
    }
    if(dialogid == DIALOGREGSTEP2)
    {
    if(response == 0)
    {
    new nachricht[128];
    format(PlayerInfo[playerid][pAge],3,"%d",inputtext);
    format(nachricht,sizeof(nachricht),"Du bist also %d Jahre alt.",PlayerInfo[playerid][pAge]);
    SendClientMessage(playerid, COLOR_ORANGE, nachricht);
    return 1;
    }
    if(response == 1)
    {
    new nachricht[128];
    format(PlayerInfo[playerid][pAge],3,"%d",inputtext);
    format(nachricht,sizeof(nachricht),"Du bist also %d Jahre alt.",PlayerInfo[playerid][pAge]);
    SendClientMessage(playerid, COLOR_ORANGE, nachricht);
    return 1;
    }
    }
    return 1;
    }


    public SetPlayerSpawn(playerid)
    {
    if(IsPlayerConnected(playerid))
    {
    if(PlayerInfo[playerid][pTut] == 0)
    {
    gOoc[playerid] = 1; gNews[playerid] = 1; gFam[playerid] = 1;
    TogglePlayerControllable(playerid, 0);
    RegistrationStep[playerid] = 1;
    ShowPlayerDialog(playerid, DIALOGREGSTEP1, DIALOG_STYLE_MSGBOX,"Geschlecht","Bist du männlich oder weiblich","männlich","weiblich");}



    if(RegistrationStep[playerid] > 0)
    {
    if(RegistrationStep[playerid] == 1)
    {
    ShowPlayerDialog(playerid, DIALOGREGSTEP1, DIALOG_STYLE_MSGBOX , "Geschlecht", "Bist du männlich oder weiblich?", "männlich", "weiblich");
    }
    else if(RegistrationStep[playerid] == 2)
    {
    ShowPlayerDialog(playerid,DIALOGREGSTEP2,DIALOG_STYLE_INPUT,"Alter (kein Datum angeben!)","Wie alt bist du?","Absenden","Abbrechen");
    return 0;
    }

  • uhi vor lauter if() sehe ich schon nichts mehr !
    aber ich habe hier auch ein Beispielcode für dich um es besser zu sehen und vll von den If weg zu kommen =)



    #define GUI_REG_GANG 1
    #define GUI_REG_GANG2 2


    public OnDialogResponse(playerid,dialogid,response,listitem,inputtext[])
    {
    if(response)
    {
    switch(dialogid)
    {
    case GUI_REG_GANG:
    {
    if(!strlen(inputtext)){return ShowPlayerDialog(playerid,GUI_REG_GANG,1,"Alter","[REGSYSTEM] Bitte gebe dein Alter an","Ok"," ");}
    // Wenn kein Inputtext bekommt die person wieder die frage!
    format(PlayerInfo[playerid][pAge],10,"%i",inputtext);
    // hier wird in den pAge der inputtext gespeichert vll mal schauen das du checkst ob es eine zahl zwischen 1-100 ist !
    ShowPlayerDialog(playerid,GUI_REG_GANG2,1,SERVERNAME,"[REGSYSTEM] Registration erfolgreich bitte passwort eingeben.","Ok"," ");
    // nun zeige den zweiten dialog unten an !
    }
    case GUI_REG_GANG2:
    {
    if(!strlen(inputtext)){return ShowPlayerDialog(playerid,GUI_REG_GANG2,1,"Alter","[REGSYSTEM] Bitte gebe dein Alter an","Ok"," ");}
    // Wenn kein Inputtext bekommt die person wieder die frage!
    // CODE
    }

    // Neuer Block
    //case GUI_REG_GANG2:
    //{
    //}
    }
    }
    else
    {
    switch(dialogid)
    {
    case GUI_REG_GANG:ShowPlayerDialog(playerid,GUI_REG_GANG,1,"Alter","[REGSYSTEM] Bitte gebe dein Alter an","Ok"," ");
    case GUI_REG_GANG2:ShowPlayerDialog(playerid,GUI_REG_GANG2,1,"Alter2","[REGSYSTEM] Bitte gebe dein Alter an","Ok"," ");
    // case GUI_REG_GANG2:ShowPlayerDialog(playerid,GUI_REG_GANG2,1,"Alter2","[REGSYSTEM] Bitte gebe dein Alter an","Ok"," ");
    }
    }
    return 1;
    }


    weil sooo sehen ich eigendlich kein fehler auf anschlag aber das liegt nur vll danach das ich überall nur noch if sehe =) :whistling:

    Opa :love: Freund und helfer =)

  • muss da kein GUI style angegeben werden ? 8|
    edit:
    und für was ist %i ? sry falls ich nachfrag bin nen noob im scripten
    edit2:
    hab es nun so gemacht wie oben beschrieben es klappt auch alles bist auf das alter system da kommt immer statt 16 52 raus