Autor |
Nachricht |
< not marked for listing - I7 |
|
Verfasst am:
Mi, 2 März 2011 - 18:53
|
|
|
Neuling
Anmeldungsdatum: 26.07.2007
Beiträge: 16
Wohnort: Bayern
|
|
Neues von der Front.
Oft will man die Beschreibung von Objekten à la "Du siehst hier außerdem ..." für einzelne Objekte unterdrücken. Im englischen Inform 7 geht das ja wunderbar mit "now x is not marked for listing". Wenn man aber Gerx einbindet, scheint das nicht mehr zu gehen, wohl weil Gerx diese Standardroutine durch eine eigene Routine ersetzt.
Beispiel:
Code: | "Rip Van Winkle"
Include German by Team Gerx.
The Catskills is a room. "Here is a lovely, secluded fold in the mountains, far from civilization: as though to prove it, Rip Van Winkle is sleeping under a tree."
Rip Van Winkle is a man in the Catskills.
Before listing nondescript items of the Catskills:
if Rip Van Winkle is marked for listing:
now Rip Van Winkle is not marked for listing;
Hilda is a woman in the Catskills.
|
Und es kommt am Ende der Raumbeschreibung:
"Du siehst hier Rip van Winkle und Hilda", wo nur Hilda kommen sollte.
Edit: ein Workaround wäre natürlich: Rip van Winkle is a man in the Catskills. " ". Aber nicht so schön, weil hier, wenn ich das richtig sehe, unnötig eine Leerzeile ausgegeben wird. |
|
|
|
|
|
Verfasst am:
Mi, 2 März 2011 - 20:01
|
|
|
Experte
Anmeldungsdatum: 05.05.2004
Beiträge: 633
Wohnort: Hamburg
|
|
Das ist definitiv ein Fehler in GerX, genauer gesagt in der German-you-can-also-see rule. Die Rule sieht allerdings genau so aus wie das Original, abgesehen von den deutschen Ausgabetexten und dem Schreiben der Sublisten.
An den Ausgabetexten und den Sublisten liegt es nicht, das habe ich schon getestet.
Keine Ahnung, was da schief läuft. Da ist dunkle Inform-7-Magie am Werk. Wär ja nichts Neues.
Edit: Ein anderer Workaround wäre:
Rip is scenery. |
|
|
|
|
|
Verfasst am:
Mi, 2 März 2011 - 20:30
|
|
|
Abenteurer
Anmeldungsdatum: 03.09.2009
Beiträge: 453
Wohnort: Cham
|
|
Hier hilft m.E. nur die harte Tour:
Code: |
"Rip Van Winkle"
Include German by Team Gerx.
The Catskills is a room. "Here is a lovely, secluded fold in the mountains, far from civilization[describe rip]."
Rip Van Winkle is a man in the Catskills.
Hilda is a woman in the Catskills.
To say describe rip:
if rip van winkle is in catskills:
say ": as though to prove it, Rip Van Winkle is sleeping under a tree";
now rip is mentioned.
After examining rip:
say "Plötzlich springt er auf und rennt weg.";
remove rip from play.
Rule for printing a locale paragraph about rip when rip is in catskills:
now rip is mentioned;
Test me with "schau / x rip / schau"
|
Grüße
-- MI |
|
|
|
|
|
Verfasst am:
Mi, 2 März 2011 - 20:58
|
|
|
Experte
Anmeldungsdatum: 05.05.2004
Beiträge: 633
Wohnort: Hamburg
|
|
Hm. Die deutsche Erweiterung darf doch aber das Ausgabeverhalten nicht grundsätzlich ändern ... Tims Beispiel sollte mit und ohne GerX das gleiche Ergebnis liefern.
Zuletzt bearbeitet von ChristianB am Mi, 2 März 2011 - 21:17, insgesamt 2-mal bearbeitet |
|
|
|
|
|
Verfasst am:
Mi, 2 März 2011 - 21:13
|
|
|
Abenteurer
Anmeldungsdatum: 03.09.2009
Beiträge: 453
Wohnort: Cham
|
|
Ein Minimalcode der funktioniert, es liegt irgendwie an dem "marked for listing" ... da müssen wir mal die Listenfunktion näher anschauen ... soweit erst mal:
Code: |
"Rip Van Winkle"
include german by team gerx.
The Catskills is a room. "Here is a lovely, secluded fold in the mountains, far from civilization: as though to prove it, Rip Van Winkle is sleeping under a tree."
Rip Van Winkle is a man in the Catskills.
Before listing nondescript items of the Catskills:
now Rip Van Winkle is mentioned;
Hilda is a woman in the Catskills.
|
-- MI |
|
|
|
|
|
Verfasst am:
Mi, 2 März 2011 - 21:18
|
|
|
Experte
Anmeldungsdatum: 05.05.2004
Beiträge: 633
Wohnort: Hamburg
|
|
Ich habe den Fehler weiter eingekreist: Es liegt tatsächlich an dem Listenschreiben mit Akkusativ. Das muss doch zu lösen sein ...
Zuletzt bearbeitet von ChristianB am Mi, 2 März 2011 - 22:15, insgesamt 2-mal bearbeitet |
|
|
|
|
|
Verfasst am:
Mi, 2 März 2011 - 21:59
|
|
|
Neuling
Anmeldungsdatum: 26.07.2007
Beiträge: 16
Wohnort: Bayern
|
|
Mikawa hat folgendes geschrieben: | Ein Minimalcode der funktioniert, es liegt irgendwie an dem "marked for listing" ... da müssen wir mal die Listenfunktion näher anschauen ... soweit erst mal:
Code: |
"Rip Van Winkle"
include german by team gerx.
The Catskills is a room. "Here is a lovely, secluded fold in the mountains, far from civilization: as though to prove it, Rip Van Winkle is sleeping under a tree."
Rip Van Winkle is a man in the Catskills.
Before listing nondescript items of the Catskills:
now Rip Van Winkle is mentioned;
Hilda is a woman in the Catskills.
|
-- MI |
Das scheint gut zu funktionieren, danke! Dann kann ich mir das hässliche " "; sparen. |
|
|
|
|
|
Verfasst am:
Mi, 2 März 2011 - 22:05
|
|
|
Wasserträger
Anmeldungsdatum: 08.11.2010
Beiträge: 48
Wohnort: Lüneburger Heide
|
|
Noch ein Workaround: Wenn Hilda eine initial appearance bekommt, verschwindet das Problem.
Code: | Hilda is a woman in the Catskills. "Hilda steht hier und schaut sich um." |
|
|
|
|
|
|
Verfasst am:
Mi, 2 März 2011 - 22:15
|
|
|
Experte
Anmeldungsdatum: 05.05.2004
Beiträge: 633
Wohnort: Hamburg
|
|
Ich hab's gefunden: In der Phrase "list the contents of OBJECT with CASE" wurde die Listentiefe 1 (0 im Original) an WriteListFromCase() (WriteListFrom() im Original) übergeben, wahrscheinlich ein Test-Relikt, vielleicht hatte das aber auch einen Grund, an den ich mich nicht mehr erinnern kann. Muss ich noch genauer untersuchen. Eigentlich starten nur die Sublisten im Non-nested-lists-Modus mit der Tiefe 1.
Hier mal eine Testversion, mit der Tims erstes Beispiel funktioniert, wie es soll. Ob die Non-nested-Lists-Option dann noch richtig klappt, habe ich noch nicht gecheckt. Wenn irgendwo was komplett kaputt ist, bitte ich um Rückmeldung!
http://dl.dropbox.com/u/2691966/German.i7x
Danke an Tim!
Edit: Erste Tests mit Non-Nested-Lists zeigen keine Probleme. Vielleicht war's das ja schon. Ein wirklich blöder Fehler. |
|
|
|
|
|