Geschrieben um 19:05 am 10.07.2003 | Zitat | Editieren | Löschen | |
Mitglied Baby Gumby Beiträge: 4 | Hi! Ich versuche mich gerade an einem eigenem Adventure bzw. versuche ich mich so ein wenig in TAG einzuarbeiten. Ich möchte nun einen Raum Straße kreiern, der auf der westlichen Seite eine Mauer hat. Wenn man auf die Mauer klettert, kann man auf der anderen Seite runterspringen und gelangt in den Garten. Ich habe noch keinen Code aufgestellt, weil ich mich frage wie ich das am besten aufstellen soll. Ich schätze mal zunächst brauche ich die Definition des Befehls 'klettern' und vielleicht eine Zufallschance, wann man es auf die Mauer schafft. Im Moment überlege ich aber, wie ich die Räume aufteile. Soll ich Garten und Straße in einen großen Raum fassen mit der Mauer als Objekt und mit Erreichbarkeit und Sichtbarkeit von Objekten arbeiten oder ist es einfacher Garten, Mauer und Straße einzeln als Räume zu machen oder die Mauer als Objekt in beiden Räumen Straße und Garten vorkommen zu lassen (wobei ich da das Problem habe, dass man ja nur nach Westen bzw. Osten gehen können sollte, wenn man auf der Mauer ist). Hat jemand eine Idee, was sich da am besten eignet? Den Richtungsbefehl "hoch" hier bei der Mauer zu verwenden, scheidet da leider irgendwie aus, da ich den schon für die östliche Häuserfassade nehmen wollte, wo man aufs Dach klettern kann. Also danke schon mal vorab für Hilfe (o: -Atera |
Geschrieben um 03:46 am 11.07.2003 | Zitat | Editieren | Löschen | |
Gast | Hi ! Also erstmal vorweg: Ich kann nur eine Empfehlung auf Grund meiner geringen Erfahrung geben. Natürlich gibt es verschiedene Lösungen und Möglichkeiten. Meine Tips und Gedanken: Wenn ich dich richtig verstanden habe, so soll die Spielfigur auf der Mauer stehen können und der Spieler muss sie von dort per Befehl in den Garten oder umgekehrt bewegen. Das halte ich persönlich für nicht so gut, weil du eine Menge von Möglichkeiten abfangen und vorhersehen müsstest.
und
und
sollten dann ebenso möglich sein wie,
Derlei würde es einige Beispiele mehr geben. Da könnten also einige Probleme lauern für deren Beseitigung du vielleicht viel Energie verschwendest, die du woanders reinstecken könntest. Wenn dem Spieler nicht irgendwas interessantes auf der Mauer erwarten soll, so würde ich ihn einfach über die Mauer in den Garten transportieren.
Was mich gleich zur Raumaufteilung führt. Für mein obiges Beispiel würde ich die Straße und den Garten als Raum einbauen. Die Mauer wiederrum als Objekt oder Deko in beiden. Jetzt nur noch den Befehl "klettern" entsprechend modifizieren und aus die Maus. Mit Sichtbarkeit und Erreichbarkeit bräuchtest du bei diesem Fall auch nicht rumfummeln. In meinem Projekt existiert ein ähnlicher Fall wie bei dir. Statt der Mauer erwartet dem zukünftigem Spieler eine Grube zwischen zwei Räumen und eine Planke darüber. Bei mir kannst du entweder a) über die Planke balancieren b) über die Grube springen c) einfach nach Westen oder Osten gehen Bei c) erscheint ein Menü welches die Punkte a) und b) und den Abbruch durch eine Zifferauswahl regelt. Und bei mir findest du zwei Räume und zweimal die Deko Grube. Und obwohl an dieser Stelle für den Spieler einiges passieren kann, empfand ich diese Lösung beim proggen als nicht schwer oder gar unübersichtlich. So, das war es erstmal. Bin schon neugierig auf weitere Antworten und Anregungen. Bye, ND |
Geschrieben um 15:20 am 14.07.2003 | Zitat | Editieren | Löschen | |
Mitglied Student Gumby Beiträge: 32 |
Das müsste dann so aussehen:
Natürlich musst du noch einige Stellen im Quelltext ändern, ich glaube nicht, das du die gleichen Bezeichnungen genommen hast. Ich habe den Quelltext nicht ausprobiert, er müsste aber jetzt eigentlich klappen. |
Geschrieben um 14:26 am 15.07.2003 | Zitat | Editieren | Löschen | |
Gast | Hallo! Danke für eure Antworten, ich bastle gerade an dem Quelltext herum. Wegen dem Befehl klettern, das wird komplizierter als ich anfangs dachte, da ich mindestens drei Sachen habe worauf der Spieler klettern dürfen sollte. Ich habe nun überlegt, ob ich vielleicht ein neues Objekt Attribut 'erkletterbar' definieren sollte. Und man vielleicht automatisch, wenn man auf dem betreffenden Objekt steht in den betreffenden Raum gebracht wird. Also z.B. erklettere Balkon usw. Mein Code sähe nun so aus:
Ja, natürlich müßte man den Raum Auf_der_Mauer noch ausbauen, aber im Prinzip glaube ich/hoffe ich klappt das so (o; Hm, mal ne andere Frage: In den Standartantworten gibt es ja auf den Befehl 'untersuche mich' etc. die übliche Antwort 'Du siehst hinreißend aus' blablabla. Ist es möglich diese Antwort zu verändern ohne dass man gleich eine neue Standard-Antworten Datei dafür erstellen muss? Und ein zweites Problem, dass ich immer wieder habe, ist, dass beim Betreten des Raumes Objekte mit aufgelistet werden, die ich da eigentlich nicht aufgelistet haben wollte. Beispiel: Hinter einer Kiste steht eine Whiskyflasche. In der Flasche ist Whisky. Wenn der Spieler nun den Raum betritt bekommt er die Meldung, dass hier eine Kiste steht und dass in der Whiskyflasche Whisky ist. Ich frage mich also wie man solche Meldungen unterdrücken kann. -Atera |
Geschrieben um 14:28 am 15.07.2003 | Zitat | Editieren | Löschen | |
Mitglied Baby Gumby Beiträge: 4 | Ups, war wohl nicht mehr eingeloggt. Obiger Post ist von mir. Sorry. |
Geschrieben um 15:22 am 15.07.2003 | Zitat | Editieren | Löschen | |
Mitglied Prof Gumby Beiträge: 634 | Ein Wissender:
So? Mir geht da eher der Hut hoch.
Es muss dasObj heißen. Außerdem sind 'kletter' und 'klettere' redundant, da T.A.G. das Verb 'klettere' auch in den Formen 'kletter' und 'klettre' versteht.
Die Angabe der Zielorte müssen ohne Anführungszeichen angegeben werden. Das Ganze sieht dann so aus:
Der Code fürs Klettern üerprüft gar nicht, auf welches Objekt geklettert werden soll. In die Ausf des Befehls gehört eine allgemeine Absage, der Code fürs Auf-die-mauer-Klettern sollte beim Objekt Mauer stehen. Zitat:
Natürlich. Zitat:
Leider ist der Quelltext sehr fehlerhaft. Wieso probierst Du ihn nicht aus, bevor Du ihn postest? In seiner jetzigen Form isr er, besonders für Einsteiger, nicht hilfreich, sondern eher verwirrend. (Ok, ok, ich poste auch öfters Code ins Forum, ohne ihn getestet zu haben, aber ich habe auch schon etwas mehr Erfahrung mit T.A.G. Und ich schaue meistens vorher im Handbuch nach.) Aber mal zum eigentlichen Thema des Threads: Aufteilung der Räume. Ich würde alles so einfach wie möglich halten und auf Modifikationen von Sicht und Reichweite verzichten. Also wäre die Straße ein Raum und der Garten ein anderer. Vom Garten kann man nicht auf die Straße sehen und umgekehrt. Die Mauer wäre dann entweder auch zwei Objekte, Mauer_Straße und Mauer_Garten, oder eine Deko, die sich in beiden Räumen befindet. So wie ich Dich verstanden habe, Atera, soll der Spieler auch auf der Mauer sein können. In dem Fall würde ich "Auf der Mauer" ebenfalls als Raum implementieren, von dem aus der Spieler in einen der anderen Räume gelangen kann. Richtungen. Wenn der Spieler in der Straße ist, ist die Mauer im Westen. Außerdem gibt es eine Fassade im Osten, auf die man ebenfalls klettern kann. Vielleicht geht die Straße nach Norden und/oder Süden weiter. Mit "W" sollte der Spieler gesagt bekommen, dass dort eine Mauer ist, vielleicht mit einem Hinweis darauf, dass er darauf klettern kann. Bei "Hoch" sollte ebenfalls eine negative Antwort kommen, oder eine Nachfrage, ob der Spieler auf die Mauer oder die Fassade klettern will. (Diese Antwort sollte aber nicht aussehen wie eine Parserantwort, da der Spieler ja den Befehl zum Klettern explizit eingeben muss. Vielleicht etwas wie "Direkt über dir ist freier Himmel. Du könntest aber auf die Mauer und die Fassade klettern.") Zum Klettern muss also immer "klettere auf x" angegeben werden, die Richtungen geben nur Hinweise darauf. Genauso im Garten: "O" sagt, dass die Mauer im Weg ist, mit "klettern" kommt man dann auf die Mauer. Auf der Mauer selbst kann man dann nach Osten oder Westen springen. Oder in den garten und auf die Straße. Hier wäre Eingabevielfalt wünschenswert. Dass man von der Mauer aus nur nach Westen und Osten gehen kann, ist ja leicht zu bewerkstelligen. Nur sollten die anderen Ausgänge eine eigene Antwort anstelle der Standardantwort bekommen. Befehle. Der Hauptbefehl ist hier wohl klettern, der in seiner Reinform dem Spieler eine Absage erteilt:
Beim Mauerobjekt würde man dann das Klettern abfangfen.
(Von einer Zufallschance würde ich absehen und eher eine andere Bedingung einfügen.) Verfeinerungen. Man könnte jetzt noch von der Mauer aus alle Gegenstände im Garten und auf der Straße mit SichtUndRw sichtbar machen. Und man könnte den Spieler die Mauer nur mit leeren Händen hochklettern lassen und ihm dafür die Möglchkeit geben, Dinge auf die Mauer zu legen, wenn er auf der Straße und im Garten ist. Und natürlich fehlen noch Synonyme zum Klettern. Also:
Oh! Mittlerweile hast Du ja eine Lösung gefunden. Sieht gut aus, trotzdem würde ich alles bei den Objekten in der VorAusf abfangen und beim klettern nur die Absage stehen lassen. Das Attribut erkletterbar ist aber gut, denn es hilft beim Disambiguisieren:
Atera:
Jein. Ein Alternative ist, den ganzen Block mit Standardantworten in die Spieldatei zu kopieren und das Wort "Standard" davor zu schreiben. Ob das aber einfacher ist, bezweifle ich. (Einzelne Antworten auszutauschen, wie in Inform, ist nicht möglich.) Zitat:
Das ist wohl ein Bug in T.A.G. Der Whisky ist eigentlich nicht da, da die Flasche nicht da ist. Hier würde ich den Fehler des Interpreters umgehen, indem ich das Schauen hinter die Kiste anfange:
|
Geschrieben um 14:59 am 16.07.2003 | Zitat | Editieren | Löschen | |
Mitglied Student Gumby Beiträge: 32 | Da hattest du ja ganz schön viel an mir auszusetzen. :cry: Martin: Leider ist der Quelltext sehr fehlerhaft. Wieso probierst Du ihn nicht aus, bevor Du ihn postest? -Ich probiere ihn nicht aus, weil ich nicht bei mir Internet habe, und nicht jederzeit ins Internet kann, d.h. wenn ich ihn testen würde, bräuchte ich 2-3 Tage, um ihn zu posten, und auf dem Internet Pc darf ich keine Daten speichern(ich speichere sie ddirekt auf Disketten) (Mehr wird nicht verraten). Martin: In seiner jetzigen Form isr er, besonders für Einsteiger, nicht hilfreich, sondern eher verwirrend. -Vergiss bitte nicht, ich bin auch ein Einsteiger(Mehr oder weniger). Martin: (Ok, ok, ich poste auch öfters Code ins Forum, ohne ihn getestet zu haben, aber ich habe auch schon etwas mehr Erfahrung mit T.A.G. Und ich schaue meistens vorher im Handbuch nach.) -Erwischt!!! Danke fürs zuhören! Ich entschuldige mich green dafür, das mein (Quell-)Text Falsch war/ist. Übrigens habe ich den Quelltext jetzt wieder geändert... |
Geschrieben um 17:19 am 16.07.2003 | Zitat | Editieren | Löschen | |
Mitglied Baby Gumby Beiträge: 4 | Danke schön erstmal für die vielen Tipps. Auf das mit dem Whisky wäre ich jetzt auf Anhieb (bzw. wahrscheinlich auch nicht nach mehreren Anläufen gekommen ) nicht gekommen. Hat mir auf jeden Fall weitergeholfen. Liebe Grüße -Atera, die jetzt weiterbastelt (o; |