Geschrieben um 02:06 am 19.10.2010 | Zitat | Editieren | Löschen | |
Mitglied Pupil Gumby Beiträge: 11 | Hallo, ich möchte eine unsichtbare Truhe aus dem Boden ausgraben. Die liegt im Moment im Nirwana und wird dann nach dem graben Befehl in den Raum Wald gesetzt. Soweit klappt das schon ganz gut. Die Truhe erscheint Im Wald und ich kann sie, untersuchen und öffnen, aber wenn ich jetzt nochmal den Befehl graben eingebe, dann wird die ganze Aktion * wiederholt. Die Zeile "Wenn /(aObj = Truhe3) dann" müsste doch dafür sorgen, dass bis zum "Sonst" von dieser Aktion * nichts mehr beachtet wird. Es wird aber immer wieder der Text "'Du gräbst eine Truhe frei.'" herausgegeben. Wie kann ich das verhindern, sodas beim 2. graben der Text "'Hier hast du schon gegraben.'" erscheint?
Ich bedanke mich schon mal für evtl. Hilfe :0) |
Geschrieben um 07:57 am 19.10.2010 | Zitat | Editieren | Löschen | |
Mitglied Prof Gumby Beiträge: 634 | Hmmm. Eine Aktion ist eigentlich dazu da, in jedem Zug Dinge auszuführen, die unabhängig vom Spielzug des Spielers passieren: Ein Windhauch streicht durch den Wald, NPCs bewegen sich durch die Räume, eine Straßenbahn fährt ihre Linie ab, so etwas. In einer Aktion sollten also aObj und aBef, die den Spielzug des Spielers beschreiben, nicht vorkommen. Außerdem ist aObj ja gar nicht die Truhe. Der Befehl heiß ja vermutlich nur "grabe", und dann ist nur aBef belegt. (Oder der Befehl lautet "grabe in der erde", dann ist aBef ja die Erde.) Außer-außerdem kann die zweite Bedingung (aBef = hier_graben), die im sonst-Ast, nie wahr sein, weil die Bedingung im anderen Ast, die auch (aBef = hier_graben) heißt, schon wahr ist. Wenn man den Code richtig einrückt, wird das klar:
Ich würde das Finden der Truhe direkt beim Raum abfangen:
Easy-peasy! :-) (Es ist leichter, wenn man 'nirgendwo' und 'Nirwana' unterscheidet: Im Nirgendwo sind Objekte, die noch nicht im Spiel sind, im Nirwana sind Objekte, die aus dem Spiel herausgenommen wurden. So kann die Truhe später im Nirwana landen, weil sie etwa in eine Schlucht gefallen oder verbrannt ist, und trotzdem nicht wieder ausgegraben werden.) |
Geschrieben um 11:47 am 19.10.2010 | Zitat | Editieren | Löschen | |
Mitglied Pupil Gumby Beiträge: 11 | Juhuuu, es funktioniert! :0) Oh Mann, so einfach kanns sein. Habt Dank für die Erleuchtung! |