Woher kommst du abfrage ändern

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 Arbend :)
    mich kotzt es an das ich sehr lange unaktiv war aber naja ich frage mal :D
    wie kann ich es machen das er selber eingibt wo er her kommt und dan in der ini den text packen ?


    ich weiß das es mit inputt geht aber leider die helfte vergessen
    So sieht es jetzt aus das ist der alte code den will ich verändern
    dialog was fragt
    ShowPlayerDialog(playerid,DIALOG_REGSTEP_3,DIALOG_STYLE_LIST,"Woher kommst du?","Deutschland\nNRW\nAus dem Ausland","Weiter"," ");
    was ausgeben wird

    if(CurrentMenu == Land)
    {
    if(RegistrationStep[playerid] == 3)
    {
    if(row == 0)
    {
    PlayerInfo[playerid][pOrigin] = 1;
    SendClientMessage(playerid, COLOR_WHITE, "Ok, du kommst also aus Deutschland.");
    ShowPlayerDialog(playerid,DIALOG_Tutorial,DIALOG_STYLE_MSGBOX,"Tutorial"," Es folgt das Tutorial \n Du kannst das Tutorial überspringen. Es wird aber dringlichst empfohlen das Tutorial durchzulesen. \n Willst du das Tutorial durchlesen?","Ja","Nein");
    RegistrationStep[playerid] = 0;
    TutTime[playerid] = 1;
    }
    else if(row == 1)
    {
    PlayerInfo[playerid][pOrigin] = 2;
    SendClientMessage(playerid, COLOR_WHITE, "Ok, du kommst also aus NRW.");
    ShowPlayerDialog(playerid,DIALOG_Tutorial,DIALOG_STYLE_MSGBOX,"Tutorial"," Es folgt das Tutorial \n Du kannst das Tutorial überspringen. Es wird aber dringlichst empfohlen das Tutorial durchzulesen. \n Willst du das Tutorial durchlesen?","Ja","Nein");
    RegistrationStep[playerid] = 0;
    TutTime[playerid] = 1;
    }
    else if(row == 2)
    {
    PlayerInfo[playerid][pOrigin] = 3;
    SendClientMessage(playerid, COLOR_WHITE, "Ok, du kommst also aus den Ausland.");
    ShowPlayerDialog(playerid,DIALOG_Tutorial,DIALOG_STYLE_MSGBOX,"Tutorial"," Es folgt das Tutorial \n Du kannst das Tutorial überspringen. Es wird aber dringlichst empfohlen das Tutorial durchzulesen. \n Willst du das Tutorial durchlesen?","Ja","Nein");
    RegistrationStep[playerid] = 0;
    TutTime[playerid] = 1;
    }
    else
    {
    SendClientMessage(playerid, COLOR_WHITE, "Woher kommst du? (Wähle das richtige aus mithilfe der Leertaste aus!)");
    }
    }
    }


    //da speichert er GF halt :D
    format(var, 32, "Origin=%d\n",PlayerInfo[playerid][pOrigin]);fwrite(hFile, var);
    // da ladet er
    if( strcmp( key , "Origin" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pOrigin] = strval( val ); }
    da sollte dann der text gespeichert werden wo er her kommt

    Einmal editiert, zuletzt von DJSatrox () aus folgendem Grund: edit

  • meinst du das man selbst eingeben kann?


    Das geht mit Dialog Style Input :)


    ja und wie geb ich es dann weiter das er den text speichert ?

  • Naja du machst das schon mal Falsch.
    Du erstellt einen Dialog und dann machst du das ganze mit ner Menu abfrage


    Ich erstelle dir hier mal einen Quellcode:


    Unter das Callback
    OnPlayerDialogResponse
    if(dialogid == Land
    {
    if(response == 0)return 1;
    if(RegistrationStep[playerid] == 3)
    {
    if(listitem == 0)
    {
    PlayerInfo[playerid][pOrigin] = 1;
    SendClientMessage(playerid, COLOR_WHITE, "Ok, du kommst also aus Deutschland.");
    ShowPlayerDialog(playerid,DIALOG_Tutorial,DIALOG_STYLE_MSGBOX,"Tutorial"," Es folgt das Tutorial \n Du kannst das Tutorial überspringen. Es wird aber dringlichst empfohlen das Tutorial durchzulesen. \n Willst du das Tutorial durchlesen?","Ja","Nein");
    RegistrationStep[playerid] = 0;
    TutTime[playerid] = 1;
    }
    else if(listitem == 1)
    {
    PlayerInfo[playerid][pOrigin] = 2;
    SendClientMessage(playerid, COLOR_WHITE, "Ok, du kommst also aus NRW.");
    ShowPlayerDialog(playerid,DIALOG_Tutorial,DIALOG_STYLE_MSGBOX,"Tutorial"," Es folgt das Tutorial \n Du kannst das Tutorial überspringen. Es wird aber dringlichst empfohlen das Tutorial durchzulesen. \n Willst du das Tutorial durchlesen?","Ja","Nein");
    RegistrationStep[playerid] = 0;
    TutTime[playerid] = 1;
    }
    else if(listitem == 2)
    {
    PlayerInfo[playerid][pOrigin] = 3;
    SendClientMessage(playerid, COLOR_WHITE, "Ok, du kommst also aus den Ausland.");
    ShowPlayerDialog(playerid,DIALOG_Tutorial,DIALOG_STYLE_MSGBOX,"Tutorial"," Es folgt das Tutorial \n Du kannst das Tutorial überspringen. Es wird aber dringlichst empfohlen das Tutorial durchzulesen. \n Willst du das Tutorial durchlesen?","Ja","Nein");
    RegistrationStep[playerid] = 0;
    TutTime[playerid] = 1;
    }
    else
    {
    SendClientMessage(playerid, COLOR_WHITE, "Woher kommst du? (Wähle das richtige aus mithilfe der Leertaste aus!)");
    }
    }
    }


  • ehm list du eigendlich ? :D der code ist reichtig wie ich den hatte :D
    nur ich will es anders!!!! das man selber was reinschreiben kann und das was er schreibt soll in die ini

  • Du setzt den Dialog-style auf DIALOG_STYLE_INPUT.


    ShowPlayerDialog(playerid,DIALOG_REGSTEP_3,DIALOG_STYLE_INPUT,"Woher kommst du?","Schreibe hier dein Wohnort rein!","Weiter"," ");


    nach dem klick auf weiter wird das Callback OnPlayerDialogResponse aufgerufen,


    dort solltest du den inputtext an deine variable übergeben. Dies geht auch via strcat als Beispiel.


    Davor solltest du jedoch pOrigin als integer zu einem string abändern im enum
    pOrigin[20],



    strcat(PlayerInfo[playerid][pOrigin],inputtext,20);


    Hier solltest du die Größe noch ändern von dem String var.
    format(var, 32, "Origin=%s\n",PlayerInfo[playerid][pOrigin]);fwrite(hFile, var);
    // da ladet er
    if( strcmp( key , "Origin" , true ) == 0 ) strcat(PlayerInfo[playerid][pOrigin],ini_GetValue( Data ),20);

  • also kann ich bei den listem wo es ausgeben wird einfach





    strcat(PlayerInfo[playerid][pOrigin],inputtext,20);


    verwenden ? kann ich auch zb damit bei einer naricht
    zb
    ok du kommst also aus %s),strcat); oder so ^^


  • 1. Du benötigst keine abfrage nach den Listitems dies macht ja nur sinn wenn du welche verwendest was du ja in diesem fall nicht tust.
    2. Falls du das anzeigen willst brauchst du wie du schon geschrieben hast den Plathalter %s
    format(str,64,"Du kommst aus %s",PlayerInfo[playerid][pOrigin]);
    oder auch
    new str[64] = "Du kommst aus ";
    strcat(str,PlayerInfo[playerid][pOrigin]);