IF-Forum

» IF-Forum - Autorencafé - Schreiben! - Graben
AntwortenNeues ThemaNeue Umfrage

Graben

Geschrieben um 06:44 am 28.05.2006 | Zitat | Editieren | Löschen
Lukas
Mitglied
Bachelor Gumby
Beiträge: 42
<td valign="top"><div class="post"><p>Ich habe ein Problem mit dem in der normal.adv definierten Befehl graben. Es gibt dort zwei Definitionen:</p> <p>&#8220;`</p> <p>Bef     hier_graben</p> <p>Name    &#8216;graben&#8217;</p> <p>Verb    &#8216;grabe&#8217; &#8216;buddele&#8217; &#8216;wühle&#8217;</p> <p>Syntax  in demObj</p> <p>Ausf</p> <p>  Text  &#8216;Der Boden hier ist zum Graben ungeeignet.&#8217;</p> <p>EndeAusf</p> <p>Bef     graben</p> <p>Name    &#8216;graben&#8217;</p> <p>Verb    &#8216;grabe&#8217; &#8216;buddele&#8217; &#8216;buddel&#8217; &#8216;wühle&#8217;</p> <p>Syntax  in demObj mit demObj &#40;evtl BeiMir&#41;</p> <p>Ausf</p> <p>  Text  &#8216;Dort lässt sich nicht gut graben.&#8217;</p> <p>EndeAusf</p> <p>&#8220;`</p> <p>Mein Objekt sieht so aus:</p> <p>&#8220;`</p> <p>Deko Sand</p> <p>Name &#8216;Sand&#8217; m</p> <p>Subst &#8216;sand&#8217; m</p> <p>Adj &#8216;fein&#8217;</p> <p>Ort &#8230;</p> <p>Besch &#8216;&#8230;&#8217;</p> <p>Vorausf</p> <p>       &#40;nehmen&#41;</p> <p>       Text &#8216;&#8230;&#8217;</p> <p>       Stop</p> <p>       &#40;hier_graben&#41;</p> <p>       Text &#8216;&#8230;&#8217;</p> <p>       Stop</p> <p>EndeAusf</p> <p>&#8220;`</p> <p>So wird aber auf die Eingabe &#8220;grab im sand&#8221; nur die Meldung &#8220;Dort lässt sich nicht gut graben.&#8221; ausgegeben. Warum wird hier_graben nicht ausgeführt? Wenn ich den Befehl graben aus der normal.adv einkommentiere, funktioniert es.</p> </div></td>
Geschrieben um 10:06 am 28.05.2006 | Zitat | Editieren | Löschen
Martin
Avatar
Mitglied
Retired Gumby
Beiträge: 707

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.

AntwortenNeues ThemaNeue Umfrage
Powered by Spam Board SVN © 2007 - 2021
Impressum / Datenschutz