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
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
-
-
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. -
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
Habe es jetz nicht so Richtig Verstanden. Haben sie vielleicht ein Beispiel? Da ich noch nicht so die Erfahrugn habe. -
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 ;DWenn 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 -
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 -
So ist es schon platzaparend So muss es eigentlich klappen - probier mal aus
-
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 )
-
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 -
breadfish.de
Hat das Thema geschlossen.