Ein Geld-Zähler...

[zurück]

Wenn ihr euch das Standard-Inventory des Makers betrachtet, seht ihr sicher, dass dort auch eine Anzeige für das Geld der Heldengruppe vorhanden ist. Für euer eigenes Inventory sollte so etwas nicht fehlen... nur wie geht sowas?
Schritt 1: Eine Grafik für die Zahlen...
... braucht ihr unbedingt. Für die Darstellung habt ihr zwei Möglichkeiten; ihr könnt die Zahlen entweder über Pictures oder in Form von CharSets in euer Projekt einbinden... letzteres lege ich euch wärmstens ans Herz, da sich somit die Zahlen leichter positionieren lassen. Achtet beim Erstellen eines CharSets der Zahlen aber darauf, dass die Zahlen nicht breiter als acht Pixel und nicht größer als 16 Pixel sind. Hier habt ihr eine Beispielgrafik, die ihr verwenden könnt...

linksbündigen Zahlen →

Wenn ihr dieses Bild in eurem Projekt verwenden wollt, klickt es mit der rechten Maustaste an und wählt im darauf folgendem Fenster die Auswahl "Bild Speichern unter" und speichert es im CharSet-Verzeichnis eures Maker-Projekts...

← rechtsbündige Zahlen
Schritt 2: Den Zähler anlegen
Nach zahllosen Versuchen, so etwas wie einen Geldzähler zusammen- zubasteln hat es dann doch geklappt. Da wir hierbei ein normales Event auf einer Map platzieren sollte diese Map auch das "Hauptmenü" eures Inventories sein, wo das Event abgelegt wird. Geht nun folgendermaßen vor:
 
1. Startet den Maker und wechselt in den "Event Editing Mode", indem ihr den Button mit dem gelben Quadrat anklickt oder die Taste [F7] drückt.
Klickt dann auf der betreffenden Map eures Inventories doppelt an die Stelle, an der der Geldzähler plaziert werden soll.
2. Wählt im nun geöffnetem Fenster "Event Editor" als "Event Start Condition" die Option "Parallel Process". Nun zur Hauptarbeit...
3. Klickt im Feld "Events Commands" doppelt in die leere Zeile und wählt im darauffolgendem Fenster die erste Registerkarte und dort den Button "Change Variable".
Wählt im Feld "Choose Variable" eine freie Variable aus, der ihr den Namen "Helden-Cash" gebt.
Im Feld "Set" wählt ihr die Option "Set" aus.
Im Feld Operand hingegen wählt ihr die Option "Other" aus und im Drop-Down-Menü dahinter sucht ihr den Eintrag "Money", den ihr dann auch auswählt. Bestätigt dann den Dialog "Variable Management" mit Klick auf OK.
4. Klickt doppelt in die leere Zeile unterhalb der eben erstellten Variable und wählt im darauffolgendem Fenster die dritte Registerkarte und dort den Button "Cycle".
5. Danach klickt ihr innerhalb des Cycles doppelt in die leere Zeile und wählt im darauffolgendem Dialog ebenfalls die dritte Registerkarte, dort aber den Button "Fork Conditions" aus.
Wählt im Feld "Conditions" die Option "Variable" aus. Im Feld dahinter klickt ihr auf den Button mit den drei Punkten und wählt dort die Variable aus, der ihr das Geld der Helden zugewiesen habt (und im Beispiel "Helden-Cash" genannt wurde).
Wählt darunter dann die Option "Set" aus und gebt im Feld dahinter die Zahl 100000 (Einhunderttausend) ein. 
Zwei Felder darunter wählt ihr im Drop-Down-Menü die Option "Above" aus.
Wählt im Feld "Options" unbedingt die Option "Add Else Case" aus und bestätigt den Dialog dann mit Klick auf OK.
6. Klickt nun innerhalb dieser erstellten Fork-Condition über dem Wörtchen "ELSE" doppelt in die leere Zeile und wählt im darauffolgendem Fenster die erste Registerkarte und dort den Button "Change Variable" aus.
Im Feld "Choose Variable" wählt ihr eine neue, freie Variable aus, der ihr den Namen "Cash 100K" gebt.
Wählt im Feld "Set" die Option "+" (Das Plus-Zeichen) aus.
Im Feld "Operand" wählt ihr die Option "Set" aus und gebt im Feld dahinter eine 1 (Eins) ein.
Bestätigt dann den Dialog mit Klick auf OK.
7. Klickt unterhalb dieser Variable doppelt in die leere Zeile und wählt im darauffolgendem Fenster wieder die erste Registerkarte und dort den Button "Change Variable" aus.
Im Feld "Choose Variable" wählt ihr die Variable aus, der das Geld der Helden zugewiesen wurde ("Helden-Cash").
Im Feld "Set" wählt ihr die Option "-" (Minus).
Im Feld "Operand" wählt ihr die Option "Set" und gebt im Feld dahinter die Zahl "100000" (Einhunderttausend) ein.
Bestätigt dann das ganze mit OK.
8. Nun geht's in die leere Zeile unter dem Wörtchen "ELSE":
Klickt doppelt in diese leere Zeile und wählt im darauffolgendem Fenster die dritte Registerkarte und dort den Button "Fork Conditions".
Wählt im Feld "Conditions" die Option "Variable" aus. Im Feld dahinter klickt ihr auf den Button mit den drei Punkten und wählt dort die Variable aus, der ihr das Geld der Helden zugewiesen habt ("Helden-Cash").
Wählt darunter dann die Option "Set" aus und gebt im Feld dahinter die Zahl 10000 (Zehntausend) ein. 
Zwei Felder darunter wählt ihr im Drop-Down-Menü die Option "Above" aus.
Wählt im Feld "Options" unbedingt die Option "Add Else Case" aus und bestätigt den Dialog dann mit Klick auf OK.
9. Klickt nun innerhalb dieser neuen Fork-Condition über dem Wörtchen "ELSE" doppelt in die leere Zeile und wählt im darauffolgendem Fenster die erste Registerkarte und dort den Button "Change Variable" aus.
Im Feld "Choose Variable" wählt ihr eine neue, freie Variable aus, der ihr den Namen "Cash 10K" gebt.
Wählt im Feld "Set" die Option "+" (Das Plus-Zeichen) aus.
Im Feld "Operand" wählt ihr die Option "Set" aus und gebt im Feld dahinter eine 1 (Eins) ein.
Bestätigt dann den Dialog mit Klick auf OK.
10. Klickt unterhalb dieser Variable doppelt in die leere Zeile und wählt im darauffolgendem Fenster wieder die erste Registerkarte und dort den Button "Change Variable" aus.
Im Feld "Choose Variable" wählt ihr die Variable aus, der das Geld der Helden zugewiesen wurde ("Helden-Cash").
Im Feld "Set" wählt ihr die Option "-" (Minus).
Im Feld "Operand" wählt ihr die Option "Set" und gebt im Feld dahinter die Zahl "10000" (Zehntausend) ein.
Bestätigt dann das ganze mit OK.
11. Nun geht's in die leere Zeile unter dem Wörtchen "ELSE":
Klickt doppelt in diese leere Zeile und wählt im darauffolgendem Fenster die dritte Registerkarte und dort den Button "Fork Conditions".
Wählt im Feld "Conditions" die Option "Variable" aus. Im Feld dahinter klickt ihr auf den Button mit den drei Punkten und wählt dort die Variable aus, der ihr das Geld der Helden zugewiesen habt ("Helden-Cash").
Wählt darunter dann die Option "Set" aus und gebt im Feld dahinter die Zahl 1000 (Eintausend) ein. 
Zwei Felder darunter wählt ihr im Drop-Down-Menü die Option "Above" aus.
Wählt im Feld "Options" unbedingt die Option "Add Else Case" aus und bestätigt den Dialog dann mit Klick auf OK.
12. Klickt nun innerhalb dieser neuen Fork-Condition über dem Wörtchen "ELSE" doppelt in die leere Zeile und wählt im darauffolgendem Fenster die erste Registerkarte und dort den Button "Change Variable" aus.
Im Feld "Choose Variable" wählt ihr eine neue, freie Variable aus, der ihr den Namen "Cash 1K" gebt.
Wählt im Feld "Set" die Option "+" (Das Plus-Zeichen) aus.
Im Feld "Operand" wählt ihr die Option "Set" aus und gebt im Feld dahinter eine 1 (Eins) ein.
Bestätigt dann den Dialog mit Klick auf OK.
13. Klickt unterhalb dieser Variable doppelt in die leere Zeile und wählt im darauffolgendem Fenster wieder die erste Registerkarte und dort den Button "Change Variable" aus.
Im Feld "Choose Variable" wählt ihr die Variable aus, der das Geld der Helden zugewiesen wurde ("Helden-Cash").
Im Feld "Set" wählt ihr die Option "-" (Minus).
Im Feld "Operand" wählt ihr die Option "Set" und gebt im Feld dahinter die Zahl "1000" (Eintausend) ein.
Bestätigt dann das ganze mit OK.
14. Nun geht's in die leere Zeile unter dem Wörtchen "ELSE":
Klickt doppelt in diese leere Zeile und wählt im darauffolgendem Fenster die dritte Registerkarte und dort den Button "Fork Conditions".
Wählt im Feld "Conditions" die Option "Variable" aus. Im Feld dahinter klickt ihr auf den Button mit den drei Punkten und wählt dort die Variable aus, der ihr das Geld der Helden zugewiesen habt ("Helden-Cash").
Wählt darunter dann die Option "Set" aus und gebt im Feld dahinter die Zahl 100 (Einhundert) ein. 
Zwei Felder darunter wählt ihr im Drop-Down-Menü die Option "Above" aus.
Wählt im Feld "Options" unbedingt die Option "Add Else Case" aus und bestätigt den Dialog dann mit Klick auf OK.
15. Klickt nun innerhalb dieser neuen Fork-Condition über dem Wörtchen "ELSE" doppelt in die leere Zeile und wählt im darauffolgendem Fenster die erste Registerkarte und dort den Button "Change Variable" aus.
Im Feld "Choose Variable" wählt ihr eine neue, freie Variable aus, der ihr den Namen "Cash 100" gebt.
Wählt im Feld "Set" die Option "+" (Das Plus-Zeichen) aus.
Im Feld "Operand" wählt ihr die Option "Set" aus und gebt im Feld dahinter eine 1 (Eins) ein.
Bestätigt dann den Dialog mit Klick auf OK.
16. Klickt unterhalb dieser Variable doppelt in die leere Zeile und wählt im darauffolgendem Fenster wieder die erste Registerkarte und dort den Button "Change Variable" aus.
Im Feld "Choose Variable" wählt ihr die Variable aus, der das Geld der Helden zugewiesen wurde ("Helden-Cash").
Im Feld "Set" wählt ihr die Option "-" (Minus).
Im Feld "Operand" wählt ihr die Option "Set" und gebt im Feld dahinter die Zahl "100" (Einhundert) ein.
Bestätigt dann das ganze mit OK.
17. Nun geht's in die leere Zeile unter dem Wörtchen "ELSE":
Klickt doppelt in diese leere Zeile und wählt im darauffolgendem Fenster die dritte Registerkarte und dort den Button "Fork Conditions".
Wählt im Feld "Conditions" die Option "Variable" aus. Im Feld dahinter klickt ihr auf den Button mit den drei Punkten und wählt dort die Variable aus, der ihr das Geld der Helden zugewiesen habt ("Helden-Cash").
Wählt darunter dann die Option "Set" aus und gebt im Feld dahinter die Zahl 10 (Zehn) ein. 
Zwei Felder darunter wählt ihr im Drop-Down-Menü die Option "Above" aus.
Wählt im Feld "Options" unbedingt die Option "Add Else Case" aus und bestätigt den Dialog dann mit Klick auf OK.
18. Klickt nun innerhalb dieser neuen Fork-Condition über dem Wörtchen "ELSE" doppelt in die leere Zeile und wählt im darauffolgendem Fenster die erste Registerkarte und dort den Button "Change Variable" aus.
Im Feld "Choose Variable" wählt ihr eine neue, freie Variable aus, der ihr den Namen "Cash 10" gebt.
Wählt im Feld "Set" die Option "+" (Das Plus-Zeichen) aus.
Im Feld "Operand" wählt ihr die Option "Set" aus und gebt im Feld dahinter eine 1 (Eins) ein.
Bestätigt dann den Dialog mit Klick auf OK.
19. Klickt unterhalb dieser Variable doppelt in die leere Zeile und wählt im darauffolgendem Fenster wieder die erste Registerkarte und dort den Button "Change Variable" aus.
Im Feld "Choose Variable" wählt ihr die Variable aus, der das Geld der Helden zugewiesen wurde ("Helden-Cash").
Im Feld "Set" wählt ihr die Option "-" (Minus).
Im Feld "Operand" wählt ihr die Option "Set" und gebt im Feld dahinter die Zahl "10" (Zehn) ein.
Bestätigt dann das ganze mit OK.
20. Nun geht's in die leere Zeile unter dem Wörtchen "ELSE":
Klickt doppelt in diese leere Zeile und wählt im darauffolgendem Fenster die erste Registerkarte und dort den Button "Change Variable".
Wählt im Feld "Choose Variable" eine neue, freie Variable aus, der ihr den Namen "Cash 1" gebt.
Wählt im Feld "Set" die Option "Set".
Im Feld "Operand" wählt ihr die Option "Variable" (zweites Feld von oben) und wählt im Feld dahinter den Button mit den drei Punkten. Im daraufhin folgendem Fenster wählt ihr dann die Variable aus, der ihr das Helden-Geld zugewiesen habt (Helden-Cash).
Bestätigt dann das ganze mit OK.
21. Klickt nun unterhalb dieser Variable doppelt in die leere Zeile und wählt im darauffolgendem Fenster die dritte Registerkarte und dort den Button "Break Cycle" aus.
22. Begebt euch nun an das unterste Ende des Feldes "Events Commands" und klickt dort in der untersten Zeile doppelt hinein. Wählt dann im darauffolgendem Fenster die erste Registerkarte und dort den Button "Change Switch" aus.
Im Feld "Choose Switches" wählt ihr nun die Option "One" und nach Klick auf den Button mit den drei Punkten einen freien Switch aus, dem ihr einen Namen gebt (z.B.: "Cash-Zähler-Ende").
Wählt im Feld "Set" die Option "ON" aus und bestätigt das ganze mit OK.
23. Klickt im Event-Editor auf den Button "New Page" und begebt euch auf die neue Seite.
24. Wählt im Feld "Event Conditions" das erste Feld mit dem Wort "Switch" aus und wählt im Feld dahinter den unter Punkt 22 angelegten Switch aus.
Wählt als "Event Start Condition" die Option "Push Key" aus.

Der Zähler wäre nun angelegt. Zur Erklärung:
In der ersten Variable ("Helden-Cash") wird das Geldvermögen der Heldentruppe gespeichert und über die ganzen Fork-Conditions in sechs Zahlen aufgesplittet, die für die Hunderttausender, Zehntausender, Eintausender, Hunderter, Zehner und Einerwerte stehen, jeweils in einer eigenen Variable. Ist dann schließlich die erste Variable vollkommen zerlegt, wird die Geld-Zähl-Funktion abgeschaltet (durch den Switch aus Punkt 22 und die neue, leere Seite aus den Punkten 23 und 24.

Und hier nun noch ein kleines Codebeispiel, falls ihr während den ganzen Punkten irgendwo den Faden verloren haben solltet...

Schritt 3: Die Ausgabe des Geldbetrages...
... werden wir mit dem Bild, das ihr in Schritt 1 angelegt habt, vornehmen. Natürlich muss das in Zahlen erfolgen, da Grafiken (kleine Bildchen) das nicht schaffen würden. Bleiben wir einfach auf der selben Map und legen die "Zahlen-Events" an. Als Grafik verwenden wir folgende...

Wenn ihr dieses Bild in eurem Projekt verwenden wollt, klickt es mit der rechten Maustaste an und wählt im darauf folgendem Fenster die Auswahl "Bild Speichern unter" und speichert es im CharSet-Verzeichnis eures Maker-Projekts...

1. Klickt nun doppelt an die Stelle, an der sich der Zähler befinden soll.
2. Klickt im "Event Editor" im Feld "Select Graphic" auf den Button "Set". Wählt im Listenfeld links das CharSet, das die benötigten Zahlen bereithält. Eine Vorschau des ausgewählten CharSets seht ihr ja rechts...
Habt ihr eure Auswahl getroffen, solltet ihr die rechtsbündig angeordnete Zahl "0" (Null) suchen (Bei der oben abgebildeten Grafik müsstet ihr die Felder "Face Direction" auf "Left" und "Pattern" auf "Left" setzen). Klickt dann auf OK.
Wählt noch im Feld "Animation Type" die Option "Fixed Graphic" aus.
3. Klickt im Feld "Event Conditions" in das Feld vor dem Wort "Variable", klickt auf den Button mit den drei Punkten und wählt nun die Variable aus, der die Einser im Schritt 2 zugewiesen wurden (hier im Beispiel wäre das die Variable namens "Cash 1") und gebt im Feld darunter eine "0" (Null) ein.
4. Klickt auf den Button "Copy Page" und dann auf den Button "Paste Page" und begebt euch auf diese neue Seite.
Ändert hier im Feld "Variable" die "0" (Null) zu einer "1" (Eins) und wählt im Feld "Select Graphic" das Bild einer rechtsbündig angeordneten Eins.
5. Klickt auf den Button "Copy Page" und dann auf den Button "Paste Page" und begebt euch auf diese neue Seite.
Ändert hier im Feld "Variable" die "1" (Eins) zu einer "2" (zwei) und wählt im Feld "Select Graphic" das Bild einer rechtsbündig angeordneten Zwei.
6. Klickt auf den Button "Copy Page" und dann auf den Button "Paste Page" und begebt euch auf diese neue Seite.
Ändert hier im Feld "Variable" die "2" (Zwei) zu einer "3" (Drei) und wählt im Feld "Select Graphic" das Bild einer rechtsbündig angeordneten Drei.
7. Führt das Schema weiter fort bis zur "9" (Neun), gebt diesem Event noch einen Namen (z.B.: Cash 1) und klickt auf OK.
8. Kopiert dieses Event und fügt es ein Quadrat links neben dem Original ein. Klickt nun doppelt darauf. Nun müsst ihr auf jeder der Event-Seiten im Feld "Event Conditions" im Punkt "Variable" die Variable austauschen. Wählt hier die Variable aus, in der die Hunderterwerte gespeichert werden (in unserem Beispiel wäre das die Variable namens "Cash 100"). Habt ihr das gemacht, gebt dem Event einen Namen (z.B.: Cash 100) und klickt auf OK.
9. Kopiert dieses Event wieder und fügt es ein Quadrat links neben dem Original ein. Klickt doppelt darauf. Nun müsst ihr auf jeder der Event-Seiten im Feld "Event Conditions" im Punkt "Variable" die Variable austauschen. Wählt hier die Variable aus, in der die Zehntausenderwerte gespeichert werden (in unserem Beispiel wäre das die Variable namens "Cash 10K"). Habt ihr das gemacht, gebt dem Event einen Namen (z.B.: Cash 10K) und klickt auf OK.
10. So, nun haben wir die Werte für die Einser, Hunderter und Zehntausender... die Hälfte fehlt noch...
Klickt nun doppelt ein Feld über dem Event für die Einserwerte (in unserem Beispiel heißt dieses Event "Cash 1") auf der Map.
Klickt im "Event Editor" im Feld "Select Graphic" auf den Button "Set". Wählt im Listenfeld links das CharSet, das die benötigten Zahlen bereithält. Eine Vorschau des ausgewählten CharSets seht ihr ja rechts...
Habt ihr eure Auswahl getroffen, solltet ihr nun die linksbündig angeordnete Zahl "0" (Null) suchen (Bei der oben abgebildeten Grafik müsstet ihr die Felder "Face Direction" auf "Left" und "Pattern" auf "Left" setzen). Klickt dann auf OK.
Wählt noch im Feld "Animation Type" die Option "Fixed Graphic" aus.
11. Klickt im Feld "Event Conditions" in das Feld vor dem Wort "Variable", klickt auf den Button mit den drei Punkten und wählt nun die Variable aus, der die Zehner im Schritt 2 zugewiesen wurden (hier im Beispiel wäre das die Variable namens "Cash 10") und gebt im Feld darunter eine "0" (Null) ein.
12. Klickt auf den Button "Copy Page" und danach auf den Button "Paste Page". Auf dieser neuen Seite ändert ihr die Zahl unter der gewählten Variable von einer "0" auf eine "1" und im Feld "Select Graphic" ändert ihr die Grafik in eine linksbündig angeordnete "1"
13. Klickt auf den Button "Copy Page" und danach auf den Button "Paste Page". Auf dieser neuen Seite ändert ihr die Zahl unter der gewählten Variable von einer "1" auf eine "2" und im Feld "Select Graphic" ändert ihr die Grafik in eine linksbündig angeordnete "2"
14. Setzt das Schema bis zur "9" (Neun) fort und gebt dem Event vorher noch einen Namen, wie zum Beispiel "Cash 10". Dann klickt ihr auf OK.
15. Kopiert dieses Event und fügt es ein Quadrat links neben dem Original ein. Klickt nun doppelt darauf. Nun müsst ihr auf jeder der Event-Seiten im Feld "Event Conditions" im Punkt "Variable" die Variable austauschen. Wählt hier die Variable aus, in der die Tausenderwerte gespeichert werden (in unserem Beispiel wäre das die Variable namens "Cash 1K"). Habt ihr das gemacht, gebt dem Event einen Namen (z.B.: Cash 1K) und klickt auf OK.
16. Kopiert dieses Event und fügt es ein Quadrat links neben dem Original ein. Klickt nun doppelt darauf. Nun müsst ihr auf jeder der Event-Seiten im Feld "Event Conditions" im Punkt "Variable" die Variable austauschen. Wählt hier die Variable aus, in der die Tausenderwerte gespeichert werden (in unserem Beispiel wäre das die Variable namens "Cash 100K"). Habt ihr das gemacht, gebt dem Event einen Namen (z.B.: Cash 100K) und klickt auf OK.
17.

Euer Geld-Zählwerk könnte nun folgendermaßen aussehen...

Dies ist ein Zwischenstand des Geldzählers aus meinem Projekt "Forgotten Stories - Der Untergang von Atlantis". Der Goldbarren ist das Event, in dem das Geld gezählt wird...

Ihr seht sicher, dass die Zahlen direkt unter dem Wörtchen "Geld" ein Kästchen nach unten müssen. Aber zwei Events direkt übereinander geht ja nicht...

Und es geht doch.

Klickt irgendwo doppelt auf der Map an eine Stelle. Ihr gelangt in den Event Editor.
Wählt im Feld "Event Start Condition" die Option "Parallel Process" aus.

18. Klickt im Feld "Events Commands" doppelt in die leere Zeile und wählt im darauffolgendem Fenster die zweite Registerkarte und dort den Button "Set Event Place...".
Im Feld "Event" wählt ihr das Zahlen-Event aus, dass die Zehnerwerte darstellt (in unserem Beispiel das Event "Cash 10").
Klickt nun im Feld "Move to place" hinter dem Wort "Position" auf den Button mit den drei Punkten. Ein Fenster öffnet sich, das die Map, auf der sich die Cash-Zähler-Events befinden, darstellt. Klickt nun auf den Platz, an dem ihr das Event positionieren wollt. Wählt hier direkt den Ort aus, an dem das Event für die Einserwerte sitzt. Klickt dann auf OK, bis ihr im Event Editor seid.
Setzt nach diesem Weg das Zahlenevent für die Tauserderwerte auf das für die Hunderterwerte und das für die Hunderttausender- auf die Zehntausenderwerte.
Wenn ihr alles soweit richtig gemacht habt, sitzen, wenn ihr einen Testdurchlauf startet, alle sechs Zahlen schön brav in einer Reihe.

Nun wäre auch die Darstellung des Helden-Geldes erledigt...

Schritt 4: Was noch zu beachten ist...
Erinnert ihr euch noch an den Switch, der in Schritt 2, Punkt 22 auf ON gesetzt wurde ("Cash-Zähler-Ende")?
Damit der Cash-Zähler das Geld auch jedes Mal, wenn ihr das Inventory betretet, durchzählt, muss dieser Switch auf OFF gesetzt werden. Am Besten macht ihr das, indem ihr in jedes Event, dass vom Cash-Counter weg führt, eine Funktion anlegt, die den Switch "Cash-Zähler-Ende" auf OFF setzt. Das wars... so viel zum Thema Cash-Zähler und seine Darstellung...

 
[zurück]