Forum moved to if-forum.org
Autor Nachricht
<  Ein Objekt klebt an sich selbst
ChristianB
BeitragVerfasst am: Fr, 11 März 2005 - 0:12  Antworten mit Zitat
Experte
Experte


Anmeldungsdatum: 05.05.2004
Beiträge: 633
Wohnort: Hamburg

Eine kleine Sache, die mir immer mal wieder begegnet: Wenn ein Objekt an einem anderen befestigt ist, kann man es nicht einfach nehmen, weil laut Parser das Objekt an sich selbst befestigt ist. Dieser Fall müsste dann jedes Mal beim Objekt abgefangen werden. Hier mal ein Beispiel:

Code:
#DAT    'debug.adx'

Raum    Testraum
Name    'Testraum'
Besch   'Dies ist der Testraum.'

Obj     Tafel
Name    'Tafel' f
Subst   'tafel' f
Attr    immobil
Ort     Testraum

Obj     Zettel
Name    'Haftnotiz' f
Adj     'gelb' 'klein'
Vor     'notiz' 'haft'
Subst   'zettel' m  'notiz' f
Ort     an Tafel

ObjVar  xObj

Bef     teste_Zettel   ! Falls debug.adx nicht zur Hand
Name    'Zettel testen'
Verb    'teste'
Syntax  dasObj
Ausf
    MutterObj xObj Zettel
    Text 'Der Zettel befindet sich'
    Wenn (Zettel an     xObj) Text 'an'
    Wenn (Zettel auf    xObj) Text 'auf'
    Wenn (Zettel in     xObj) Text 'in'
    Wenn (Zettel unter  xObj) Text 'unter'
    Wenn (Zettel hinter xObj) Text 'hinter'
    Text '[dem xObj].'
EndeAusf

Code:
TRANSSCRIPT

Dies ist der Testraum.

Du siehst hier eine Tafel.

An der Tafel ist eine Haftnotiz befestigt.

> #trace
[Debug: Tracing aktiviert.]

> #olist
[trace: aBef=olist;]

[debug: Liste aller Objekte]

1 Tafel (Testraum)
2 Haftnotiz (an Tafel)

> teste zettel
[trace: aBef=Zettel testen; aObj=Haftnotiz;]

Der Zettel befindet sich an der Tafel.

> nimm zettel
[trace: aBef=nehmen; aObj=Haftnotiz;]

Das geht nicht: Die Haftnotiz ist an der Haftnotiz befestigt.

> hä?


Ist das eine Eigenart von T.A.G. oder übersehe ich mal wieder ein wichtiges Detail?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Martin
BeitragVerfasst am: So, 13 März 2005 - 19:07  Antworten mit Zitat
Experte
Experte


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

ChristianB hat folgendes geschrieben:
Ist das eine Eigenart von T.A.G. oder übersehe ich mal wieder ein wichtiges Detail?

Das ist leider eine Eigenart von T.A.G. Die Beziehung "an" hatte ich eingeführt, um damit so etwas wie angeknotete Seile (die erst explizit losgebunden werden müssen, bevor man sie nehmen kann) oder andere, nicht einfach so entfernbare Objekte (Knopf am Fernseher oder so) darstellen zu können. Das war schon im Amulett/Ur-T.A.G. enthalten. Um alles möglichst offen zu halten, wurden dann fest- und losbinden aus T.A.G. herausgeschmissen, die Möglichkeit ein Objekt "an" einem anderen zu definieren blieb, wurde aber offensichtlich nicht gut gepflegt, wie die Fehlermeldung zeigt. (Noch besser ist die Antwort auf: "nimm Zettel von der Tafel".)

Deshalb musst du hier das Nehmen in einer VorAusf selbst definieren. Das ist etwas blöd, da du so die übliche Überprüfung beim Nehmen (Inventar zu voll?) nicht mitbekommst, ist aber im Moment leider nicht zu ändern. Tut mir leid...
_________________
Every silver lining has a cloud.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
ChristianB
BeitragVerfasst am: So, 13 März 2005 - 19:48  Antworten mit Zitat
Experte
Experte


Anmeldungsdatum: 05.05.2004
Beiträge: 633
Wohnort: Hamburg

OK, danke, wenn man's weiß ist es ja kein Problem.
Grüße, C.
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