Wie Speichere ich eine Zahl?

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 Abend, BreadFish-Nutzer.
    Ich habe mich nun Entschieden ein "SelfMade" zu Schreiben. Weiß aber nicht wie ich eine Zahl beim Dialog Abspeichere.
    Ich zeige euch mal ein Beispiel.
    ShowPlayerDialog(playerid,DIALOG_TEST,DIALOG_STYLE_INPUT,"Test","Trage eine Zahl ein","Fertig","");
    Und dan soll bei "OnPlayerDialogResponse" es Gespeichert werden. Aber ich weiß nicht wie es Speichern lasse die Zahl 15 z.b.
    Hoffe ihr könnt mir Helfen.
    //e PWN Code

    Einmal editiert, zuletzt von SponsoredLP ()

  • Neue Speichervariable deklarieren ( new zahl; )
    Und dann halt: zahl = inputtext; Und schon hast du die Zahl ;D Kann auch sein das es heißt "inputtext = zahl;" - weiß ich nicht, Teste mal aus.

    Liebe Grüße


    Marcel

  • Neue Speichervariable deklarieren ( new zahl; )
    Und dann halt: zahl = inputtext; Und schon hast du die Zahl ;D Kann auch sein das es heißt "inputtext = zahl;" - weiß ich nicht, Teste mal aus.


    Erstmal danke das du mir es Versuchst es zu Erklären :D
    Habe es jetz nicht so Richtig Verstanden. Haben sie vielleicht ein Beispiel? Da ich noch nicht so die Erfahrugn habe. :S

  • Du gehst in den Public von DialogResponse :)
    Dann siehst du ja "Public OnDialogResponse(playerid, inputtext[] und so weiter)".
    In der Variable "inputtext" wird halt der Eingabetext gespeichert. Wenn ich jetzt in die Box '123456789' eingebe, ist der Inputtext automatisch '123456789' - versteht sich ;D


    Wenn du eine neue Variable (new zahl;) erstellst, kannst du darin ja beliebiges Speichern. Nebenbei: wenn du mit Kommas und Punkten in der Variable Zahl arbeiten möchtest, musst du die mit "New Float:zahl;" definieren.


    Den gespeicherten Inputtext kannst du natürlich ohne weiteres in die Variable setzen: zahl = inputtext;. Jetzt kannst du den Inputtext mit
    Hilfe von 'Zahl' irgendwo Auslesen lassen ;)

    Liebe Grüße


    Marcel

  • Meinen sie so?
    new SpielerDatei[50];
    format(SpielerDatei, sizeof(SpielerDatei), "Accounts/%s", Spielername(playerid));


    if(dialogid == DIALOG_ALTER)
    {
    if(!response) {
    Kick(playerid);
    TogglePlayerControllable(playerid, 0);
    }
    if(response) {
    if(!strlen(inputtext)) {
    GameTextForPlayer(playerid,"~w~Du musst ein Alter angeben!",1000,4);
    ShowPlayerDialog(playerid,DIALOG_ALTER,DIALOG_STYLE_INPUT,"Dein Alzer","Wähle dein Alter z.B. 14","Weiter","");
    }
    else {
    dini_IntSet(SpielerDatei, "Alter", inputtext);
    }
    }
    }
    Oder geht es noch Platz Sparender?
    //e PWN Code

  • Ne, Habe es nun so.
    if(dialogid==DIALOG_ALTER)
    {
    if(!response)
    {
    TogglePlayerControllable(playerid,0);
    }
    if(response)
    {
    if(!strlen(inputtext))
    {
    GameTextForPlayer(playerid,"~r~Du musst ein Alter angeben!",1000,1);
    ShowPlayerDialog(playerid,4,DIALOG_STYLE_INPUT,"{FFFFFF}Bitte gebe dein Alter an!","{FFFFFF}Willkommen beim Dritten Schrift bei der Registration!\nBitte gebe sie ihr Alter an! z.B. 22","Fertig","");
    }
    else
    {
    SetPVarInt(playerid,"Alter",strval(inputtext));
    }
    }
    }
    Und es geht. :)

  • Und was passiert wenn ich einen Buchstaben eingebe statt eine geforderte Zahl ?


    Spoiler anzeigen

    Vorher bitte mit z.b. IsNumeric prüfen. ( Die stock müsste irgendwo im Wiki zu finden sein ;) )


    Wenn er sscanf hat/nutzt sollte er lieber das ausprobieren nehmen, als den stock ;)

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski