Spiel ohne Maus, mit Texteingabe, mit Tastatursteuerung

Fragen zu "Adventure Game Studio"? Hier rein!
Antworten
Sharalamude

Spiel ohne Maus, mit Texteingabe, mit Tastatursteuerung

Beitrag von Sharalamude »

Ich will jetzt ( will's aber selbermachen ) ein Spiel haben, in dem folgendes möglich ist: Zunächst einmal Tastatursteuerung ( geht bei mir, mit den Problem, das ich trotzdem auch mit der Maus steuern kann, und das will ich nicht, ich will garkeine Maus auf'm Display haben. ) Ausserdem soll unten so 'n Texteingabefeld sein. So, wie lautet jetzt der Script "Wenn Spieler in dem Room das in das Textfeld eingegeben hat, passiert das" ? Ich will's mal selbst aufbauen, ohne das AGS-Demospiel. Wie krieg ich das im Einzeln hin?
Totoro
Profi-Abenteurer
Profi-Abenteurer
Beiträge: 915
Registriert: 26.07.2003, 19:10
Wohnort: Osaka

Beitrag von Totoro »

Zunächst einmal braucht dein Gui eine Textbox. Dann kannst du über den Befehl "said" abfragen, was in der Textbox eingegeben wurde, um zu bestimmen, was für eine Aktion auf eine Eingabe erfolgen soll. Wenn deine Textbox z.B. Objekt 6 des Gui 3 ist, könnte das nach Manual so aussehen:

string input;

GetTextBoxText (3, 6, input);

ParseText (input);

if (Said("look fence")) {

Display("It's an old wooden fence.");

}

if (Said("eat apple")) {

Display("You'd love to, but you don't have one.");

}


Man kann das wort "rol" eingeben, wenn man unabhängig vom Objekt immer dieselbe Antwort bekommen will. z.B. eat rol, und als Antwort "du hast keinen Hunger" etc. und man kann verschiedene Verben durch komma verbinden, und dann immer dieseleb Aktion hervorrufen. Guck dir auch einmal an, wie du Synonyme bauen kannst und direkt mit der Parser-Funktion im Editor umgehen kannst.
Genauer gibt das gute alte Manual Auskunft:
http://www.agsforums.com/ags24bmanual.htm

Totoro
Sharalamude

Beitrag von Sharalamude »

Klappt alles.... nunja, fast alles: Ich habe nun die Schriftart als Schriftart 0, die auch AGS normal immer als 0 hat und möchte nun, das folgendes geht: !"§$%&/()=?ÄÖÜäöüß denn diese Zeichen gehen in meiner Textbox nicht. Sie sollen aber gehen. Wie bring ich sie zum gehen?
Totoro
Profi-Abenteurer
Profi-Abenteurer
Beiträge: 915
Registriert: 26.07.2003, 19:10
Wohnort: Osaka

Beitrag von Totoro »

Mmmh, ich weiß nicht genau. Ich nehme an, dass du die deutsche Schriftart von LucasFan importieren musst, um deutsche Sonderzeichen zu nutzen. Ob du damit aber auch auf die QWERTZ-Tastatur umstellen kannst, weiß ich leider nicht. Und Ausrufezeichen braucht man ja eigentlich nicht für den Parser :)
Sharalamude

Beitrag von Sharalamude »

There is an error compiling your script. There problem was: In: "Main Script." Error (line 15): Parse Error: unexpectec "GetTextBoxText". Do you want fix the script now? (Your room has not been saved)
Da ist jetzt irgend ein Fehler mit deinem oben genannten Script. Was'n da falsch?
Sharalmude

Beitrag von Sharalmude »

Sag mir mal bitte wo ic hdas im Einzelnen hinschreiben soll....
Totoro
Profi-Abenteurer
Profi-Abenteurer
Beiträge: 915
Registriert: 26.07.2003, 19:10
Wohnort: Osaka

Beitrag von Totoro »

Sharalmude hat geschrieben:Sag mir mal bitte wo ic hdas im Einzelnen hinschreiben soll....
Ich denke mal, ins global script und nicht ins script eines einzelnen Raums.
sharalamude

Beitrag von sharalamude »

dann kommt aber die gleiche fehlermeldung...
Gast

Beitrag von Gast »

Ich habe mal festgestellt, das das in das GUI muss, aber dann kommt 'ne Fehlermeldung, das die Wörter ingore words sind oder was weiss ich nicht erkannt werden. Mein Script ( GUI 0 und OBJEKT 0 ist Textbox ) :

Code: Alles auswählen

  if (interface == 0) {     
    string input;
    GetTextBoxText (0, 0, input); 
    ParseText (input); 
    if (Said("look fence")) { 
    Display("It's an old wooden fence.");
    } 
    if (Said("aua")) { 
    Display("aua"); 
    } 
  }
Sharalamude

Beitrag von Sharalamude »

Hey Mann ich hab noch gepruckelt und gepruckelt und jep, jetzt geht es. Nur eine Sache noch: Wie kann ich einstellen, das, wenn man etwas eingetippt hat, sich nach der Aktion der Text in der Textbox wieder löscht?
Totoro
Profi-Abenteurer
Profi-Abenteurer
Beiträge: 915
Registriert: 26.07.2003, 19:10
Wohnort: Osaka

Beitrag von Totoro »

Sharalamude hat geschrieben:Hey Mann ich hab noch gepruckelt und gepruckelt und jep, jetzt geht es. Nur eine Sache noch: Wie kann ich einstellen, das, wenn man etwas eingetippt hat, sich nach der Aktion der Text in der Textbox wieder löscht?
Mit dem Befehl SetTextBoxText kann man den Inhalt der Textbox festlegen. Wenn du sie also leer haben möchtest, musst du folgende Aktion festlegen:

SetTextBoxText(0,0,"");


Totoro
Antworten