| Geschrieben um 02:34 am 15.05.2014 | Zitat | Editieren | Löschen | |
Mitglied Pupil Gumby Beiträge: 16 | <td valign="top"><div class="post"><p>Hi,</p> <p>bei folgendem source code:</p> <p>“`#charset “utf-8”</p> <h1>include <adv3.h></h1> <h1>include <de_de.h></h1> <p>gameMain: GameMainDef</p> <p>initialPlayerChar = me</p> <p>;</p> <p>versionInfo: GameID</p> <p> name = ‘Das Hexenhaus’</p> <p> byline = ‘by Tony Tiger’</p> <p> authorEmail = ‘test@test.com>’</p> <p> desc = ‘This is a template to start a new game project. ‘</p> <p> version = ‘1’</p> <p> IFID = ‘b8563851-6257-77c3-04ee-278ceaeb48ac’</p> <p>;</p> <p>garten: Room</p> <p> roomName = “Garten”</p> <p> desc = “Du stehst in einem verwilderten Garten, der von einer</p> <p> halb verfallenen Steinmauer umgeben wird. An der Nordseite</p> <p> schließt ein kleines Holzhaus an den Garten, um das sich genau wie um den Garten seit Jahren niemand mehr gekümmert hat.”</p> <p> north = flur</p> <p>;</p> <p>+me: Actor</p> <p>;</p> <p>flur: Room</p> <p> roomName = “Flur”</p> <p> desc = “Wenn man das Haus vom Garten her betritt, landet man</p> <p> in einem kurzen Flur, vom dem aus drei Türen abgehen, sowie</p> <p> eine Treppe, die nach oben führt. Der Flur ist mit graugelben</p> <p> Tapeten behangen, deren Muster kaum noch zu erkennen sind.”</p> <p> south = garten</p> <p>;“`</p> <p>bekomme ich einen RTE, wenn man versucht nach Norden zu gehen.</p> <p>[Runtime error: nil object reference</p> <p>->/usr/share/frobtads/tads3/lib/adv3/de<em>de/de</em>de.t, line 1184</p> <p>/usr/share/frobtads/tads3/lib/adv3/de<em>de/de</em>de.t, line 1949</p> <p>/usr/share/frobtads/tads3/lib/adv3/de<em>de/de</em>de.t, line 1824</p> <p>/usr/share/frobtads/tads3/lib/adv3/de<em>de/de</em>de.t, line 6236</p> <p>/usr/share/frobtads/tads3/lib/adv3/de<em>de/msg</em>neu.t, line 691</p> <p>/usr/share/frobtads/tads3/lib/adv3/action.t, line 1680</p> <p>/usr/share/frobtads/tads3/lib/adv3/action.t, line 3449</p> <p>/usr/share/frobtads/tads3/lib/adv3/action.t, line 1150</p> <p>/usr/share/frobtads/tads3/lib/adv3/exec.t, line 1168</p> <p>/usr/share/frobtads/tads3/lib/adv3/pov.t, line 156</p> <p>/usr/share/frobtads/tads3/lib/adv3/pov.t, line 58</p> <p>/usr/share/frobtads/tads3/lib/adv3/exec.t, line 1171</p> <p>/usr/share/frobtads/tads3/lib/adv3/exec.t, line 1146</p> <p>/usr/share/frobtads/tads3/lib/adv3/exec.t, line 1047</p> <p>/usr/share/frobtads/tads3/lib/adv3/actions.t, line 2705</p> <p>/usr/share/frobtads/tads3/lib/adv3/action.t, line 1477</p> <p>…</p> <p>Liegt das an einem Fehler in meinem Code oder an G-TADS?</p> <p>Verwende die neuste G-TADS von Github.</p> <p>Gruß</p> <p>[/code]</p> </div></td> |
| Geschrieben um 03:03 am 15.05.2014 | Zitat | Editieren | Löschen | |
Mitglied Pupil Gumby Beiträge: 16 | habe bei roomName einfache Anführungszeichen genommen und jetzt funktioniert es. Also roomName = ‘Garten’, statt “Garten”. |
| Geschrieben um 08:29 am 15.05.2014 | Zitat | Editieren | Löschen | |
Moderator Prof Gumby Beiträge: 360 | 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. |
| Geschrieben um 15:30 am 15.05.2014 | Zitat | Editieren | Löschen | |
Mitglied Pupil Gumby Beiträge: 16 | 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. |
| Geschrieben um 15:33 am 15.05.2014 | Zitat | Editieren | Löschen | |
Moderator Prof Gumby Beiträge: 360 | 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. |