Autor Thema: Text box input frage  (Gelesen 1827 mal)

Domi

  • Midlife Crisis Tentakel
  • ******
  • Beiträge: 1079
  • Geschlecht: Männlich
  • Still existing
    • Profil anzeigen
Text box input frage
« am: 01. August 2010, 12:44:47 »
wie kann ich wenn ich ein bestimmtes wort in die txtbox schreib dann als beispiel diesen text ausgeben?: blablabla= hey!
"Das Internet vergisst nie."

Kruttan

  • Dott-MMM-Entwickler
  • Teenie Tentakel
  • **
  • Beiträge: 260
  • Geschlecht: Männlich
    • Profil anzeigen
Re: Text box input frage
« Antwort #1 am: 01. August 2010, 17:57:31 »
Meinst du, dass "blablablabla" im string enthalten sein muss? Oder möchtest du, dass der string nur aus  "blablablabla" besteht?


Zitat
wie kann ich wenn ich ein bestimmtes wort in die txtbox schreib dann als beispiel diesen text ausgeben?: blablabla= hey!

PS: Gerade bei solchen Satzgefügen ist Interpunktion eine wirklich sinnvolle Sache. Wenn du mehr als ein Prädikat pro Satz hast, dann fehlen in der Regel wichtige Kommas.
« Letzte Änderung: 01. August 2010, 18:03:11 von Kruttan »

Domi

  • Midlife Crisis Tentakel
  • ******
  • Beiträge: 1079
  • Geschlecht: Männlich
  • Still existing
    • Profil anzeigen
Re: Text box input frage
« Antwort #2 am: 01. August 2010, 18:18:41 »
ich mein als bsp(ich mach das in einem eigenen game also NICHT mmm nur zur info) wenn ich ein cheat eingeben will also beispiel: infinite life
dann sagt der player: player.say("99 herzen erhalten");
"Das Internet vergisst nie."

Kruttan

  • Dott-MMM-Entwickler
  • Teenie Tentakel
  • **
  • Beiträge: 260
  • Geschlecht: Männlich
    • Profil anzeigen
Re: Text box input frage
« Antwort #3 am: 01. August 2010, 18:37:46 »
dann würd ich keine textbox machen, sondern das im Spielfluss ermöglichen.

Es gibt die Funktion on_key_press (guck mal im MMM-Gui Global Script). Außerdem findest du eine Ascii-Tabelle in der AGS-Hilfe. Da sind auch Ereignisse für Tastenkombinationen wie STRG+H. Das müsste als Cheat eigentlich ausreichen, oder? Sowas drückt auch keine aus Versehen.

Man könnte auch einen globalen String machen und in die Funktion ne Prozedur schreiben, die gedrückte Buchstabentasten an diesen String ranhaut. Dann müsste man immer beim Druck einer Taste, die den letzten Buchstaben eines Cheatcodes darstellt, gucken, ob z.B. der String, der sich aus den letzten X Zeichen ergibt, das Wort ist. Ist allerdings ein wenig Arbeit, aber das müsste mit den String-Funktionen von AGS machbar sein.
« Letzte Änderung: 01. August 2010, 18:41:50 von Kruttan »

KhrisMUC

  • Moderator
  • volljähriger Tentakel
  • *****
  • Beiträge: 988
    • Profil anzeigen
Re: Text box input frage
« Antwort #4 am: 02. August 2010, 12:54:49 »
Eine Textbox reagiert auf Return, dann wird nämlich ihre OnActivate-Funktion aufgerufen.

D.h. Du nennst Deine Textbox z.B. tbCheat, dann clickst Du den Blitz an und dann den ...-Button.
Jetzt wird Folgendes zu Global.asc hinzugefügt:

function tbCheat_OnActivate(GUIControl *control)
{

}

Dort drinnen kannst Du jetzt tbCheat.Text überprüfen, z.B. so:

function tbCheat_OnActivate(GUIControl *control)
{
  if (tbCheat.Text == "infinite life") {
    cheat_infinite_life = true;
    player.Say("99 Herzen erhalten.");
  }
  if (tbCheat.Text == "holy cow") {
    ...
    ...
  }
  ...
  tbCheat.Text = "";  // danach Textfeld leeren
}

Kruttans Methode ist natürlich eleganter.

Domi

  • Midlife Crisis Tentakel
  • ******
  • Beiträge: 1079
  • Geschlecht: Männlich
  • Still existing
    • Profil anzeigen
Re: Text box input frage
« Antwort #5 am: 02. August 2010, 13:01:13 »
Danke Leute! :D
geht alles so wie ichs wollte!
"Das Internet vergisst nie."