![]() ![]() |
Ein Wetterwechsel |
Eure Hauptcharaktere werden während des gesamten Spielverlaufs wohl durch große Länder reisen, durch Wälder, Städte, Dörfer, Gebirge und sonstige Ortschaften. Oft werden sie im Freiem unterwegs sein und da kann es schon einmal passieren, dass unerwartet das Wetter umschlägt... oftmals mehrmals am Tag, und das mit Regen sowie auch Schnee.
![]() |
Um dies anstellen zu können, muss zuerst eine Zufallszahl in eine
Variable gespeichert werden, die einen Zeitraum absteckt, während dessen
schönes Wetter ist. Die Variable dafür nennen wir "Länge Wetterw.". Die
Zufallszahl soll zwischen 1 und 7200 liegen. (Sekunden des Wartens bis zum
Unwetter) |
![]() |
Eine weitere Variable, die wir "Timer-Wetterw." nennen, wird auf "0"
gesetzt. |
![]() |
Direkt danach wird eine Endlosschleife eröffnet. |
![]() |
Innerhalb der Endlosschleife beginnt alles damit, dass die Variable "Timer-Wetterw."
um 1 hochgezählt wird. |
![]() |
Direkt danach soll eine Warten-Funktion das Fortfahren des Ereigniscodes
für eine Sekunde stoppen. |
![]() |
Dem Warte-Ereignis folgt eine Bedingung, die prüft, ob der Wert der
Variable "Länge Wetterw." mit dem Wert der Variable "Timer-Wetterw."
identisch ist. Ein Nein-Fall ist nicht nötig. |
![]() |
Innerhalb des Ja-Falles muss dann der Ausbruch aus der Endlosschleife
erfolgen. |
![]() |
Unter dem Ende der Endlosschleife wird nun eine Variable angelegt, der
ihr den Namen "Wetter-Dauer" gebt. Sie soll eine Zufallszahl speichern, die
zwischen 20 und 2000 liegt (Sekunden, wie lange das Unwetter dauern soll). |
![]() |
Direkt danach soll eine neue Variable folgen, die ihr "Wetter-Timer"
nennt, die auf "0" gesetzt werden soll. |
![]() |
Direkt danach folgt eine weitere Endlosschleife |
![]() |
Innerhalb dieser Endlosschleife wird zuerst die Variable "Wetter-Timer"
um 1 hochgezählt. |
![]() |
Direkt danach folgt eine Bedingung, die abfragt, ob der Schalter "In
Gebäude/Höhle" auf ON/AN steht. Hier brauchen wir einen Nein-Fall in der
Bedingung. |
![]() |
Innerhalb des Ja-Falls soll ein Wettereffekt namens "Keiner/None"
aufgerufen werden. |
![]() |
Innerhalb des Nein-Falles soll eine Bedingung nun fragen, ob ein
Schalter "Es ist Winter" auf AN steht. |
![]() |
Im Ja-Fall dieser Bedingung soll als Wettereffekt "Snow/Schnee"
aufgerufen werden. |
![]() |
Im Nein-Fall ist es dann Regen, was als Wettereffekt in Aktion treten
soll. |
![]() |
Über dem Ende der Endlosschleife (innerhalb dieser) und außerhalb der
Bedingungen soll nun ein Warte-Ereignis dafür sorgen, dass mit dem
Fortfahren des Ereigniscodes eine Sekunde gewartet wird. |
![]() |
Direkt danach, noch innerhalb der Endlosschleife, soll eine Bedingung
prüfen, ob die Werte der Variablen "Wetter-Dauer" und "Wetter-Timer"
identisch sind. Ein Nein-Fall ist hier nicht erforderlich. |
![]() |
Wenn dem so ist, soll zuerst ein Wettereffekt namens "Keiner/None" aufgerufen werden. Direkt danach folgt dann der Schleifenausbruch. |
Wetter-Wechsel-Ereignis [Parallel] | ||||||||||||||||||||||||||||||||
[Variable [Länge Wetterw.]] [<--
[setzen] [Zufall zw. [1] und [7200]] [Variable [Timer Wetterw.]] [<-- [setzen] [0] [Schleife Beginn] [Variable [Timer Wetterw.]] [<-- [+] [1]] [Warten [10]] [Bedingung][Variable][Timer Wetterw.][gleich][Länge Wetterw.]
[Variable [Wetter Dauer]] [<-- [setzen] [Zufall zw. [20] und [2000]] [Variable [Wetter Timer]] [<-- [setzen] [0] [Schleife Beginn] [Variable [Wetter Timer]] [<-- [+] [1]] [Bedingung][Schalter][In Gebäude/Höhle][AN]
|
1. | : | Den Beginn macht eine neue Variable, die ihr "Länge Wetterw." nennt.
Legt sie mit Hilfe des Ereigniskommandos "Change Variable(s)/Variable(n)
ändern, das ihr auf der ersten Registerkarte der Ereigniskommandos findet.
Wählt unbedingt eine neue, noch nicht benutzte Variable aus, der ihr den
oben genannten Namen gebt. Mit "Set/Wert setzen" und "Random/Zufall"
veranlasst ihr, dass eine Zufallszahl zwischen 1 und 7200 in die Variable
geschrieben wird. |
||||
2. | : | Nach dem selbem Schema legt ihr nun eine weitere Variable an, der ihr
den Namen "Timer Wetterw." gebt. Hier soll statt einer Zufallszahl fest die
Zahl 0 geschrieben werden. |
||||
3. | : | Nun folgt die erste Endlosschleife. Das Ereigniskommando dafür "Cycle/Zyklus
erstellen" findet ihr auf der dritten Registerkarte der Ereigniskommandos. |
||||
4. | : | Innerhalb dieser Endlosschleife bestimmt ihr, ähnlich wie unter Punkt 1,
dass dem Wert der Variable "Timer Wetterw." die Zahl 1 dazugezählt wird. |
||||
5. | : | Direkt danach soll ein Warten-Ereignis folgen, das die Codefortführung
für eine Sekunde unterbricht. Ihr findet das Ereigniskommando dafür auf der
zweiten Registerkarte der Ereigniskommandoliste. |
||||
6. | : | Direkt danach soll eine Bedingung folgen, die abfragt, ob die Werte der
Variable "Länge Wetterw." und "Timer Wetterw." identisch sind. Das Kommando
dafür findet ihr auf der dritten Registerkarte der Ereigniskommandos ("Fork
Conditions/Bedingung"). Wichtig ist hier, dass ihr die Option "Variable"
auswählt und dort die beiden genannten Variablen bestimmt. Wählt im
Drop-Down-Menü noch "same". Einen Nein-Fall brauchen wir hier nicht. |
||||
7. | : | Innerhalb des Ja-Falles soll dann ein Schleifenausbruch erfolgen, dessen
Befehl auf der dritten Registerkarte der Ereigniskommandos sich befindet. |
||||
8. | : | Direkt nach dem Ende der Endlosschleife folgt nun nach dem Schema von
Punkt 1 und 2, dass ihr eine Variable namens "Wetter Dauer" erstellt, in der
eine Zufallszahl zwischen 20 und 2000 gespeichert wird. Erstellt nach dieser
eine zweite Variable namens "Wetter Timer", in der die Zahl 0 abgelegt wird. |
||||
9. | : | Dann folgt wieder eine Endlosschleife; deren Ereigniskommando "Cycle/Zyklus
erstellen" findet ihr auf der dritten Registerkarte der Ereigniskommandos. |
||||
10. | : | Innerhalb dieser Endlosschleife bestimmt ihr, ähnlich wie in der
Endlosschleife zuvor, dass dem Wert der Variable "Wetter Timer" die Zahl 1
dazugezählt wird. |
||||
11. | : | Eine Bedingung soll nun abfragen, ob der Schalter "In Gebäude/Höhle"
aktiv ist. Habt ihr diesen Schalter noch nicht angelegt, dann wählt im
Dialog zum Anlegen einer Bedingung (zu finden auf der dritten Registerkarte
der Ereigniskommandos) einen neuen, freien Schalter aus und gebt ihm diesen
Namen. Wichtig ist hier, dass es einen Nein-Fall gibt. Eure Bedingung könnte
nun wie Folgt aussehen:
|
||||
12. | : | Innerhalb des Ja-Falles (Die Heldentruppe befindet sich in einem
Gebäude; der Bereich ist dunkelgrün
hervorgehoben) soll kein Wettereffekt angezeigt werden. Wählt also auf der
zweiten Registerkarte der Ereigniskommandos das entsprechende aus ("Call
weather effect/Wettereffekt aufrufen") und bestimmt dort entsprechend, dass
keiner angezeigt werden soll. |
||||
13. | : | Im Nein-Fall (die Heldentruppe ist außerhalb von Gebäuden und Höhlen
unterwegs; der Bereich ist dunkelrot
hervorgehoben) folgt sofort eine neue Bedingung, die nun abfragt, ob ein
Schalter namens "Es ist Winter" auf ON/AN steht. Verfahrt hierfür wie zuvor
schon mit der Bedingung für den Schalter "In Gebäude/Höhle", wobei am Ende
folgendes herauskommen sollte:
|
||||
14. | : | Im Ja-Fall (Es ist Winter; der Bereich ist
dunkelblau hervorgehoben) legt ihr einen Wettereffekt an, der es
schneien lässt. Den Befehl dafür findet ihr auf der zweiten Registerkarte ("Call
weather effect/Wettereffekt aufrufen") und bestimmt dort entsprechend, dass
es schneien soll (Snow/Schnee). |
||||
15. | : | Im Nein-Fall (Es ist nicht Winter; der Bereich ist
pink hervorgehoben) macht ihr exakt das Selbe, nur dass es
statt schneien regnen soll (Rain/Regen). |
||||
16. | : | Etwas weiter unten, außerhalb der Bedingungen, direkt über dem Ende der
Endlosschleife geht es nun weiter. Hier soll nun ein Warte-Ereignis das
Fortfahren mit dem Rest des Maker-Codes für eine Sekunde stoppen. Zu finden
ist es auf der zweiten Registerkarte der Ereigniskommandos (Wait/Einen
Moment warten) |
||||
17. | : | Direkt nach dem Warten-Ereignis soll eine Bedingung folgen, die abfragt,
ob die Werte der Variable "Wetter Dauer" und "Wetter Timer" identisch sind. Das Kommando
dafür findet ihr auf der dritten Registerkarte der Ereigniskommandos ("Fork
Conditions/Bedingung"). Wichtig ist hier, dass ihr die Option "Variable"
auswählt und dort die beiden genannten Variablen bestimmt. Wählt im
Drop-Down-Menü noch "same". Einen Nein-Fall brauchen wir hier nicht. |
||||
18. | : | Innerhalb des Ja-Falles soll dann zuerst ein Wettereffekt namens "None/Keiner"
angelegt werden. Somit werden sämtliche aktiven Wettereffekte beendet.
Direkt danach folgt ein Schleifenausbruch, dessen Befehl auf der dritten
Registerkarte der Ereigniskommandos sich befindet. |
Im englischem Maker |
<>Change Var: Var[Länge Wetterw.] (Set)-Random(1 to 7200) <>Change Var: Var[Timer Wetterw.] (Set)- 0 <>Loop <>Change Var: Var[Timer Wetterw] (+)- 1 <>Wait: 1.0sec <>If Var(Länge Wetterw.) V[Timer Wetterw.](=) <>Break <> :End Case <> :End Loop <>Change Var: Var[Wetter Dauer] (Set)-Random(20 to 2000) <>Change Var: Var[Wetter Timer] (Set)- 0 <>Loop <>Change Var: Var[Wetter Timer] (+)- 1 <>If Switch (In Gebäude/Höhle) is ON <>Call Weather Effect: None/Off <> :Else Case <>If Switch (Es ist Winter) is ON <>Call Weather Effect: Snow/High <> :Else Case <>Call Weather Effect: Rain/High <> :End Case <> :End Case <>Wait: 1.0sec <>If Var(Wetter Dauer) V[Wetter Timer](=) <>Call Weather Effect: None/Off <>Break <> :End Case <> :End Loop <> |
Im deutschem Maker (V1.10c) |
<>Var. ändern: [Länge Wetterw.]Wert, Zufll(1*7200) <>Var. ändern: [Timer Wetterw.]Wert, 0 <>Schleife <>Var. ändern: [Timer Wetterw]+, 1 <>Warten: 1.0S. <>Bedingung: Varb(Länge Wetterw.)-V[Timer Wetterw]Gleich <>Schleife stoppen <> :End-Fall <> :Schleifenende <>Var. ändern: [Wetter Dauer]Wert, Zufll(20*2000) <>Var. ändern: [Wetter Timer]Wert, 0 <>Schleife <>Var. ändern: [Wetter Timer]+, 1 <>Bedingung:Schalter(In Gebäude/Höhle)- AN <>Wettereffekt aufruf: kein <> :Ansonsten <>Bedingung:Schalter(Es ist Winter)- AN <>Wettereffekt aufruf: SN/St <> :Ansonsten <>Wettereffekt aufruf: RE/St <> :End-Fall <> :End-Fall <>Warten: 1.0S <>Bedingung: Varb(Wetter Dauer)-V[Wetter Timer]Gleich <>Wettereffekt aufruf: kein <>Schleife stoppen <> :End-Fall <> :Schleifenende <> |
In oben vorgestelltem Wetterwechsel wird für eine Sekunde ein Wettereffekt dargestellt und dann erst geprüft, ob zum Einen das Ende der Wetter-Dauer erreicht wurde und zum Anderem, ob sich die Hauptcharaktere in einem Gebäude oder einer Höhle befinden. In dieser Sekunde kann sich die Heldengruppe gut einmal in ein Gebäude begeben, wo es auch für einige Bruchteile einer Sekunde dann regnen kann, was eigentlich nicht der Fall sein sollte.
Abhilfe schafft ihr, indem ihr in dem Raum eines Gebäudes oder einer Höhle, in dem die Heldengruppe direkt vom Freiem hineinteleportiert wird, ein Ereignis anlegt. Dieses soll als paralleler Prozess laufen und immer den Wettereffekt "None/Keiner" aufrufen. Damit schaltet ihr generell die Darstellung von Unwettern innerhalb von Gebäuden und Höhlen aus.
Ebenfalls wichtig ist es, dass ihr, wenn sich eure Hauptcharaktere in eisigen
Gefilden befinden (Schneelandschaften zum Beispiel) im Freien ein Ereignis
anlegt, das als paralleler Prozess läuft und den oben genannten Schalter "Es ist
Winter" auf AN stellt. Dann wird es dort auch schneien, statt regnen.
Wichtig ist jedoch, dass dieser Schalter bei Verlassen, der Winterregionen
wieder deaktiviert wird.