Autor |
Nachricht |
< Problem mit Objekt Rüstung |
|
Verfasst am:
Mo, 24 Mai 2004 - 19:49
|
|
|
Neuling
Anmeldungsdatum: 24.05.2004
Beiträge: 13
|
|
Also das Objekt Ritterrüstung sieht so aus:
Code: | Obj Ritterrüstung
Name 'Ritterrüstung' f
Vor 'ritter'
Subst 'rüstung' f 'ritter' m
Ort Eingangs_Halle
Attr Fest
Besch 'Zwei große Ritter-Rüstungen stehen links und rechts
neben der Treppe...'
VorReakt
(umstoßen) Stop 'Ohne Grund veranschtaltest du kein solches Chaos.'
EndeAusf |
Der Befehl Umstoßen so:
Code: | Bef umstoßen
Name 'umstoßen'
Verb 'stoße um' 'stoße' 'stoßen'
Syntax dasObj
Ausf
Text 'Du kannst [dasObj] nicht umstoßen.'
EndeAusf |
Mein Problem veranschaulicht folgendes Transscript:
Code: | > betrachte die Rüstung
Diesen Satz verstehe ich nicht.
> betrachte Rüstung
Zwei große Ritter-Rüstungen stehen links und rechts neben der Treppe...
> stoße die Rüstung um
Diesen Satz verstehe ich nicht.
> stoße Rüstung um
Ohne Grund veranschtaltest du kein solches Chaos.
> betrachte Ritter
Zwei große Ritter-Rüstungen stehen links und rechts neben der Treppe...
> betrachte den Ritter
Zwei große Ritter-Rüstungen stehen links und rechts neben der Treppe...
> stoße den Ritter um
Ohne Grund veranschtaltest du kein solches Chaos.
|
Ich hoffe ihr könnt mir helfen. Ich habe absolut keine Ahnung warum "die Rüstung" nicht funktioniert sondern nur "Rüstung"(ohne Artikel). Ich denke das f ist richtig gesetzt deshalb wundert es mich.
Vielen Dank im vorraus für eure Antworten ! |
|
|
|
|
|
Verfasst am:
Mo, 24 Mai 2004 - 21:54
|
|
|
Experte
Anmeldungsdatum: 05.05.2004
Beiträge: 633
Wohnort: Hamburg
|
|
Hmm, ich hab Deine Definitionen mal ausprobiert. In einem völlig neuen Test-Spiel laufen sie hier unter der WinTAM Version 0.1 beta (23.11.2003) völlig einwandfrei – mit oder ohne Artikel. Auch unter der älteren DOS-TAM funktioniert’s.
Ich habe spaßeshalber mal einen (unsinnigen) Befehl „die“ eingebaut, und selbst dann lässt sich die Rüstung mit „die Ritterrüstung“ ansprechen. Auch andere Versuche, den String „die“ in beliebige Objekt- oder Raumdefinitionen einzubasteln, haben die seltsame Reaktion, die du bekommen hast, hier nicht erzeugen können. Selbst zusätzlich implementierte Objekte wie „die-hard-video“/„die hard video“ oder eine Diele, die ich absichtlich falsch mit dem Substantiv „die le“ definiert habe, was ja mal beim Tippen vorkommen kann, bringen den Parser offenbar nicht aus der Ruhe, wenn es darum geht, den Artikel „die“ zu erkennen.
Einzig und allein die Brachial-Methode per Synonym erzeugte eine unschöne Reaktion:
Code: | Synonym 'die Ritterrüstung' 'Banane' |
Funktioniert bei Dir „betrachte den ritter“? Falls ja, hast Du vielleicht das „Die“ durch irgendein Synonym außer Gefecht gesetzt? |
|
|
|
|
|
Verfasst am:
Mo, 24 Mai 2004 - 22:48
|
|
|
|
ChristianB hat folgendes geschrieben: | Hmm, ich hab Deine Definitionen mal ausprobiert. In einem völlig neuen Test-Spiel laufen sie hier unter der WinTAM Version 0.1 beta (23.11.2003) völlig einwandfrei – mit oder ohne Artikel. Auch unter der älteren DOS-TAM funktioniert’s.
Ich habe spaßeshalber mal einen (unsinnigen) Befehl „die“ eingebaut, und selbst dann lässt sich die Rüstung mit „die Ritterrüstung“ ansprechen. Auch andere Versuche, den String „die“ in beliebige Objekt- oder Raumdefinitionen einzubasteln, haben die seltsame Reaktion, die du bekommen hast, hier nicht erzeugen können. Selbst zusätzlich implementierte Objekte wie „die-hard-video“/„die hard video“ oder eine Diele, die ich absichtlich falsch mit dem Substantiv „die le“ definiert habe, was ja mal beim Tippen vorkommen kann, bringen den Parser offenbar nicht aus der Ruhe, wenn es darum geht, den Artikel „die“ zu erkennen.
Einzig und allein die Brachial-Methode per Synonym erzeugte eine unschöne Reaktion:
Code: | Synonym 'die Ritterrüstung' 'Banane' |
Funktioniert bei Dir „betrachte den ritter“? Falls ja, hast Du vielleicht das „Die“ durch irgendein Synonym außer Gefecht gesetzt? |
Vielen Dank für deine Mühe !
"betrachte den ritter" funktioniert ohne probleme. Ich habe kein Synonym gefunden.
Was mir aufgefallen ist das es sich nicht auf die Rüstung beschränkt egal welcher Befehl ausgeführt wird und egal welches Objekt gemeint ist. Immer wenn das Artikel "die" davor gesetzt wird geht absolut nichts mehr ! Ich habe es auch bei einem plural Objekt gemerkt. "betrachte die Figuren" ergibt den selben fehler.
Ich habe mich auch nie irgendwie an "die" zu Schaffen gemacht.
Ich bin wirklich Ratlos. Vielleicht habe ich irgendwo den Compiler durcheinander gebracht. Ich werde einmal versuchen ein paar Dinge aus dem Spiel zu nehmen vielleicht finde ich so den übeltäter. |
|
|
|
|
|
Verfasst am:
Mo, 24 Mai 2004 - 22:58
|
|
|
Neuling
Anmeldungsdatum: 24.05.2004
Beiträge: 13
|
|
Der obere Beitrag war von mir.
Ich habe mal den Trace von der debug.adx ausprobiert:
Code: | > #trace
[Debug: Tracing aktiviert.]
> betrachte die Rüstung
Diesen Satz verstehe ich nicht.
[trace: aBef=nicht verstanden;]
|
Vielleicht hilft das bei der Fehleranalyse ? Meine erste Versuche blieben erfolglos. Dinge auszublenden die damit zu tun haben. |
|
|
|
|
|
Verfasst am:
Di, 25 Mai 2004 - 0:41
|
|
|
Experte
Anmeldungsdatum: 05.05.2004
Beiträge: 633
Wohnort: Hamburg
|
|
Solange ich die unsinnige Synonym-Anweisung in meinem Test-Code drin hatte, gab mir der Tracer auch das Ergebnis „aBef = nicht verstanden“. Ohne das Synonym versteht der Parser bei mir immer das „Richtige“. Da hat sich bestimmt irgendwo in Deinem Code ein kleiner Wurm eingenistet – ist bestimmt nur ne Kleinigkeit, die im Detail steckt. Bevor Du Dein Spiel völlig zerpflückst, könnte ich Dir vorschlagen, dass ich mal auf den kompletten Code inklusive der von Dir verwendeten Libs, draufschaue, vielleicht kann ich mit dem unbedarften Blick von außen was finden. Falls Du das möchtest, schreib mir doch eine PN über dieses Forum. |
|
|
|
|
|
Verfasst am:
Di, 25 Mai 2004 - 2:02
|
|
|
Neuling
Anmeldungsdatum: 24.05.2004
Beiträge: 13
|
|
Vielen Dank für dein Angebot !
Ich konnte den Fehler schon isolieren. Jedoch kann ich es mir nicht erklären woran es liegt.
Wenn ich folgenden Befehl aus meiner erweiterden Befehle Datei lösche funktioniert alles wie erwartet:
Code: | Bef rauchen
Name 'rauchen'
Verb 'rauche' 'rauche die' 'rauchen'
Syntax dasObj |
Ich möchte aber das der Spieler meine Zigarren rauchen kann. |
|
|
|
|
|
Verfasst am:
Di, 25 Mai 2004 - 2:25
|
|
|
Experte
Anmeldungsdatum: 05.05.2004
Beiträge: 633
Wohnort: Hamburg
|
|
Ich glaub, Du hast den Fehler gefunden! Das "die" in "rauche die" war's... die Zigarren rauchen kann man aber immer noch, wenn Du die Zigarren (zusätzlich) als Plural definierst:
Z.B.
Code: | Obj Zigarren
Name 'Zigarren' p
Subst 'zigarren' p |
Dann sollte der Parser eigentlich "die Zigarren" ganz von allein erkennen. |
|
|
|
|
|
Verfasst am:
Di, 25 Mai 2004 - 12:58
|
|
|
Neuling
Anmeldungsdatum: 24.05.2004
Beiträge: 13
|
|
na Super !
Ich habe das "die" gelöscht. Ein blöder Fehler von meiner Seite. Naja bin ja noch "anfänger".
Und wieder was dazu gelernt.
Big Thx ChristianB ! |
|
|
|
|
|