Geschrieben um 14:46 am 30.01.2005 | Zitat | Editieren | Löschen | |
Mitglied Pupil Gumby Beiträge: 15 | Hiho, ich habe ein kleines code-technisches Problem, von dem ich mir erhoffe, dass ihr es für mich lösen könnt oder mir zumindest einen Hinweis geben könnt, wie ich es lösen könnte. Der Spieler fällt in einer Traumsequenz in ein tiefes, tiefes Loch in einem (nein, nicht Kaninchenbau ... ;-). Auf seinem Weg nach unten kommt er an einigen Regalen an den Wänden vorbei und soll sich ab und an für einen der Gegenstände auf diesen Regalen entscheiden, nach denen er gerne greifen möchte. Das funktioniert im Prinzip auch sehr gut, der Deamon bewegt die Objekte inScope und wieder weg bis der Spieler unten angekommen ist. Soweit so gut. Problem ist nur: get all führt meine Bemühungen ein wenig ad absurdum. Ich möchte also verhindern, dass der Spieler mit "nimm alles" alle Regale abgrast, während er nach unten rauscht. Kann ich in einem einzelnen Raum speziell verhindern, dass "nimm alles" funktioniert oder kann ich dem multi-Token in der Grammatik sagen, dass es in diesem speziellen Raum anders funktionieren soll wie sonst ... wie macht man sowas? Ich hab mir da schon ein paar Stunden den Kopf drüber zerbrochen, aber mir fällt nix ein. Entweder ich habe ein Brett vorm Schädel oder ich bin zu doof. MfG, Olav |
Geschrieben um 17:27 am 30.01.2005 | Zitat | Editieren | Löschen | |
Mitglied Student Gumby Beiträge: 36 | Versuch's mal mit folgendem Tip aus Roger Firths "Inform FAQ": http://www.firthworks.com/roger/informfaq/ww.html#3 Ich hab momentan nicht wirklich die Zeit und die Nerven (Diplomprüfungsstress....) da völlig ein- und durchzusteigen, aber eigentlich sollte es doch mit ChooseObjects gehen. Du müsstest nur eine zusätzliche Abfrage nach dem aktuellen Raum einbauen, wenn Du "TAKE ALL" nur in diesem verhindern willst. |
Geschrieben um 11:21 am 31.01.2005 | Zitat | Editieren | Löschen | |
Mitglied Prof Gumby Beiträge: 634 | Ja, genau, Frottees Hinweis auf das FAQ ist goldrichtig. Der Vollständigkeit halber aber noch eine Anmerkung: Aufgabe 106 im DM4 schränkt "take all" für eine bestimmte Raumklasse, die nur schwach erleuchtete Räume darstellt, ein. Das ist ja schon fast das, was du willst. Der Code ist dem aus dem FAQ recht ähnlich, nur dass hier ParserError verwendet wird. Den Ansatz, wie in Rogers Lösung die Library Messages zu verändern, finde ich aber eleganter. |