Forum moved to if-forum.org
Autor Nachricht
<  I7: Textausgaben organisieren, wenn Werte sich ändern
Bushin
BeitragVerfasst am: Do, 29 Sep 2011 - 16:56  Antworten mit Zitat
Wasserträger
Wasserträger


Anmeldungsdatum: 21.09.2011
Beiträge: 48
Wohnort: München

Hallo,

sodale :) nach meiner Vorstellung gleich das erste Problem, mit dem ich scheinbar nicht selbst klar komme:

Ich bin gerade dabei, eine einfache "Wetterengine" zu schreiben, welche auch gut läuft. Nun hätte ich gern folgendes:

Immer beim Betreten eines bestimmten Areals (nämlich dann, wenn der Spieler aus geschloßenen Räumen ins Freie kommt) brauche ich eine Textausgabe zum aktuellen Wetterstatus: "Es regnet!"
Ich will das aber nicht in jedem Durchlauf und auch nicht regelmäßig alle 20 Spielzüge oder sowas.

Das nächste, eigentlich noch wichtigere Problem was da mit dran hängt: Gesetzt den Fall, der Spieler ist im Freien unterwegs und das Wetter ändert sich via oben beschriebener "Wetterengine" - da macht es natürlich Sinn, dass mein Code auch den Spieler entsprechend informiert: "Es beginnt zu regnen."

Sprich etwa so:
Wenn das Wetter sich auf "REGEN" ändert und der Spieler sich im Freien aufhält, say "Hopla, jetzt fängts auch noch zu regnen an!".

und

Wenn der Spieler die Region "DORF" betritt und das Wetter ist "REGEN", say "Es regnet, regnet, regnet..."

Verständlich? Würde mich über ein kurzes Brainstorming freuen. Ich nehme an die Lösung ist einfach aber ich hab mir jetzt echt die Zähne fast ausgebissen auf der suche nach den entsprechenden Befehlen.

Grüße
da Bushin
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ChristianB
BeitragVerfasst am: Fr, 30 Sep 2011 - 8:40  Antworten mit Zitat
Experte
Experte


Anmeldungsdatum: 05.05.2004
Beiträge: 633
Wohnort: Hamburg

Bushin hat folgendes geschrieben:
Immer beim Betreten eines bestimmten Areals (nämlich dann, wenn der Spieler aus geschloßenen Räumen ins Freie kommt) brauche ich eine Textausgabe zum aktuellen Wetterstatus: "Es regnet!"

Das kann vielleicht so gehen (Outdoors und House sind Regionen, weather eine globale Variable, die das aktuelle Wetter anzeigt, rainy, stormy, cloudy ...):

After going from somewhere in the House to somewhere in the Outdoors: if the weather is rainy, say "Es regnet!".

Bushin hat folgendes geschrieben:
Das nächste, eigentlich noch wichtigere Problem was da mit dran hängt: Gesetzt den Fall, der Spieler ist im Freien unterwegs und das Wetter ändert sich via oben beschriebener "Wetterengine" - da macht es natürlich Sinn, dass mein Code auch den Spieler entsprechend informiert: "Es beginnt zu regnen."

So möglicherweise (ich nehme einfach mal an, dass die Wetter-Engine eine Flagge weather-change setzt und wieder löscht):

Every turn when the player is in the Outdoors and weather-change is true: if the weather is rainy, say "Es beginnt zu regnen."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Mikawa
BeitragVerfasst am: Fr, 30 Sep 2011 - 8:46  Antworten mit Zitat
Abenteurer
Abenteurer


Anmeldungsdatum: 03.09.2009
Beiträge: 453
Wohnort: Cham

Hallo Bushin,


willkommen im Forum.
Ein kleiner Vorschlag:
Mach aus dem "Regen" eine recurring scene.
Recurring heißt, dass du die scene nach belieben aktivieren, deaktivieren und wieder aktivieren kannst.

Also etwa:

Code:

"Test4" by Mikawa

Include German by Team GerX.

Outdoors is a region.
Indoors is a region.
Lobby is a room, in the indoors. "Hier ist der Eingangsbereich. Nach Norden geht es raus.".
The printed name is "Eingangsbereich".
Street is a room, in the outdoors, north from lobby. "Hier ist die Straße, nach Süden geht es zum Eingangsbereich.".
The printed name is "Straße".
Raining is a recurring scene.
A person can be abominable.
Raining begins when the player is abominable.
Raining ends when the player is not abominable.

Instead of singing:
   say "Du singst abscheulich.";
   now the player is abominable

Instead of waving hands when raining is happening:
   say "Du winkst und der Himmel scheint dir zu verzeihen.";
   if the player is in outdoors:
      say "Der Regen hört schlagartig auf.";
   else:
      say "Das prasselnde Geräusch von draußen verstummt. Offenbar hat es aufgehört zu regnen.";
   now the player is not abominable

After going north from lobby when raining is happening:
   say "Igitt, starker Regen.";
   try looking.

After going south from street when raining is happening:
   say "Du bist froh, ins Trockene zu kommen.";
   try looking.

When raining begins:
   if the player is in outdoors:
      say "Es beginnt stark zu regnen.";
   else:
      say "Es ist ein prasselndes Geräusch von draußen zu hören. Offenbar hat es zu regnen begonnen."


Du kannst das Ganze natürlich verallgemeinern uns schreibst anstelle der beiden after-rules:

Code:

last-indoor is a truth state that varies.
last-outdoor is a truth state that varies.

Before going somewhere:
   if location is in indoors:
      now last-indoor is true;
      now last-outdoor is false;
   else:
      now last-outdoor is true;
      now last-indoor is false.

After going somewhere:
   if last-indoor is true and location is in outdoors and raining is happening:
      say "IGITT.";
   if last-outdoor is true and location is in indoors and raining is happening:
      say "GOTT SEI DANK.";
   try looking.



Viele Grüße
-- MI
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Bushin
BeitragVerfasst am: Fr, 30 Sep 2011 - 23:36  Antworten mit Zitat
Wasserträger
Wasserträger


Anmeldungsdatum: 21.09.2011
Beiträge: 48
Wohnort: München

Na he, super! Danke Euch.

Ja, was ich gesucht habe scheint mir das mit der Change Flagge zu sein und die Formel "going from...to".
Beides kannte ich noch nicht, ist auch schwer zu suchen in den englischen Manuals, wenn man nicht weiß, wonach man suchen soll *g*.

Also mir ist super weitergeholfen, ich denke damit krieg ich hin, was ich brauch!

Der Gedanke mit reccuring scene's kam mir auch schon und ich hab damit auch bißerl rumgespielt. Allerdings muss ich mir das ganze Szenen Ding Thema erst mal genauer zu Gemüte führen. Mikawa, wenn du erlaubst werd ich mir deinen Code für diesen Zweck gleich mal genauer unter die Lupe nehmen und damit bißerl rumspielen...

Danke Euch beiden!
Grüße
Bushin

Hier ist mal das erste Ergebnis, was ich mir selbst auf die "Schnelle" zusammengeschrieben hatte:

Zitat:
[2.1. Wetter]

The Weather is a backdrop. It is in the Outdoor Area.

The prevailing Weathercode is number that varies. The prevailing wettercode is 0.
Every turn: increase the prevailing weathercode by 1.

The prevailing Weatherstatus is a number that varies. The prevailing weatherstatus is 1. [Welches Wetter haben wir denn?]

Instead of examining the weather, say "[if prevailing weatherstatus is 1]Strahlend blauer Himmel![otherwise if prevailing weatherstatus is 2]Es ist etwas bewölkt, aber die Sonne scheint.[otherwise if prevailing weatherstatus is 3]Der Himmel ist wolkenverhangen und ein kräftiger Wind weht.[otherwise if prevailing weatherstatus is 4]Es gießt in Strömen![otherwise if prevailing weatherstatus is 5]Extrem starker Wind und der Himmel ist kräftig bewölkt![end if]".

Every turn:
if the prevailing wettercode is 50, let w be a random number from 1 to 17;
if the prevailing wettercode is 51, now the prevailing wettercode is 0;
if w is a random number from 1 to 5, now the prevailing Wstatus is 1;
if w is a random number from 6 to 10, now the prevailing Wstatus is 2;
if w is a random number from 11 to 13, now the prevailing wstatus is 3;
if w is a random number from 14 to 15 , now the prevailing wstatus is 4;
if w is a random number from 16 to 17, now the prevailing wstatus is 5.

Every turn:
If player is in the Outdoor Area:
if the prevailing wettercode is 50, say "[if the prevailing weatherstatus is 3]Es ist windig und kräftig bewölkt.[otherwise if the prevailing weatherstatus is 4]Es regnet wie aus Gießkannen.[otherwise if the prevailing weatherstatus is 5]Der Himmel ist mit dichten Wolken bedeckt und sehr starker Wind fegt durch die Gassen.[end if]".
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
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