Forum moved to if-forum.org
Autor Nachricht
<  Ja / Nein Fragen
Rabea
BeitragVerfasst am: Mo, 4 März 2013 - 19:32  Antworten mit Zitat
Wasserträger
Wasserträger


Anmeldungsdatum: 25.02.2013
Beiträge: 36
Wohnort: Bielefeld

Hallo liebe Forenmitglieder,

ich stecke hier bei der ARbeit an meinem Textadventure etwas fest, vielleicht hat von Euch jemand Ahnung, wie ich das Problem lösen könnte.

Es geht um eine Ja/Nein Situation. Der Spieler soll die Möglichkeit haben, ein Käsemesser zu nehmen. Sobalt er "nimm käsemesser" eintippt soll die Abfrage kommen ob er das wirklich möchte. Beantwortet er die Frage mit "Nein" soll das Messer nicht aufgenommen werden und wie gehabt im Raum verbleiben.
Sobald er die Frage aber mit "Ja" beantwortet soll ein bestimmter Text erscheinen.

Mein Programmtext sieht folgendermaßen dazu aus:

Instead of taking the Kaesemesser:
say "Echt jetzt? Das Käsemesser solls sein?";
if player consents, now the player carries the Kaesemesser;
otherwise now the Kaesemesser is in the Anwesen des Dionys;
say paragraph break.

After taking the Kaesemesser, say "[bold type]Die private Miliz des Tyrannen hat Dich ertappt. Dich schlugen die Häscher in Bande:[paragraph break] [red letters]'Was wolltest Du mit dem Käsemesser, [blue letters]sprich[default letters][red letters].....' [default letters] [paragraph break]entgegnet Dir da der Wüterich."

Das mit dem Ja/Nein klappt soweit. Nur ist mein Problem, dass wenn er "Ja" eintippt er einfach nur das Messer aufnimmt, allerdings nicht der Warntext erscheint.

Für Hilfe wäre ich sehr dankbar.

Liebe Grüße
Rabea
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Martin
BeitragVerfasst am: Mo, 4 März 2013 - 20:24  Antworten mit Zitat
Experte
Experte


Anmeldungsdatum: 25.08.2002
Beiträge: 677
Wohnort: München

Rabea hat folgendes geschrieben:
Das mit dem Ja/Nein klappt soweit. Nur ist mein Problem, dass wenn er "Ja" eintippt er einfach nur das Messer aufnimmt, allerdings nicht der Warntext erscheint.

Du machst Dir da das Leben schwerer als es ist:

Mit "Instead" brichst Du die Aktion "taking" ab. Wörtlich heißt es ja "Anstatt das Messer zu nehmen, mache folgendes". Da also die Aktion vorzeitig abgebrochen wurde, findet das Nehmen an sich nicht statt, es gibt also auch kein "After taking".

Anstatt das Nehmen nur dann zu unterbrechen, wenn die Frage verneint wurde, setzt Du das Aufheben durch ein direktes Verschieben des Messers zum Spieler um. Es ist gewiss besser, das Aufheben durch die Aktion "taking" durchführen zu lassen, da so auch Sonderfälle abgefangen werden: Was ist, wenn der Spieler schon zuviel trägt? Oder wenn nach dem Aufheben ein Text mit viel zu vielen Farben und Hervorhebungen ausgegeben werden soll?

Außerdem musst du im Fall, dass der Spieler das Messer nicht aufhebt, nichts machen, alles bleibt, wie es ist. Schlimmer: Die Anweisung, das Käsemesser explizit zum Anwesen des Dionys zu verschieben, kann nach hinten losgehen. Wenn der Spieler das Messer nimmt, woanders hingeht, dort das Messer ablegt und es wieder nimmt, aber die Frage mit Nein beantwortet ist das Messer - Schwupp! - auf einmal im Anwesen des Dionys.

Also:

Before taking the knife:
→ say "Echt jetzt? Das Käsemesser solls sein?";
→ if player consents:
→ → continue the action;
→ otherwise:
→ → say "Na gut, dann nicht." instead.


(Die → sind natürlich Einrückungen mit Tabs. Frage an die I7-fexe: Gibt es eine passende Negation zu "if the player consents"?)

Pro-Tipp: Lies Dir einmal das Kapitel 7 in der Doku durch. Dort werden die Grundlagen der Aktionen erklärt.

Pro-Tipp II: Lass die Ja/Nein-Abfrage raus. Der Spieler hat gerade "nimm messer" oder etwas Ähnliches, also mehr als zehn Zeichen, eingegeben. So etwas macht man nicht aus Versehen. Und wenn doch, gibt's "undo".

Pro-Tipp III: Es reicht, Deine Fragen in einem Forum zu posten. Dieses hier, wo es um Inform geht, ist goldrichtig. :-)
_________________
Every silver lining has a cloud.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Rabea
BeitragVerfasst am: Mo, 4 März 2013 - 20:49  Antworten mit Zitat
Wasserträger
Wasserträger


Anmeldungsdatum: 25.02.2013
Beiträge: 36
Wohnort: Bielefeld

Hallo Martin,

tausend Dank für Deine ausführliche Antwort!! Es funktioniiiieeerttt :D
Mir fällt ein riesen Stein vom Herzen! Ich beschäftige mich erst seit kurzem damit und mir ist vieles noch nicht klar und ich hab auch noch Probleme damit hier in der Programmierung richtig "ausformulieren" zu müssen. Aber langsam näher ich mich der Sache etwas an :)

Das Messer wollte ich ins Anwesen verfrachten, weil ich krampfhaft nach einer Möglichkeit gesucht hatte, das Messer im Falle von "Nein" nicht aufzunehmen und es wurde ja eine Ansage verlangt.

Das Ta was ich da gerade mache, ist die Umsetzung der Bürgschaft. Ich hatte vor es etwas spaßig aufzuziehen und hier und da Alternativenden einzubauen. Deswegen habe ich da auch die Ja/Nein Abfrage drin, weil der Spieler sich entscheiden kann ob er den Dolch oder das Käsemesser nimmt. Nimmt er nämlich tatsächlich das Käsemesser wird der Dialog zwischen Damon und Dionys später ein anderer sein.

Und tut mir leid, dass ich die Frage doppelt gepostet hab :) Ich dachte nur, hier sei nichts mehr los.

Viiiiielen Dank auf jeden Fall nochmal und einen schönen Abend
Rabea
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
proc
BeitragVerfasst am: Mo, 4 März 2013 - 22:20  Antworten mit Zitat
Experte
Experte


Anmeldungsdatum: 08.12.2009
Beiträge: 923
Wohnort: Berlin

Martin hat folgendes geschrieben:
die I7-fexe: Gibt es eine passende Negation zu "if the player consents"?

Das ist eine Phrase in den SR: "To decide whether player consents". Da sollte "if not the player consents" hinhauen.
Ich hab den anderen Beitrag mal hierherverschoben, Crosspostings sind in so einem kleinen Forum ungünstig.
_________________
interactive fiction database
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
ChristianB
BeitragVerfasst am: Di, 5 März 2013 - 0:17  Antworten mit Zitat
Experte
Experte


Anmeldungsdatum: 05.05.2004
Beiträge: 633
Wohnort: Hamburg

Martin hat folgendes geschrieben:
Gibt es eine passende Negation zu "if the player consents"?)

Man kann sich bei Bedarf schnell eine basteln:

To decide whether the/-- player denies: (- ~~(YesOrNo()) -)
_________________
Worichtung willst du ingehen?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Alle Zeiten sind GMT + 1 Stunde (MEZ)

Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Seite 1 von 1
if-de :: Forum Foren-Übersicht  >  Inform & Glulx

Neues Thema eröffnen   Neue Antwort erstellen


 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.



Kontakt: Administrator

Powered by phpBB and NoseBleed v1.05