Forum moved to if-forum.org
Autor Nachricht
<  Graben
Lukas
BeitragVerfasst am: So, 28 Mai 2006 - 5:44  Antworten mit Zitat
Wasserträger
Wasserträger


Anmeldungsdatum: 21.05.2006
Beiträge: 42

Ich habe ein Problem mit dem in der normal.adv definierten Befehl graben. Es gibt dort zwei Definitionen:
Code:

Bef     hier_graben
Name    'graben'
Verb    'grabe' 'buddele' 'wühle'
Syntax  in demObj
Ausf
  Text  'Der Boden hier ist zum Graben ungeeignet.'
EndeAusf

Bef     graben
Name    'graben'
Verb    'grabe' 'buddele' 'buddel' 'wühle'
Syntax  in demObj mit demObj (evtl BeiMir)
Ausf
  Text  'Dort lässt sich nicht gut graben.'
EndeAusf


Mein Objekt sieht so aus:
Code:

Deko Sand
Name 'Sand' m
Subst 'sand' m
Adj 'fein'
Ort ...
Besch '...'
Vorausf
       (nehmen)
       Text '...'
       Stop

       (hier_graben)
       Text '...'
       Stop
EndeAusf


So wird aber auf die Eingabe "grab im sand" nur die Meldung "Dort lässt sich nicht gut graben." ausgegeben. Warum wird hier_graben nicht ausgeführt? Wenn ich den Befehl graben aus der normal.adv einkommentiere, funktioniert es.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Martin
BeitragVerfasst am: So, 28 Mai 2006 - 9:06  Antworten mit Zitat
Experte
Experte


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

Dadurch, dass du das zweite Objekt bei graben mit evtl markiert hast, trifft deine Eingabe "grabe im Sand" sowohl auf hier_graben als auch auf graben zu. Mit evtl gibst du an, dass ein Objekt angegeben werden kann, aber nicht muss.

Du hast zwei Möglichkeiten, das Problem zu umgehen:

1) Entferne das evtl aus der Klammer. Dann hast du zwei unterschiedliche Befehle, zwischen denen du immer unterscheiden kannst. Nachteil: Du musst bei einem Objekt, das auf graben reagieren soll, immer beide Varianten abfangen.

2) Schmeiß die Definition von hier_graben raus. Dann hast du einen Befehl, der sowohl auf "grabe im Sand" als auch auf "grabe mit der Schaufel im Sand" reagiert. Nachteil: Du musst in deinem Code immer (aObj = nichts) abfangen, damit du zwischen den beiden Fällen unterscheiden kannst.

Ich würde, glaube ich, Methode zwei bevorzugen.
_________________
Every silver lining has a cloud.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail 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