Thema: Eingabe per Tastatur Mo Apr 25, 2011 4:49 am
Hallo Ich weiß, dass man irgendwie eine Eingabe fordern kann... Per Tastatur. Soweit ich weiß, wurde das in irgendeinem Stargate Pack benutzt um zu bestimmen welches Stargate man anwählt. Ich finde den Befehl allerdings nirgendwo und habe keine Ahnung wie er aussieht, auch wenn ich weiß, dass ich damit schonmal etwas gemacht habe. Sinn und Zweck ist das Eingeben eines Namens für ein RPG. Danke im Vorraus mfg ~
Limeox Admiral
Anmeldedatum : 25.04.10
Thema: Re: Eingabe per Tastatur Mo Apr 25, 2011 4:10 pm
CallMessageBoard(object pObj, bool fUpperCase, string szString, int iPlr) öffnet eine Eingabezeile für iPlr. szString wird vorangestellt (zB "Namen eingeben:"). Wenn fUpperCase true ist, wird alles in Großbuchstaben zurückgegeben. In pObj wird dann InputCallback(string szAnswer, int iPlr) aufgerufen (müsste einen Error geben, wenn sie nicht definiert ist, also Achtung!).
Ein Spieler kann dieses Eingabefenster allerdings auch abbrechen (ESC), dann hast du keinen Namen. Du solltest also regelmäßig prüfen, ob der Spieler das Fenster weggedrückt hat, mit TestMessageBoard(int iPlr, bool fCheckIfInUse). Der zweite Parameter muss (!) dabei true sein. Wenn du die Eingabe per Script abbrechen willst, geht das per AbortMessageBoard(object pObj, int iPlr).
ZarianColds Clonk
Anmeldedatum : 25.04.11
Thema: Re: Eingabe per Tastatur Mo Apr 25, 2011 5:20 pm
Vielen Dank ! Genau was ich gesucht hab !
Gamer Staatsrat
Alter : 28 Ort : In einem kleinen Dorf in Unterfranken (Bayern) Anmeldedatum : 10.02.09
Thema: Re: Eingabe per Tastatur Mo Apr 25, 2011 10:33 pm
CNDG, hier werden sie geholfen. Dam, badadadadaam dam dam.
Zuletzt von Gamer am Mi Apr 27, 2011 6:39 pm bearbeitet; insgesamt 2-mal bearbeitet
snowtiger11 General
Alter : 26 Ort : Im Königreich Mankel Anmeldedatum : 17.04.09
Thema: Re: Eingabe per Tastatur Di Apr 26, 2011 10:41 am
lol^^
MagicWipf Brigadegeneral
Alter : 27 Ort : Irgendwo im Nirgendwo Anmeldedatum : 14.02.11
Thema: Re: Eingabe per Tastatur Di Apr 26, 2011 11:25 am
^^ Na wenn das so ist: Wie genau verwende ich das TestMessageBoard? In Form eier if-Funktion? Ich hab mir das so gedacht, das ich beim öffnen des Eingabefensters den Effekt "CheckIfMenu1" oder so starte, der dann im Timer überprüft (Mit TestMessageBoard) ob das Menü geschlossen wurde Wenn ja, dann macht er grad n neues (MUAHAHAHAHA) In InputCallback lösche ich den Effekt. Was genau muss jetzt also in FxXChxkIfMenu1Timer() rein? Oder geht das auch anderst und einfacher?
Limeox Admiral
Anmeldedatum : 25.04.10
Thema: Re: Eingabe per Tastatur Di Apr 26, 2011 1:29 pm
Code:
if (!TestMessageBoard(0, true)) CallMessageBoard(this, false, "möp", 0);