Autor |
Nachricht |
< Runtime Error: nil object reference |
|
Verfasst am:
Do, 15 Mai 2014 - 1:34
|
|
|
Neuling
Anmeldungsdatum: 14.05.2014
Beiträge: 16
Wohnort: Joao Pessoa, Brasil
|
|
Hi,
bei folgendem source code:
Code: | #charset "utf-8"
#include <adv3.h>
#include <de_de.h>
gameMain: GameMainDef
initialPlayerChar = me
;
versionInfo: GameID
name = 'Das Hexenhaus'
byline = 'by Tony Tiger'
authorEmail = 'test@test.com>'
desc = 'This is a template to start a new game project. '
version = '1'
IFID = 'b8563851-6257-77c3-04ee-278ceaeb48ac'
;
garten: Room
roomName = "Garten"
desc = "Du stehst in einem verwilderten Garten, der von einer
halb verfallenen Steinmauer umgeben wird. An der Nordseite
schließt ein kleines Holzhaus an den Garten, um das sich genau wie um den Garten seit Jahren niemand mehr gekümmert hat."
north = flur
;
+me: Actor
;
flur: Room
roomName = "Flur"
desc = "Wenn man das Haus vom Garten her betritt, landet man
in einem kurzen Flur, vom dem aus drei Türen abgehen, sowie
eine Treppe, die nach oben führt. Der Flur ist mit graugelben
Tapeten behangen, deren Muster kaum noch zu erkennen sind."
south = garten
; |
bekomme ich einen RTE, wenn man versucht nach Norden zu gehen.
[Runtime error: nil object reference
->/usr/share/frobtads/tads3/lib/adv3/de_de/de_de.t, line 1184
/usr/share/frobtads/tads3/lib/adv3/de_de/de_de.t, line 1949
/usr/share/frobtads/tads3/lib/adv3/de_de/de_de.t, line 1824
/usr/share/frobtads/tads3/lib/adv3/de_de/de_de.t, line 6236
/usr/share/frobtads/tads3/lib/adv3/de_de/msg_neu.t, line 691
/usr/share/frobtads/tads3/lib/adv3/action.t, line 1680
/usr/share/frobtads/tads3/lib/adv3/action.t, line 3449
/usr/share/frobtads/tads3/lib/adv3/action.t, line 1150
/usr/share/frobtads/tads3/lib/adv3/exec.t, line 1168
/usr/share/frobtads/tads3/lib/adv3/pov.t, line 156
/usr/share/frobtads/tads3/lib/adv3/pov.t, line 58
/usr/share/frobtads/tads3/lib/adv3/exec.t, line 1171
/usr/share/frobtads/tads3/lib/adv3/exec.t, line 1146
/usr/share/frobtads/tads3/lib/adv3/exec.t, line 1047
/usr/share/frobtads/tads3/lib/adv3/actions.t, line 2705
/usr/share/frobtads/tads3/lib/adv3/action.t, line 1477
...
Liegt das an einem Fehler in meinem Code oder an G-TADS?
Verwende die neuste G-TADS von Github.
Gruß
[/code] |
|
|
|
|
|
Verfasst am:
Do, 15 Mai 2014 - 2:03
|
|
|
Neuling
Anmeldungsdatum: 14.05.2014
Beiträge: 16
Wohnort: Joao Pessoa, Brasil
|
|
habe bei roomName einfache Anführungszeichen genommen und jetzt funktioniert es. Also roomName = 'Garten', statt "Garten". |
|
|
|
|
|
Verfasst am:
Do, 15 Mai 2014 - 7:29
|
|
|
Abenteurer
Anmeldungsdatum: 03.09.2009
Beiträge: 453
Wohnort: Cham
|
|
Yep, das ist am Anfang etwas verwirrend.
Die einfachen Anführungszeichen kennzeichnen einen String, das wird bei den Messages, dem Vokabular, den Verbschablonen usw. verwendet.
Die doppelten Anführungszeichen stehen kurz für
tadsSay('string') und stellen somit eine Ausgabefunktion dar.
Das wird beispielsweise bei allen Beschreibungen (Räume und Objekte) mit desc als Funktion verwendet. |
|
|
|
|
|
Verfasst am:
Do, 15 Mai 2014 - 14:30
|
|
|
Neuling
Anmeldungsdatum: 14.05.2014
Beiträge: 16
Wohnort: Joao Pessoa, Brasil
|
|
Ja, das wird später dann auch im 'Getting Started' von Eric Eve erklärt. Da war ich etwas zu vorschnell. :)
Komisch nur, dass nicht gleich der Compiler ne Fehlermeldung ausspuckt, sondern der Fehler erst zur Laufzeit auftritt. Der erste Raum wurde sogar korrekt angezeigt, erst beim Wechsel in den nächsten Raum stürzte es ab. |
|
|
|
|
|
Verfasst am:
Do, 15 Mai 2014 - 14:33
|
|
|
Abenteurer
Anmeldungsdatum: 03.09.2009
Beiträge: 453
Wohnort: Cham
|
|
Vermutlich ist das Problem, dass Tads sich den alten Raumnamen merkt für die Exits-Meldung im Neuen "...zurück zu dem Garten" und der Fehler passiert dann bei Übergabe des Strings, der keiner ist. |
|
|
|
|
|