if-de :: Forum Foren-Übersicht
Autor Nachricht
<  Mehrzügeeingaben
Tanan
BeitragVerfasst am: Mo, 17 März 2003 - 12:33  Antworten mit Zitat
Abenteurer
Abenteurer


Anmeldungsdatum: 25.08.2002
Beiträge: 416
Wohnort: Essen

Einfache Frage: Ist es möglich, Eingaben des Spielers, die mehrere Züge von ihm auf einmal auslösen, generell abzufangen?

Beispiele:

> nimm alles
> u schnorb und nimm ihn
> töte hamster maus

Unter Umständen können solche Eingaben nämlich ärgerliche Bugs produzieren. Beispiel:

Code:

Auf dem Fensterbrett
Du siehst hier einen Lappen und einen Eimer.

> nimm alles

Lappen: Du willst gerade danach greifen, da verlierst du das Gleichgewicht und fällst. Du siehst den Boden auf dich zurasen.

***

Im Krankenhaus
Du machst die Augen auf. Um dich herum ist es weiß.

Eimer: Du siehst hier keinen Eimer.


Auch ein wohlplaziertes "Stop" im Quelltext scheint ihn nicht von seinem Plan abbringen zu können. Bestimmt ist die Lösung ganz einfach, aber ich komme mal wieder nicht drauf.

Danke jedenfalls!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Tanan
BeitragVerfasst am: Di, 18 März 2003 - 8:24  Antworten mit Zitat
Abenteurer
Abenteurer


Anmeldungsdatum: 25.08.2002
Beiträge: 416
Wohnort: Essen

Zitat:
> töte hamster maus

Arg, sorry, das geht ja gar nicht. Eigentlich meinte ich:

> töte hamster und töte maus

bzw.

> nimm hamster, maus

Sucht es euch aus. *g*
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Martin
BeitragVerfasst am: Di, 18 März 2003 - 11:29  Antworten mit Zitat
Experte
Experte


Anmeldungsdatum: 25.08.2002
Beiträge: 677
Wohnort: München

Wie behandelt die T.A.M. Mehrfacheingaben oder "alles"? Zunächst wird eine Liste von Objekten gebildet. Für jedes Objekt in dieser Liste wird der Befehl ausgeführt. Ein Stop beendet die Ausführung nur für das jeweilige Objekt. Die restlichen Objekte werden trotzdem abgearbeitet. Wenn sie aufgrund eines ausgelösten Ereignisses nicht mehr sichtbar sind, kommt der entsprechende Fehler. Genauso ist es bei Pronomina, deren Bezugsobjekt nicht mehr sichtbar ist:

Code:

> u schnorb und nimm ihn
Ein Schnorb halt.

Der Schnorb langweilt sich und geht laut schnorbend nach Osten.

Ich sehe "ihn" (den Schnorb) hier nicht.


Man kann vordefinierte T.A.G.-Befehle zwar verändern, allerdings nicht die Syntax-Definition, in der steht, dass Mehrfachnennungen zulässig sind.

In Deinem Fall könntest Du den Eimer vor dem Lappen definieren, so dass das Objekt, dass den Spieler beim Aufheben an einen anderen Ort bewegt, als letztes abgearbeitet wird.
_________________
Every silver lining has a cloud.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Tanan
BeitragVerfasst am: Di, 18 März 2003 - 16:54  Antworten mit Zitat
Abenteurer
Abenteurer


Anmeldungsdatum: 25.08.2002
Beiträge: 416
Wohnort: Essen

Hm, einen allgemeinen Weg gibt es also nicht. Schade - aber kein Weltuntergang. Trotzdem danke!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Tanan
BeitragVerfasst am: Mi, 19 März 2003 - 13:17  Antworten mit Zitat
Abenteurer
Abenteurer


Anmeldungsdatum: 25.08.2002
Beiträge: 416
Wohnort: Essen

Zumindest Befehle mit "alles" kann man doch abfangen: Ich leite sie im ObjParser einfach auf einen anderen Befehl um. Klappt mit ein oder zwei Umwegen ganz gut.

Leider erzeugen Mehrzügeeingaben bei meinem Spiel nämlich generell große Probleme.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Alle Zeiten sind GMT + 1 Stunde (MEZ)

Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Seite 1 von 1
if-de :: Forum Foren-Übersicht  >  T.A.G.

Neues Thema eröffnen   Neue Antwort erstellen


 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.



Kontakt: Administrator

Powered by phpBB and NoseBleed v1.05