| Die Spielzeiterfassung

###### Vorüberlegungen I - Vorarbeit

Bevor ihr überhaupt mit der Spielzeiterfassung loslegen könnt, muss euch klar sein, dass diese - wie der Geldzähler auch - grafisch dargestellt werden soll. Auch die Schrift sollte zum Rest der Inventar-Hauptseite passen.
Optimal eignen sich für diese Zwecke CharSets, die ohne großen Aufwand an einem bestimmtem Punkt positioniert werden können. Die Beispielgrafik [counterset.png], die dem E-Book beigefügt ist, soll in unserem Beispiel zur Darstellung des Zählerergebnisses dienen. Falls ihr eigene Zahlen-CharSets entwerfen wollt, verwendet [diese Vorlagengrafik]. Der Hintergrund wird später durch das Anlegen des Zählers deutlich.

###### Vorüberlegungen II - Die Erfassung der Spielzeit

Hier solltet ihr euch zuerst darüber im Klarem sein, was eure Spielzeiterfassung aussagen soll.
Generell ist dies die Dauer, die Spieler mit eurem Projekt beschäftigt sind, die angezeigt werden soll. Nur wie wollt ihr diese gliedern und aufteilen? Wollt ihr alles nur in Form von Sekunden anzeigen lassen, wäre dies etwas armselig und nicht gerade ein Tutorial wert. Wir gehen hier einen Schritt weiter und wollen eine Anzeige von Tagen, Stunden, Minuten und Sekunden haben. Die Anzeige für die Tage wird lediglich zweistellig sein und sollte für die meisten Zwecke ausreichen. Doch wie stellt ihr eine Spielzeiterfassung auf die Beine, die sich auch dafür eignet, zur Darstellung zu dienen?

| Zunächst brauchen wir ein "Common Event/Häufig benötigtes Ereignis", das als paralleler Prozess im Hintergrund läuft, egal auf welcher Karte sich die Heldentruppe befindet.
| Zuerst soll eine Bedingung abfragen, ob ein Schalter "Timer-Max erreicht" auf AUS steht. Würde dieser Schalter auf AN stehen, wäre der maximale Zählerstand erreicht, der Zähler wurde stoppen. Einen Nein-Fall brauchen wir in der Bedingung nicht.
| Innerhalb des Ja-Falles der Bedingung soll nun eine neue, freie Variable, der ihr den Namen "Sec - 1er" (für die einzelnen Sekunden < 10) um 1 erhöht werden. Sucht euch danach noch sieben weitere Variablen aus, denen ihr die Namen "Sec - 10er", "Min - 1er", "Min - 10er", "H - 1er", "H - 10er", "T - 1er" und "T - 10er" gebt. Macht aber neben der Namensvergabe nichts weiter mit diesen Variablen.
| Ein Warte-Ereigniskommando soll das Fortfahren des Maker-Codes für 1 Sekunde pausieren.
| Nun, wenn eine Sekunde vergangen ist, soll mit Bedingungen abgefragt werden, ob eine Spielzeit von 99 Tagen, 23 Stunden, 59 Minuten und 59 Sekunden vorliegt. Ist dem sol, so soll der Schalter "Timer-Max erreicht" auf AN gesetzt werden. Ein Nein-Fall ist, wie auch in den nachfolgenden Bedingungsszenarien, nie erforderlich.
| Direkt nach dem eben geschildertem Szenario soll ein weiteres folgen (immer noch innerhalb der zuerst angelegten Bedingung. Diesmal soll abgefragt werden, ob eine Spielzeit von 9 Tagen, 23 Stunden, 59 Minuten und 59 Sekunden erreicht wurde. Ist dem so, so sollen die Variablen "Sec - 1er", "Sec - 10er", "Min - 1er", "Min - 10er", "H - 1er", "H - 10er", "T - 1er" auf 0 gesetzt und die Variable "T - 10er" um 1 erhöht werden. Direkt nach diesen Variablenveränderungen soll ein Warte-Kommando das Code-Fortfahren für 1 Sekunde pausieren.
| Verfahrt nach selbigem Schema für folgende Spielzeitstände in genannter Reihenfolge:
| 23 Stunden, 59 Minuten und 59 Sekunden | : | Die Variablen "Sec - 1er", "Sec - 10er", "Min - 1er", "Min - 10er", "H - 1er" und "H - 10er" sollen auf 0 gesetzt und die Variable "T - 1er" um 1 erhöht werden
| 9 Stunden, 59 Minuten und 59 Sekunden | : | Die Variablen "Sec - 1er", "Sec - 10er", "Min - 1er", "Min - 10er" und "H - 1er" sollen auf 0 gesetzt und die Variable "H - 10er" um 1 erhöht werden
| 59 Minuten und 59 Sekunden | : | Die Variablen "Sec - 1er", "Sec - 10er", "Min - 1er" und "Min - 10er" sollen auf 0 gesetzt und die Variable "H - 1er" um 1 erhöht werden
| 9 Minuten und 59 Sekunden | : | Die Variablen "Sec - 1er", "Sec - 10er" und "Min - 1er" sollen auf 0 gesetzt und die Variable "Min - 10er" um 1 erhöht werden.
| 59 Sekunden | : | Die Variablen "Sec - 1er" und "Sec - 10er" sollen auf 0 gesetzt und die Variable "Min - 1er" um 1 erhöht werden.
| 9 Sekunden | : | Die Variable "Sec - 1er" soll auf 0 gesetzt und die Variable "Sec - 10er" um 1 erhöht werden.

###### Darstellung der Stichpunkte in MML

Spielzeit-Ereignis [Parallel]
[Bedingung][Schalter][Timer-Max erreicht][AUS]
| [Ja-Fall]
| [Variable [Sek - 1er]] [<-- [+][1]] [Warten [1 Sekunde]] [Bedingung [Variable [T - 10er]][gleich][9]
| [Ja-Fall]
| [Bedingung [Variable [T - 1er]][gleich][9]
| [Ja-Fall]
| [Bedingung [Variable [H - 10er]][gleich][2]
| [Ja-Fall]
| [Bedingung [Variable [H - 1er]][gleich][3]
| [Ja-Fall]
| [Bedingung [Variable [Min - 10er]][gleich][5]
| [Ja-Fall]
| [Bedingung [Variable [Min - 1er]][gleich][9]
| [Ja-Fall]
| [Bedingung [Variable [Sec - 10er]][gleich][5]
| [Ja-Fall]
| [Bedingung [Variable [Sec - 1er]][gleich][9]
| [Ja-Fall]
| [Schalter [Timer-Max erreicht] [<-- [AN]]
[Bedingung [Variable [T - 1er]][gleich][9]
| [Ja-Fall]
| [Bedingung [Variable [H - 10er]][gleich][2]
| [Ja-Fall]
| [Bedingung [Variable [H - 1er]][gleich][3]
| [Ja-Fall]
| [Bedingung [Variable [Min - 10er]][gleich][5]
| [Ja-Fall]
| [Bedingung [Variable [Min - 1er]][gleich][9]
| [Ja-Fall]
| [Bedingung [Variable [Sec - 10er]][gleich][5]
| [Ja-Fall]
| [Bedingung [Variable [Sec - 1er]][gleich][9]
| [Ja-Fall]
| [Variable [von [Sec - 1er] bis [T - 1er][<-- [Wert setzen][0] [Variable [T - 10er][<-- [+][1]
[Bedingung [Variable [H - 10er]][gleich][2]
| [Ja-Fall]
| [Bedingung [Variable [H - 1er]][gleich][3]
| [Ja-Fall]
| [Bedingung [Variable [Min - 10er]][gleich][5]
| [Ja-Fall]
| [Bedingung [Variable [Min - 1er]][gleich][9]
| [Ja-Fall]
| [Bedingung [Variable [Sec - 10er]][gleich][5]
| [Ja-Fall]
| [Bedingung [Variable [Sec - 1er]][gleich][9]
| [Ja-Fall]
| [Variable [von [Sec - 1er] bis [H - 10er][<-- [Wert setzen][0] [Variable [T - 1er][<-- [+][1]
[Bedingung [Variable [H - 1er]][gleich][9]
| [Ja-Fall]
| [Bedingung [Variable [Min - 10er]][gleich][5]
| [Ja-Fall]
| [Bedingung [Variable [Min - 1er]][gleich][9]
| [Ja-Fall]
| [Bedingung [Variable [Sec - 10er]][gleich][5]
| [Ja-Fall]
| [Bedingung [Variable [Sec - 1er]][gleich][9]
| [Ja-Fall]
| [Variable [von [Sec - 1er] bis [H - 1er]][<-- [Wert setzen][0] [Variable [H - 10er][<-- [+][1]
[Bedingung [Variable [Min - 10er]][gleich][5]
| [Ja-Fall]
| [Bedingung [Variable [Min - 1er]][gleich][9]
| [Ja-Fall]
| [Bedingung [Variable [Sec - 10er]][gleich][5]
| [Ja-Fall]
| [Bedingung [Variable [Sec - 1er]][gleich][9]
| [Ja-Fall]
| [Variable [von [Sec - 1er] bis [Min - 10er]][<-- [Wert setzen][0] [Variable [H - 1er][<-- [+][1]
[Bedingung [Variable [Min - 1er]][gleich][9]
| [Ja-Fall]
| [Bedingung [Variable [Sec - 10er]][gleich][5]
| [Ja-Fall]
| [Bedingung [Variable [Sec - 1er]][gleich][9]
| [Ja-Fall]
| [Variable [von [Sec - 1er] bis [Min - 1er]][<-- [Wert setzen][0] [Variable [Min - 10er][<-- [+][1]
[Bedingung [Variable [Sec - 10er]][gleich][5]
| [Ja-Fall]
| [Bedingung [Variable [Sec - 1er]][gleich][9]
| [Ja-Fall]
| [Variable [von [Sec - 1er] bis [Sec - 10er]][<-- [Wert setzen][0] [Variable [Min - 1er][<-- [+][1]
[Bedingung [Variable [Sec - 10er]][gleich][5]
| [Ja-Fall]
| [Variable [Sec - 1er]][<-- [Wert setzen][0] [Variable [Sec - 10er][<-- [+][1]

###### Der erstellte Maker-Code

Im englischem Maker
<>If Switch (xxxx: Timer-Max erreicht) is OFF <>Change Var: Var[aaa1: Sec - 1er} (+)- 1 <>Wait: 1.0sec <>If Var (aaa8: T - 10er) 9 <>If Var (aaa7: T - 1er) 9 <>If Var (aaa6: H - 10er) 2 <>If Var (aaa5: H - 1er) 3 <>If Var (aaa4: Min - 10er) 5 <>If Var (aaa3: Min - 1er) 9 <>If Var (aaa2: Sec - 10er) 5 <>If Var (aaa1: Sec - 1er) 9 <>Change Switch: Var[xxxx: Timer-Max erreicht] Switch ON <> :End Case <> :End Case <> :End Case <> :End Case <> :End Case <> :End Case <> :End Case <> :End Case <>If Var (aaa7: T - 1er) 9 <>If Var (aaa6: H - 10er) 2 <>If Var (aaa5: H - 1er) 3 <>If Var (aaa4: Min - 10er) 5 <>If Var (aaa3: Min - 1er) 9 <>If Var (aaa2: Sec - 10er) 5 <>If Var (aaa1: Sec - 1er) 9 <>Change Var: [aaa1 to aaa7] (Set)- 0 <>Chance Var: [aaa8: T - 10er] (+)- 1 <>Wait: 1.0sec <> :End Case <> :End Case <> :End Case <> :End Case <> :End Case <> :End Case <> :End Case <>If Var (aaa6: H - 10er) 2 <>If Var (aaa5: H - 1er) 3 <>If Var (aaa4: Min - 10er) 5 <>If Var (aaa3: Min - 1er) 9 <>If Var (aaa2: Sec - 10er) 5 <>If Var (aaa1: Sec - 1er) 9 <>Change Var: [aaa1 to aaa6] (Set)- 0 <>Change Var: [aaa7: T - 1er] (+)- 1 <>Wait: 1.0sec <> :End Case <> :End Case <> :End Case <> :End Case <> :End Case <> :End Case <>If Var (aaa5: H - 1er) 9 <>If Var (aaa4: Min - 10er) 5 <>If Var (aaa3: Min - 1er) 9 <>If Var (aaa2: Sec - 10er) 5 <>If Var (aaa1: Sec - 1er) 9 <>Change Var: [aaa1 to aaa5] (Set)- 0 <>Change Var: [aaa6: H - 10er] (+)- 1 <>Wait: 1.0sec <> :End Case <> :End Case <> :End Case <> :End Case <> :End Case <>If Var (aaa4: Min - 10er) 5 <>If Var (aaa3: Min - 1er) 9 <>If Var (aaa2: Sec - 10er) 5 <>If Var (aaa1: Sec - 1er) 9 <>Change Var: [aaa1 to aaa4] (Set)- 0 <>Change Var: [aaa5: H - 1er] (+)- 1 <>Wait: 1.0sec <> :End Case <> :End Case <> :End Case <> :End Case <>If Var (aaa3: Min - 1er) 9 <>If Var (aaa2: Sec - 10er) 5 <>If Var (aaa1: Sec - 1er) 9 <>Change Var: [aaa1 to aaa3] (Set)- 0 <>Change Var: [aaa5: Min - 10er] (+)- 1 <>Wait: 1.0sec <> :End Case <> :End Case <> :End Case <>If Var (aaa2: Sec - 10er) 5 <>If Var (aaa1: Sec - 1er) 9 <>Change Var: [aaa1 to aaa2] (Set)- 0 <>Change Var: [aaa5: Min - 1er] (+)- 1 <>Wait: 1.0sec <> :End Case <> :End Case <>If Var (aaa1: Sec - 1er) 9 <>Change Var: [aaa1: Sec - 1er] (Set)- 0 <>Change Var: [aaa5: Sec - 10er] (+)- 1 <>Wait: 1.0sec <> :End Case <> :End Case <>
Im deutschem Maker (V1.10c)
<>Bedingung:Schalter[xxxx: Timer-Max erreicht]- AUS <>Var. ändern:[aaa1:Sec - 1er] +, 1 <>Warten: 1.0S. <>Bedingung:Varbl[aaa8: T - 10er]-9 <>Bedingung:Varbl[aaa7: T - 1er]-9 <>Bedingung:Varbl[aaa6: H - 10er]-2 <>Bedingung:Varbl[aaa5: H - 1er]-3 <>Bedingung:Varbl[aaa4: Min - 10er]-5 <>Bedingung:Varbl[aaa3: Min - 1er]-9 <>Bedingung:Varbl[aaa2: Sec - 10er]-5 <>Bedingung:Varbl[aaa1: Sec - 1er]-9 <>Schalter ändern:[xxxx: Timer-Max erreicht]-[AN] <> :End-Fall <> :End-Fall <> :End-Fall <> :End-Fall <> :End-Fall <> :End-Fall <> :End-Fall <> :End-Fall <>Bedingung:Varbl[aaa7: T - 1er]-9 <>Bedingung:Varbl[aaa6: H - 10er]-2 <>Bedingung:Varbl[aaa5: H - 1er]-3 <>Bedingung:Varbl[aaa4: Min - 10er]-5 <>Bedingung:Varbl[aaa3: Min - 1er]-9 <>Bedingung:Varbl[aaa2: Sec - 10er]-5 <>Bedingung:Varbl[aaa1: Sec - 1er]-9 <>Var. ändern:[aaa1*aaa7] Wert, 0 <>Var. ändern:[aaa8: T - 10er] +, 1 <>Warten: 1.0S. <> :End-Fall <> :End-Fall <> :End-Fall <> :End-Fall <> :End-Fall <> :End-Fall <> :End-Fall <>Bedingung:Varbl[aaa6: H - 10er]-2 <>Bedingung:Varbl[aaa5: H - 1er]-3 <>Bedingung:Varbl[aaa4: Min - 10er]-5 <>Bedingung:Varbl[aaa3: Min - 1er]-9 <>Bedingung:Varbl[aaa2: Sec - 10er]-5 <>Bedingung:Varbl[aaa1: Sec - 1er]-9 <>Var. ändern:[aaa1*aaa6] Wert, 0 <>Var. ändern:[aaa7: T - 1er] +, 1 <>Warten: 1.0S. <> :End-Fall <> :End-Fall <> :End-Fall <> :End-Fall <> :End-Fall <> :End-Fall <>Bedingung:Varbl[aaa5: H - 1er]-9 <>Bedingung:Varbl[aaa4: Min - 10er]-5 <>Bedingung:Varbl[aaa3: Min - 1er]-9 <>Bedingung:Varbl[aaa2: Sec - 10er]-5 <>Bedingung:Varbl[aaa1: Sec - 1er]-9 <>Var. ändern:[aaa1*aaa5] Wert, 0 <>Var. ändern:[aaa6: H - 10er] +, 1 <>Warten: 1.0S. <> :End-Fall <> :End-Fall <> :End-Fall <> :End-Fall <> :End-Fall <>Bedingung:Varbl[aaa4: Min - 10er]-5 <>Bedingung:Varbl[aaa3: Min - 1er]-9 <>Bedingung:Varbl[aaa2: Sec - 10er]-5 <>Bedingung:Varbl[aaa1: Sec - 1er]-9 <>Var. ändern:[aaa1*aaa4] Wert, 0 <>Var. ändern:[aaa5: H - 1er] +, 1 <>Warten: 1.0S. <> :End-Fall <> :End-Fall <> :End-Fall <> :End-Fall <>Bedingung:Varbl[aaa3: Min - 1er]-9 <>Bedingung:Varbl[aaa2: Sec - 10er]-5 <>Bedingung:Varbl[aaa1: Sec - 1er]-9 <>Var. ändern:[aaa1*aaa3] Wert, 0 <>Var. ändern:[aaa4: Min - 10er] +, 1 <>Warten: 1.0S. <> :End-Fall <> :End-Fall <> :End-Fall <>Bedingung:Varbl[aaa2: Sec - 10er]-5 <>Bedingung:Varbl[aaa1: Sec - 1er]-9 <>Var. ändern:[aaa1*aaa2] Wert, 0 <>Var. ändern:[aaa3: Min - 1er] +, 1 <>Warten: 1.0S. <> :End-Fall <> :End-Fall <>Bedingung:Varbl[aaa1: Sec - 1er]-9 <>Var. ändern:[aaa1: Sec - 1er] Wert, 0 <>Var. ändern:[aaa3: Sec - 10er] +, 1 <>Warten: 1.0S. <> :End-Fall <> :End-Fall

###### Vorüberlegung III - Die Darstellung der Spielzeit I

Ihr habt nun die Spielzeiterfassung soweit angelegt. Immer, egal wo sich die Heldentruppe befindet, wird die Spielzeit weitergezählt. Doch zu sehen ist für die Spieler davon noch nichts. Hierfür kommt nun die am Anfang erwähnte Beispielgrafik [counterset.png] zum Einsatz, auf der ihr die Zahlen für die Darstellung der Spielzeit findet. Falls noch nicht geschehen, importiert nun das CharSet mit Hilfe "des RAW-Material-Editors/der Materialverwaltung" des Makers. Bevor ihr loslegen könnt, solltet ihr euch - wie bereits beim Geldzähler geschehen - folgendes vor Augen führen:

| Ihr habt acht Variablen, die für die Anzeige der Spielzeit zuständig sind: "Sec - 1er", "Sec - 10er", "Min - 1er", "Min - 10er", "H - 1er", "H - 10er", "T - 1er" und "T - 10er".
| Demzufolge braucht ihr acht Ereignisse auf der Karte "Inventory - main", auf der ihr schon den Geldzähler angelegt habt.
| Jedes dieser Ereignisse wird aus zehn Ereignisseiten bestehen. Jede dieser Ereignisseiten wird genau dann aktiv, wenn ein bestimmter Wert in der betreffenden Variable steht.
| Diese Werte sollen nach folgendem Schema in jedem der sechs Ereignisse von jeder der Variablen abgefragt werden: Seite 1: 0 Seite 2: 1 Seite 3: 2 ... Seite 10: 9
| Die acht Ereignisse werden keine Ereigniskommandos beinhalten, sondern lediglich zur Zahlendarstellung dienen.
| Die Werte der Variablen "Sec - 1er", "Min - 1er", "H - 1er" und "T - 1er" werden durch rechtsbündige Zahlen dargestellt, die restlichen vier Variablen durch linksbündige.
| Wichtig: Damit auch immer die richtigen Zahlen angezeigt werden, muss jedes einzelne gewählte Char-Set in den Ereignissen, die den Geld-Stand anzeigen sollen, als "Fixed Graphic/Fixierte Grafik" angezeigt werden.

###### Schemenhafte Darstellung der Stichpunkte in MML

Sec - 1er - Ereignis
[Ereignisseite 1][Variable [Sec - 1er]] >= [0]
[Ereignisseite 2][Variable [Sec - 1er]] >= [1]
[Ereignisseite 3][Variable [Sec - 1er]] >= [2]
[Ereignisseite 4][Variable [Sec - 1er]] >= [3]
[Ereignisseite 5][Variable [Sec - 1er]] >= [4]
[Ereignisseite 6][Variable [Sec - 1er]] >= [5]
[Ereignisseite 7][Variable [Sec - 1er]] >= [6]
[Ereignisseite 8][Variable [Sec - 1er]] >= [7]
[Ereignisseite 9][Variable [Sec - 1er]] >= [8]
[Ereignisseite 10][Variable [Sec - 1er]] >= [9]

Nach diesem Schema solltet ihr am Ende acht Ereignisse haben, die jede der acht Variablen "Sec - 1er", "Sec - 10er", "Min - 1er", "Min - 10er", "H - 1er", "H - 10er", "T - 1er" und "T - 10er" komplett von 0 bis 9 abfragen. Die Hauptseite eures Inventars könnte nun wie folgt aussehen:
[Beispiel-Darstellung]

###### Vorüberlegung VI - Die Darstellung der Spielzeit II

Das Problem, dem ihr noch gegenüber steht, ist, dass die Beispiel-Darstellung nahezu identisch ist mit der, die sich euch während des Spielens bietet. Ihr hättet also, wenn ihr nach der [Beispiel-Darstellung] vorgegangen seid, eine "zweizeilige Spielzeit-Anzeige", die eigentlich einzeilig sein sollte. Doch dies lässt sich schnell und recht einfach beheben.

| Merkt oder notiert euch die Nummern der vier Zahlen-Ereignisse, die nicht an der richtigen Position sitzen.
| Bedenkt: Über dem Ereignis, das die Werte der Variable "Sec - 1er" darstellt, soll das Ereignis platziert werden, das "Sec - 10er" darstellt. Über dem Ereignis, das "Min - 1er" darstellt, soll das Ereignis sitzen, das "Min - 10er" darstellt. Über das Ereignis, das "H - 1er" darstellt, soll das Ereignis gelegt werden, das "H - 10er" darstellt. Zuletzt soll über das Ereignis, das "T - 1er" darstellt, das Ereignis gelegt werden, das "T - 10er" darstellt.
| Es sind vier zusätzliche Ereigniskommandos erforderlich, die vier der Zahlen-Ereignisse bewegen, die allesamt über "Set Event place/Ereignis positionieren" angelegt werden. Sie sollen dafür sorgen, dass die Ereignisse übereinander liegen, die übereinander liegen sollen.
| Diese vier Ereigniskommandos sollen nun ganz an den Anfang des Ereignisses angelegt werden, wo ihr schon die Ereigniskommandos zur Positionierung der Geldzähler-Ereignisse angelegt habt.

###### Darstellung der Stichpunkte in MML

Cash-Counter-Ereignis
[Ereignisposition][Sec - 10er][Manuelle Kartenposition] /* *Das Ereignis "Sec - 10er" soll auf das Ereignis "Cash-1" gelegt *werden */ [Ereignisposition][Min - 10er][Manuelle Kartenposition] /* *Das Ereignis "Min - 10er" soll auf das Ereignis "Cash-1" gelegt *werden */ [Ereignisposition][H - 10er][Manuelle Kartenposition] /* *Das Ereignis "H - 10er" soll auf das Ereignis "Cash-1" gelegt *werden */ [Ereignisposition][T - 10er][Manuelle Kartenposition] /* *Das Ereignis "T - 10er" soll auf das Ereignis "Cash-1" gelegt *werden */ /* *Direkt hiernach folgt der restliche Code des Cash-Counters */

###### Der erstellte Maker-Code

Die Änderungen zum Maker-Code des zuvor angelegten Cash-Counters sind fett hervorgehoben.

Im englischem Maker
<>Teleport Event: Sec-10-(___,___) <>Teleport Event: Min-10-(___,___) <>Teleport Event: H-10-(___,___) <>Teleport Event: T-10-(___,___) <>Teleport Event: Cash-10-(___,___) <>Teleport Event: Cash-1000-(___,___) <>Teleport Event: Cash-100000-(___,___) <>Change Var: [asd1 to asd6] (Set)-0 <>Change Var: Var[asdf: Cash-Counter] (Set)-[$ Have] <>Loop <>If Var(asdf: Cash-Counter) 100000(>=) <>Change Var: Var[asd1: Cash-100K] (+)-1 <>Change Var: Var[asdf: Cash-Counter] (-)-100000 <> :Else Case <>If Var(asdf: Cash-Counter) 10000(>=) <>Change Var: Var[asd2: Cash-10K] (+)-1 <>Change Var: Var[asdf: Cash-Counter] (-)-10000 <> :Else Case <>If Var(asdf: Cash-Counter) 1000(>=) <>Change Var: Var[asd3: Cash-1K] (+)-1 <>Change Var: Var[asdf: Cash-Counter] (-)-1000 <> :Else Case <>If Var(asdf: Cash-Counter) 100(>=) <>Change Var: Var[asd4: Cash-100] (+)-1 <>Change Var: Var[asdf: Cash-Counter] (-)-100 <> :Else Case <>If Var(asdf: Cash-Counter) 10(>=) <>Change Var: Var[asd5: Cash-10] (+)-1 <>Change Var: Var[asdf: Cash-Counter] (-)-10 <> :Else Case <>If Var(asdf: Cash-Counter) 1(>=) <>Change Var: Var[asd6: Cash-1] (+)-1 <>Change Var: Var[asdf: Cash-Counter] (-)-1 <> :Else Case <>Break :End Case <> :End Case <> :End Case <> :End Case <> :End Case <> :End Case <> :End Loop <>Change Switch: Var[asdf: Geldzähler Läuft] Switch OFF <>
Im deutschem Maker (V1.10c)
<>Ereign.-Platz setzn: Sec-10, (___,___) <>Ereign.-Platz setzn: Min-10, (___,___) <>Ereign.-Platz setzn: H-10, (___,___) <>Ereign.-Platz setzn: T-10, (___,___) <>Ereign.-Platz setzn: Cash-10, (___,___) <>Ereign.-Platz setzn: Cash-1000, (___,___) <>Ereign.-Platz setzn: Cash-100000, (___,___) <>Var. ändern: [asd1*asd6] Wert, 0 <>Var. ändern: [asdf: Cash-Counter] Wert, Geld # <>Schleife <>Bedingung:Varbl[asdf: Cash-Counter]-100000(>=) <>Var. ändern:[asd1: Cash-100K] +, 1 <>Var. ändern:[asdf: Cash-Counter] -, 100000 <> :Ansonsten <>Bedingung:Varbl[asdf: Cash-Counter]-10000(>=) <>Var. ändern:[asd2: Cash-10K] +, 1 <>Var. ändern:[asdf: Cash-Counter] -, 10000 <> :Ansonsten <>Bedingung:Varbl[asdf: Cash-Counter]-1000(>=) <>Var. ändern:[asd3: Cash-1K] +, 1 <>Var. ändern:[asdf: Cash-Counter] -, 1000 <> :Ansonsten <>Bedingung:Varbl[asdf: Cash-Counter]-100(>=) <>Var. ändern:[asd4: Cash-100] +, 1 <>Var. ändern:[asdf: Cash-Counter] -, 100 <> :Ansonsten <>Bedingung:Varbl[asdf: Cash-Counter]-10(>=) <>Var. ändern:[asd5: Cash-10] +, 1 <>Var. ändern:[asdf: Cash-Counter] -, 10 <> :Ansonsten <>Bedingung:Varbl[asdf: Cash-Counter]-1(>=) <>Var. ändern:[asd6: Cash-1] +, 1 <>Var. ändern:[asdf: Cash-Counter] -, 1 <> :Ansonsten <>Schleife stoppen <> :End-Fall <> :End-Fall <> :End-Fall <> :End-Fall <> :End-Fall <> :End-Fall <> :Schleifenende <>Schalter ändern:[asdf: Geldzähler läuft]-[AUS] <>