| Die Uhrzeit...

###### Vorüberlegungen

Wenn wir hier von der Uhrzeit sprechen, ist damit nicht die Uhrzeit in der Wirklichkeit gemeint, sondern vielmehr die in eurer Spielwelt. Diese "Spielwelt-Uhrzeit" wird vieles beeinflussen können, beispielsweise, wann die Geschäfte offen haben, wann bestimmte Gegner (z.B. Nachtwesen) sich auf der Spielwelt herumtreiben, wann es zum Morgen und zum Abend dämmern wird und dergleichen.

| Ein "Common Event/Häufig benötigtes Ereignis" ist erforderlich, da die Uhrzeitbestimmung immer geschehen soll, also auf jeder Map, auf der sich die Heldentruppe befindet. Ebenso muss es als paralleler Prozess laufen.
| Hierfür sollte zuerst in einer Variable die Länge eines Kalendertages eurer Spielwelt in Sekunden (!) angegeben werden. In unserem Beispiel wird ein Kalendertag (Tag und Nacht) der Spielwelt 720 Sekunden dauern.
| Eine zweite Variable soll für den Anfang auf "0" gesetzt werden (nennen wir sie "Tag-Nacht-Timer"). Sie wird später dazu dienen, die verstrichenen Sekunden in Richtung der Tageslänge (die 720 Sekunden) hochzuzählen.
| Eine Endlosschleife soll direkt nach dieser zweiten Variable folgen.
| Innerhalb dieser Endlosschleife soll die Variable "Tag-Nacht-Timer" zuerst um 1 erhöht werden.
| Danach soll ein Warte-Ereignis eine Sekunde lang dauern
| Als vorletztes soll eine Bedingung prüfen, ob der Wert des Tag-Nacht-Timers dem Wert der Tag-Länge entspricht (720).
| Im Ja-Fall dieser Bedingung soll ein Ereignis dafür sorgen, dass aus der Endlosschleife ausgebrochen wird. Das ganze Prozedere würde sich während des Spiels somit endlos wiederholen.

###### Darstellung der Stichpunkte in MML

Uhrzeit-Ereignis [Parallel]
[Variable [Länge Tag in Sek.]] [<-- [setzen] [720]] [Variable [Tag-Nacht-Timer]] [<-- [setzen] [0]] [Schleife Beginn] [Variable [Tag-Nacht-Timer]] [<-- [+] [1]] [Warten [10]] [Bedingung][Variable][Tag-Nacht-Timer][gleich][Länge Tag in Sek.]
| [Ja-Fall]
| [Variable [Tag-Nacht-Timer]] [<-- [setzen] [0]] [Schleife Ausbruch]
[Schleife Ende]

###### Anleitung zur Erstellung des Maker-Codes

1. | : | Begebt euch zuerst in die Datenbank eures Makerprojektes, indem ihr auf das Symbol mit der Tabelle klickt oder die Taste [F8] drückt. In der Datenbank selbst begebt ihr euch auf die Registerkarte "Common Events/Häufig benötigte Ereignisse".
2. | : | Im Listenfeld wählt ihr nun eine freie Zahlenkolonne aus und gebt ihr einen Namen, beispielsweise "Kleiderwechsel". Bestimmt noch im Feld nebenan, dass das Ereignis als "Parallel Process/Paralleler Prozess" starten soll. Der Rest findet im Feld "Events Commands/Skriptcode" statt.
3. | : | Zuallererst muss eine Variable erstellt werden, in der die Länge eines Tages in Sekunden bestimmt wird. Das entsprechende Ereigniskommando dafür findet ihr auf der ersten Registerkarte der Ereigniskommandoliste, die durch Doppelklick ins weiße Feld erscheint. Wählt hier eine freie Variable aus, die ihr "Länge Tag in Sek." nennt, bestimmt mit "Set/Wert setzen", dass ein neuer Wert in die Variable geschrieben wird und darunter direkt bei der ersten Option "Set/Wählen" gebt ihr die Zahl 720 ein (Der Tag würde somit 720 Sekunden dauern, also 12 Minuten in Wirklichkeit.
4. | : | Nach dem selbem Schema erstellt ihr eine zweite Variable namens "Tag-Nacht-Timer", nur dass anstelle der 720 die Zahl 0 in die Variable geschrieben wird.
5. | : | Direkt unter dieser zweiten Variable legt ihr eine Endlosschleife an. Das Ereigniskommando ist auf der dritten Registerkarte der Ereigniskommandos verstecht (Cycle/Zyklus ... erstellen).
6. | : | Innerhalb dieser Endlosschleife muss zu dem Wert in der Variable "Tag-Nacht-Timer" der Wert 1 dazugezählt werden. Dies macht ihr mit Hilfe des Ereigniskommandos "Change Variable/Variable(n) verändern", das ihr auf der ersten Registerkarte der Ereigniskommandos findet. Hier wählt ihr die Variable "Tag-Nacht-Timer" aus, dann den Operator "+" und darunter den Punkt "Set/Wählen" und gebt eine 1 in das Feld daneben ein.
7. | : | Unter dieser Variablenänderung soll ein Warte-Ereignis für eine Sekunde das Fortfahren des Codes pausieren. Das entsprechende Ereignis dafür ist auf der zweiten Registerkarte zu finden, wo ihr eine 10 (für 10 * 1/10 Sekunden) eingebt.
8. | : | Nach dem Warte-Ereignis soll nun eine Bedingung folgen. Das Ereigniskommando findet ihr auf der dritten Registerkarte ("Fork Conditions/Bedingung") Hier wählt ihr die Option "Variable" aus und bestimmt die beiden Variablen "Länge Tag in Sek." sowie "Tag-Nacht-Timer", die miteinander verglichen werden sollen. Das Kriterium im Drop-Down-Menü soll "same/gleich" sein. Ein "Else-Case/Ansonstenfall" ist nicht nötig.
9. | : | Im Ja-Fall (beide Variablen sind gleich groß, d.h. der Tag ist zu Ende) der Bedingung soll nun der Schleifenausbruch geschehen, damit ein neuer Tag anbrechen kann. Dies erledigt ihr mit dem Ereigniskommando "Break Cycle/Zyklus (...) unterbrechen", das ihr auf der dritten Registerkarte der Ereigniskommandos findet.

###### Der erstellte Maker-Code

Im englischem Maker
<>Change Var: Var[Länge Tag in Sek.] (Set)- 720 <>Change Var: Var[Tag-Nacht-Timer] (Set)- 0 <>Loop <>Change Var: Var[Tag-Nacht-Timer] (+)- 1 <>Wait: 1.0sec <>If Var( Tag-Nacht-Timer) V[Länge Tag in Sek](=) <>Break <> :End Case <> :End Loop <>
Im deutschem Maker (V1.10c)
<>Var ändern: [Länge Tag in Sek.]Wert, 720 <>Var ändern: [Tag-Nacht-Timer]Wert, 0 <>Schleife <>Var ändern: [Tag-Nacht-Timer] +, 1 <>Warten: 1.0S <>Bedingung: Varb(Tag-Nacht-Timer)-V[Länge Tag in Sek]Gleich <>Schleife stoppen <> :End-Fall <> :Schleifenende <>