Forum moved to if-forum.org
Autor Nachricht
<  not marked for listing - I7
Tim Z.
BeitragVerfasst am: Mi, 2 März 2011 - 18:53  Antworten mit Zitat
Neuling
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.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ChristianB
BeitragVerfasst am: Mi, 2 März 2011 - 20:01  Antworten mit Zitat
Experte
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.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Mikawa
BeitragVerfasst am: Mi, 2 März 2011 - 20:30  Antworten mit Zitat
Abenteurer
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
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
ChristianB
BeitragVerfasst am: Mi, 2 März 2011 - 20:58  Antworten mit Zitat
Experte
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
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Mikawa
BeitragVerfasst am: Mi, 2 März 2011 - 21:13  Antworten mit Zitat
Abenteurer
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
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
ChristianB
BeitragVerfasst am: Mi, 2 März 2011 - 21:18  Antworten mit Zitat
Experte
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
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Tim Z.
BeitragVerfasst am: Mi, 2 März 2011 - 21:59  Antworten mit Zitat
Neuling
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.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
StJohn Limbo
BeitragVerfasst am: Mi, 2 März 2011 - 22:05  Antworten mit Zitat
Wasserträger
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."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ChristianB
BeitragVerfasst am: Mi, 2 März 2011 - 22:15  Antworten mit Zitat
Experte
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.
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  >  Inform & Glulx

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