| Das Inventar des AKS

###### Vorüberlegungen I - Grafiken für die Darstellung der Items

Bevor ihr mit der Erstellung des Makercodes für die Itemauswahl beginnt, solltet ihr euch der Erstellung von Grafiken widmen, welche die Darstellung der einzelnen Items übernehmen. Angezeigt werden soll ein kleines Symbol für den Gegenstand, sein Effekt in kürzester Form wie auch die Menge, die sich im Inventar befindet. In unserem Beispiel soll ein Bereich von 4 Chips Breite und 2 Chips Höhe genügen (entspricht 64 x 32 Pixel). Für unser Beispiel sollen die Grafiken des Pakets [aks_items.zip] dienen.

###### Vorüberlegungen IIa - Darstellung eines Items

Das Ereignis, das wir hier erstellen werden, wird ein einziges Item darstellen - in unserem Beispiel den kleinen Heiltrank. Mehr wird hierbei nicht passieren, um den Code übersichtlich zu halten.

| Legt zuerst in der Datenbank ein neues Common Event/Häufig benötigtes Ereignis an, das ihr "Kl. Heiltrank" nennt. Es soll lediglich durch eine Aufruf/Call starten.
| Als erstes soll in eine neue, freie Variable - nennt sie "Item-Menge" - die Anzahl der kleinen Heiltränke im Inventar gespeichert werden.
| Direkt danach soll eine Bedingung mit Nein-Fall prüfen, ob der Wert der Variable "Item-Menge" genau dem Wert 1 entspricht.
| Im Ja-Fall der Bedingung soll nun das Bild angezeigt werden, dass den Kleinen Heiltrank bei einer Menge von 1 Stück darstellt. In unserem Beispiel heißt die Datei "kl_heiltrank_1.png". Die Koordinaten für die korrekte Darstellung sind X = 208, Y = 16. Wenn ihr die Grafiken aus dem beigefügtem Paket [aks_items.zip] verwendet, müsst ihr dafür sorgen, dass keine transparente Farbe bei der Bilddarstellung verwendet wird (Transparent Color --> None)
| Im Nein-Fall der Bedingung wiederholt ihr die beiden vorangegangenen Punkte für die Fälle, dass der Wert der Variable "Item-Menge" den Werten 2, 3, 4, 5, 6, 7, 8, 9 und "größer als 9" entspricht. In den jeweiligen Ja-Fällen soll das entsprechende Bild dargestellt werden. Behaltet unbedingt die gleichen Koordinaten bei und verzichtet auf die Verwendung einer transparenten Farbe bei den Pictures. Die letzte Bedingung in der Kette braucht keinen Nein-Fall mehr.
| Wiederholt sämtliche vorangegangenen Punkte für alle weiteren Items, die ihr anlegen wollt. In unserem Beispiel kämen noch die Items "Großer Heiltrank" (Gr. Heiltrank), "Magietrank" (Magietrank) und "Regenerationstrank" (Regeneration hinzu mit den entsprechenden Ereignisnamen in den Klammern dahinter (wichtig für später).

###### Darstellung der Stichpunkte in MML am Beispiel des Ereignisses "Kl. Heiltrank"

Kl.Heiltrank-Ereignis
[Variable [Item-Menge]][<-- [Wert setzen][Item [Kleiner Heiltrank][Anzahl Besitz]] [Bedingung][Variable][Item-Menge][gleich][1]
| [Ja-Fall]
| [Bild anzeigen][Bildnummer [17]][kl_heiltrank_1.png][Startkoordinate [X = 208][Y = 16]]
| [Nein-Fall]
| [Bedingung][Variable][Item-Menge][gleich][2]
| [Ja-Fall]
| [Bild anzeigen][Bildnummer [17]][kl_heiltrank_2.png][Startkoordinate [X = 208][Y = 16]]
| [Nein-Fall]
| [Bedingung][Variable][Item-Menge][gleich][3]
| [Ja-Fall]
| [Bild anzeigen][Bildnummer [17]][kl_heiltrank_3.png][Startkoordinate [X = 208][Y = 16]]
| [Nein-Fall]
| [Bedingung][Variable][Item-Menge][gleich][4]
| [Ja-Fall]
| [Bild anzeigen][Bildnummer [17]][kl_heiltrank_4.png][Startkoordinate [X = 208][Y = 16]]
| [Nein-Fall]
| [Bedingung][Variable][Item-Menge][gleich][5]
| [Ja-Fall]
| [Bild anzeigen][Bildnummer [17]][kl_heiltrank_5.png][Startkoordinate [X = 208][Y = 16]]
| [Nein-Fall]
| [Bedingung][Variable][Item-Menge][gleich][6]
| [Ja-Fall]
| [Bild anzeigen][Bildnummer [17]][kl_heiltrank_6.png][Startkoordinate [X = 208][Y = 16]]
| [Nein-Fall]
| [Bedingung][Variable][Item-Menge][gleich][7]
| [Ja-Fall]
| [Bild anzeigen][Bildnummer [17]][kl_heiltrank_7.png][Startkoordinate [X = 208][Y = 16]]
| [Nein-Fall]
| [Bedingung][Variable][Item-Menge][gleich][8]
| [Ja-Fall]
| [Bild anzeigen][Bildnummer [17]][kl_heiltrank_8.png][Startkoordinate [X = 208][Y = 16]]
| [Nein-Fall]
| [Bedingung][Variable][Item-Menge][gleich][9]
| [Ja-Fall]
| [Bild anzeigen][Bildnummer [17]][kl_heiltrank_9.png][Startkoordinate [X = 208][Y = 16]]
| [Nein-Fall]
| [Bedingung][Variable][Item-Menge][größer oder gleich][9]
| [Ja-Fall]
| [Bild anzeigen][Bildnummer [17]][kl_heiltrank_9.png][Startkoordinate [X = 208][Y = 16]]

###### Der erstellte Maker-Code am Beispiel des Ereignisses "Kl. Heiltrank"

Im englischem Maker
<>Change Var: Var[Item-Menge] (set)- Kleiner Heiltrank Hold Amount <>If Var (Item-Menge) 1 <>Show Picture: ID:17-kl_heiltrank_1-(208,16) <> :Else Case <>If Var (Item-Menge) 2 <>Show Picture: ID:17-kl_heiltrank_2-(208,16) <> :Else Case <>If Var (Item-Menge) 3 <>Show Picture: ID:17-kl_heiltrank_3-(208,16) <> :Else Case <>If Var (Item-Menge) 4 <>Show Picture: ID:17-kl_heiltrank_4-(208,16) <> :Else Case <>If Var (Item-Menge) 5 <>Show Picture: ID:17-kl_heiltrank_5-(208,16) <> :Else Case <>If Var (Item-Menge) 6 <>Show Picture: ID:17-kl_heiltrank_6-(208,16) <> :Else Case <>If Var (Item-Menge) 7 <>Show Picture: ID:17-kl_heiltrank_7-(208,16) <> :Else Case <>If Var (Item-Menge) 8 <>Show Picture: ID:17-kl_heiltrank_8-(208,16) <> :Else Case <>If Var (Item-Menge) 9 <>Show Picture: ID:17-kl_heiltrank_9-(208,16) <> :Else Case <>If Var (Item-Menge) 9(>) <>Show Picture: ID:17-kl_heiltrank_A-(208,16) <> :End Case <> :End Case <> :End Case <> :End Case <> :End Case <> :End Case <> :End Case <> :End Case <> :End Case <> :End Case <>
Im deutschem Maker (V1.10c)
<>Var. ändern:[Item-Menge]Wert, Kleiner HeiltrankAusgerüs <>Bedingung:Varbl[Item-Menge]- 1 <>Bild anzeigen: 17, kl_heiltrank_1, (208,16) <> :Ansonsten <>Bedingung:Varbl[Item-Menge]- 2 <>Bild anzeigen: 17, kl_heiltrank_2, (208,16) <> :Ansonsten <>Bedingung:Varbl[Item-Menge]- 3 <>Bild anzeigen: 17, kl_heiltrank_3, (208,16) <> :Ansonsten <>Bedingung:Varbl[Item-Menge]- 4 <>Bild anzeigen: 17, kl_heiltrank_4, (208,16) <> :Ansonsten <>Bedingung:Varbl[Item-Menge]- 5 <>Bild anzeigen: 17, kl_heiltrank_5, (208,16) <> :Ansonsten <>Bedingung:Varbl[Item-Menge]- 6 <>Bild anzeigen: 17, kl_heiltrank_6, (208,16) <> :Ansonsten <>Bedingung:Varbl[Item-Menge]- 7 <>Bild anzeigen: 17, kl_heiltrank_7, (208,16) <> :Ansonsten <>Bedingung:Varbl[Item-Menge]- 8 <>Bild anzeigen: 17, kl_heiltrank_8, (208,16) <> :Ansonsten <>Bedingung:Varbl[Item-Menge]- 9 <>Bild anzeigen: 17, kl_heiltrank_9, (208,16) <> :Ansonsten <>Bedingung:Varbl[Item-Menge]- 9 > <>Bild anzeigen: 17, kl_heiltrank_A, (208,16) <> :End-Fall <> :End-Fall <> :End-Fall <> :End-Fall <> :End-Fall <> :End-Fall <> :End-Fall <> :End-Fall <> :End-Fall <> :End-Fall <>

###### Vorüberlegungen IIb - Das Item-Darstellungsevent

Nun, da wir für jedes Item ein entsprechendes Ereignis haben, das sich um die Darstellung kümmert, ist nun ein Zwischenereignis nötig, das jedes einzelne der Item-Ereignis ansteuert, wenn es im AKS-Inventar ausgewählt wurde.

| Legt hierfür in der Datenbank ein neues Ereignis an, das ihr "ItemDisplay" nennt. Auch dieses Ereignis soll durch Call/Aufruf gestartet werden.
| Zuerst legt ihr eine Endlosschleife an.
| In dieser Endlosschleife soll erst ein Label mit der Nummer 1 gesetzt werden und direkt danach eine Bedingung prüfen, ob der Wert der Variable "SelectedItem" genau dem Wert "0" entspricht.
| Im Ja-Fall soll die Variable, die ihr "Item-Menge" genannt habt, die Anzahl der kleinen Heiltränke aufnehmen.
| Hiernach soll eine neue Bedingung ohne Nein-Fall prüfen, ob der Wert der Variable "Item-Menge" anders als 0 ist.
| In deren Ja-Fall soll nun das Ereignis aufgerufen werden, das die grafische Darstellung der kleinen Heiltränke übernimmt (in unserem Beispiel das Ereignis "Kl. Heiltrank") und direkt danach ein Schleifenausbruch folgen.
| Im Nein-Fall dieser Bedingung wiederholt ihr die vier vorangegangenen Punkte für jedes weitere Item, das im AKS-Menü angezeigt werden soll. In unserem Beispiel sind das "Großer Heiltrank" (1), "Magietrank" (2), "Regenerationstrank" (3). Wichtig ist, dass die letzte Bedingung der Item-Unterscheidung auch über einen Nein-Fall verfügt.
| Im Nein-Fall der Bedingung, die nun das letzte Item prüft (Prüft die Variable "SelectedItem"), geht es weiter, denn nun müssen zwei Grenzwerte abgefangen werden, die in der Variable "SelectedItem" stehen könnten: -1 [Anzahl Item-Arten] (da wir bei 0 angefangen haben und 0 das erste Item ist, hat das Letzte Item die Nummer "[Anzahl Item-Arten] - 1") Zuerst soll geprüft werden, ob der Wert der Variable "SelectedItem" dem Wert "-1" entspricht. Die Bedingung soll auch hier einen Nein-Fall haben.
| Im Ja-Fall der Bedingung soll der Wert der Variable "SelectedItem" auf den Wert "[Anzal Item-Arten] - 1" gesetzt (in unserem Fall 3) und zum Label mit der Nummer 1 gesprungen werden.
| Im Nein-Fall hingegen soll der zweite Grenzwert abgefangen werden. Also braucht ihr hier eine Bedingung, die prüft, ob der Wert der Variable "SelectedItem" genau dem Wert "[Anzahl Item-Arten]" entspricht (in unserem Fall 4). Einen Nein-Fall braucht ihr diesmal nicht.
| Im Ja-Fall der Bedingung soll der Wert der Variable "SelectedItem" auf den Wert "0" gesetzt und wieder zum Label mit der Nummer 1 gesprungen werden.
| Nun müssen noch die Tasteneingaben abgefangen werden, die Items ansteuern, über die der Hauptchara nicht verfügt. Hier soll nun entsprechend der Tasteneingabe entweder ein Item weiter oder ein Item zurück gesprungen werden. Den Anfang macht eine Bedingung, die prüft, ob der Wert der Variable "PressedButton" kleiner oder gleich dem Wert 2 ist (Cursor runter oder links wurde gedrückt). Ihr braucht hier einen Nein-Fall.
| Im Ja-Fall soll die Variable "SelectedItem" um 1 verringert werden.
| Im Nein-Fall der Bedingung soll eine weitere folgen, die prüft, ob der Wert der Variable "PressedButton" kleiner oder gleich dem Wert 4 ist (rechts oder hoch wurden gedrückt). In deren Ja-Fall wiederum soll der Wert der Variable "SelectedItem" um 1 erhöht werden. Ein Nein-Fall ist hier nicht erforderlich.

###### Darstellung der Stichpunkte in MML

ItemDisplay-Ereignis
[Schleife Beginn]
| [Haltepunkt [1]] [Bedingung][Variable][SelectedItem][gleich][0]
| [Ja-Fall]
| [Variable [Item-Menge]][<-- [Wert setzen][Item [Kleiner Heiltrank][Haben]]] [Bedingung][Variable][Item-Menge][anders als][0]
| [Ja-Fall]
| [Ereignis aufrufen][Datenbankereigns [Kl. Heiltrank]] [Schleife Ausbruch]
| [Nein-Fall]
| [Bedingung][Variable][SelectedItem][gleich][1]
| [Ja-Fall]
| [Variable [Item-Menge]][<-- [Wert setzen][Item [Großer Heiltrank][Haben]]] [Bedingung][Variable][Item-Menge][anders als][0]
| [Ja-Fall]
| [Ereignis aufrufen][Datenbankereigns [Gr. Heiltrank]] [Schleife Ausbruch]
| [Nein-Fall]
| [Bedingung][Variable][SelectedItem][gleich][2]
| [Ja-Fall]
| [Variable [Item-Menge]][<-- [Wert setzen][Item [Magietrank][Haben]]] [Bedingung][Variable][Item-Menge][anders als][0]
| [Ja-Fall]
| [Ereignis aufrufen][Datenbankereigns [Magietrank]] [Schleife Ausbruch]
| [Nein-Fall]
| [Bedingung][Variable][SelectedItem][gleich][3]
| [Ja-Fall]
| [Variable [Item-Menge]][<-- [Wert setzen][Item [Regenerationstrank][Haben]]] [Bedingung][Variable][Item-Menge][anders als][0]
| [Ja-Fall]
| [Ereignis aufrufen][Datenbankereigns [Regeneration]] [Schleife Ausbruch]
| [Nein-Fall]
| [Bedingung][Variable][SelectedItem][gleich][-1]
| [Ja-Fall]
| [Variable [SelectedItem]][<-- [Wert setzen][3]] [Goto Haltepunkt [1]]
| [Nein-Fall]
| [Bedingung][Variable][SelectedItem][gleich][4]
| [Ja-Fall]
| [Variable [SelectedItem]][<-- [Wert setzen][0]] [Goto Haltepunkt [1]]
[Bedingung][Variable][PressedButton][kleiner oder gleich][2]
| [Ja-Fall]
| [Variable [SelectedItem]][<-- [-][1]]
| [Nein-Fall]
| [Bedingung][Variable][PressedButton][kleiner oder gleich][4]
| [Ja-Fall]
| [Variable [SelectedItem]][<-- [+][1]]
[Schleife Ende]

###### Der erstellte Maker-Code

Im englischem Maker
<>Loop <>Label 1# <>If Var (SelectedItem) 0 <>Change Var: Var[Item-Menge] (Set)- Kleiner Heiltrank Hold Amount <>If Var (Item-Menge) 0 (<>) <>Call Event: Kl. Heiltrank <>Break <> :End Case <> :Else Case <>If Var (SelectedItem) 1 <>Change Var: Var[Item-Menge] (Set)- Großer Heiltrank Hold Amount <>If Var (Item-Menge) 0 (<>) <>Call Event: Gr. Heiltrank <>Break <> :End Case <> :Else Case <>If Var (SelectedItem) 2 <>Change Var: Var[Item-Menge] (Set)- Magietrank Hold Amount <>If Var (Item-Menge) 0 (<>) <>Call Event: Magietrank <>Break <> :End Case <> :Else Case <>If Var (SelectedItem) 3 <>Change Var: Var[Item-Menge] (Set)- Regenerationstrank Hold Amount <>If Var (Item-Menge) 0 (<>) <>Call Event: Regeneration <>Break <> :End Case <> :Else Case <>If Var (SelectedItem) -1 <>Change Var: Var[SelectedItem] (Set)- 3 <>Goto Label 1# <> :Else Case <>If Var (SelectedITem) 4 <>Change Var: Var[SelectedItem] (Set)- 0 <>Goto Label 1# <> :End Case <> :End Case <> :End Case <> :End Case <> :End Case <> :End Case <>If Var (PressedButton) 2 (<=) <>Change Var: Var[SelectedItem] (-)- 1 <> :Else Case <>If Var (PressedButton) 4 (<=) <>Change Var: Var[SelectedItem] (+)- 1 <> :End Case <> :End Case <> :End Loop <>
Im deutschem Maker (V1.10c)
<>Schleife <> -> Label:1Nr <>Bedingung:Varbl.[SelectedItem]-0 <>Var. ändern:[Item-Menge]Wert, Kleiner HeiltrankAusgerüs <>Bedingung: Varbl[Item-Menge]-0andr <>Ereignis aufrufen: Kl. Heiltrank <>Schleife stoppen <> :End-Fall <> :Ansonsten <>Bedingung:Varbl.[SelectedItem]-1 <>Var. ändern:[Item-Menge]Wert, Großer HeiltrankAusgerüs <>Bedingung: Varbl[Item-Menge]-0andr <>Ereignis aufrufen: Gr. Heiltrank <>Schleife stoppen <> :End-Fall <> :Ansonsten <>Bedingung:Varbl.[SelectedItem]-2 <>Var. ändern:[Item-Menge]Wert, MagietrankAusgerüs <>Bedingung: Varbl[Item-Menge]-0andr <>Ereignis aufrufen: Magietrank <>Schleife stoppen <> :End-Fall <> :Ansonsten <>Bedingung:Varbl.[SelectedItem]-3 <>Var. ändern:[Item-Menge]Wert, RegenerationstrankAusgerüs <>Bedingung: Varbl[Item-Menge]-0andr <>Ereignis aufrufen: Regeneration <>Schleife stoppen <> :End-Fall <> :Ansonsten <>Bedingung:Varbl.[SelectedItem]- -1 <>Var. ändern[SelectedItem]Wert, 3 <>Gehe zu Label: 1Nr <> :Ansonsten: <>Bedingung:Varbl.[SelectedItem]- 4 <>Var. ändern[SelectedItem]Wert, 0 <>Gehe zu Label: 1Nr <> :End-Fall <> :End-Fall <> :End-Fall <> :End-Fall <> :End-Fall <> :End-Fall <>Bedingung:Varbl.[PressedButton]- 2< <>Var. ändern:[SelectedItem]-, 1 <> :Ansonsten <>Bedingung:Varbl.[PressedButton]- 4< <>Var. ändern:[SelectedItem]+, 1 <> :End-Fall <> :End-Fall <> :Schleifenende <>

###### Vorüberlegungen III - Die Navigation im AKS-Inventar

Die Navigation durch das AKS-Inventar soll nur dann möglich sein, wenn der Hauptchara auch irgendwelche Items mit sich herumschleppt, die sich auch benutzen lassen. Auch sollen die verwendbaren Gegenstände auch benutzbar sein und die Möglichkeit bestehen, ohne den Gebrauch eines Gegenstandes das Inventar verlassen zu können. Folgende Steuerungsoptionen sollen möglich sein:
Ein Item zurück (durch Drücken der Cursortasten "runter" und "links", was den Werten 1 und 2 entspricht)
Ein Item vorwärts (durch Drücken der Cursortasten "hoch" und "rechts", was den Werten 3 und 4 entspricht)
Ein Item benutzen (durch Drücken der ENTER-Taste, was dem Wert 5 entspricht)
Abbruch der Item-Auswahl (durch Drücken der Taste ESC, was dem Wert 6 entspricht).
Auch soll immer das Item angezeigt werden, das der Reihe nach durch Drücken der Cursortasten angesteuert wird. Bei Verlassen der Item-Auswahl soll das Bild des aktuell gewählten Items vom Bildschirm verschwinden.
Wenn der Hauptchara keine Items hat, soll ein simpler Soundeffekt des Abbruchs darauf hinweisen.
All diese Dinge werden nachfolgend angelegt (mit Ausnahme des Item-Gebrauchs, der im Unterkapitel danach abgehandelt wird).

| Legt zuerst ein neues Common Event/Häufig benötigtes Ereignis an, das ihr "ItemUse" nennt. Es soll durch "Call/Aufruf" startbar sein. Legt hier noch keinen Makercode an.
| Begebt euch dann in das Common Event/Häufig benötigte Ereignis, das ihr "Menupoint:ITEM" genannt habt. Hier wird die eigentliche Navigation im AKS-Inventar angelegt. Den Grundstein dafür legt ihr, indem ihr den Wert der Variable "SelectedItem" auf 0 setzt.
| Als nächstes soll die Variable "Item-Menge" die Summe der Anzahl sämtlicher Items in sich aufnehmen, die über das AKS-Menü verwendbar sein sollen. In unserem Beispiel also die Anzahl "Kleiner Heiltränke", "Großer Heiltränke", "Magietränke" und "Regenerationstränke".
| Direkt danach soll eine Bedingung mit Nein-Fall prüfen, ob der Wert der Variable "Item-Menge" genau 0 ist.
| Im Ja-Fall der Bedingung soll lediglich ein Soundeffekt abgespielt werden, der wie ein Abbruchsound klingt. Der RTP-Soundeffekt "Cansel1" eignet sich gut dafür.
| Im Nein-Fall geht es als Erstes mit einer Endlosschleife weiter.
| Innerhalb dieser Endlosschleife geht es mit einer Tastenabfrage (Enter Password) weiter, die jede (!) der Tasten abfragt (Cursortasten, ENTER und ESC) und das Ergebnis in der Variable "PressedButton" ablegt. Auch soll die Funktion warten, bis eine Taste gedrückt wurde.
| Danach soll eine Bedingung mit Nein-Fall folgen, die prüft, ob der Wert der Variable "PressedButton" kleiner oder gleich 2 ist.
| Im Ja-Fall soll der Wert der Variable "SelectedItem" um 1 verringert und das Common Event/Häufig benötigte Ereignis "ItemDisplay" danach aufgerufen werden.
| Im Nein-Fall folgt eine weitere Bedingung mit Nein-Fall. Die soll prüfen, ob der Wert der Variable "PressedButton" kleiner oder gleich 4 ist.
| Im Ja-Fall soll der Wert der Variable "SelectedItem" um 1 erhöht und das Common Event/Häufig benötigte Ereignis "ItemDisplay" danach aufgerufen werden.
| Im Nein-Fall dieser Bedingung folgt eine dritte mit Nein-Fall, die prüfen soll, ob der Wert von "PressedButton" genau 5 ist.
| Im Ja-Fall soll als erstes das Common Event/Häufig benötigte Ereignis "ItemUse" aufgerufen werden. Danach wird das Bild mit der ID 17 gelöscht und ein Schleifenausbruch angelegt.
| Im Nein-Fall folgt die letzte Bedingung, die keinen Nein-Fall mehr braucht und prüfen soll, ob der Wert der Variable "PressedButton" genau dem Wert 6 entspricht.
| Im Ja-Fall dieser Bedingung soll lediglich das Bild mit der ID 17 gelöscht werden und ein Schleifenausbruch erfolgen.

###### Darstellung der Stichpunkte in MML

Menupoint:ITEM-Ereignis
[Variable [SelectedITem]][<-- [Wert setzen][0] [Variable [Item-Menge]][<-- [Wert setzen][Item [Kleiner Heiltrank] haben]] [Variable [Item-Menge]][<-- [+][Item [Großer Heiltrank] haben]] [Variable [Item-Menge]][<-- [+]Item [Magietrank] haben]] [Variable [Item-Menge]][<-- [+]Item [Regenerationstrank] haben]] [Bedingung][Variable][Item-Menge][gleich][0]
| [Ja-Fall]
| [Soundeffekt abspielen [Cansel1]]
| [Nein-Fall]
| [Schleife Beginn]
| [Variable [PressedButton]][<-- [Hoch, Runter, Links, Rechts, ENTER, ESC] [Bedingung][Variable][PressedButton][kleiner oder gleich][2]
| [Ja-Fall]
| [Variable [SelectedItem]][<-- [-][1]] [Ereignisaufruf][Datenbankereignis [Item-Display]]
| [Nein-Fall]
| [Bedingung][Variable][PressedButton][kleiner oder gleich][4]
| [Ja-Fall]
| [Variable [SelectedItem]][<-- [+][1]] [Ereignisaufruf][Datenbankereignis [Item-Display]]
| [Nein-Fall]
| [Bedingung][Variable][PressedButton][gleich][5]
| [Ja-Fall]
| [Ereignisaufruf][Datenbankereignis [Item-Use]] [Picture weg][ID [17]] [Schleifenausbruch]
| [Nein-Fall]
| [Bedingung][Variable][PressedButton][gleich][6]
| [Ja-Fall]
| [Picture weg][ID [17]] [Schleifenausbruch]
[Schleife Ende]

###### Der erstellte Maker-Code

Im englischem Maker
<>Change Var: Var[SelectedItems] (Set)- 0 <>Change Var: Var[Item-Menge] (Set)- Kleiner Heiltrank Hold Amount <>Change Var: Var[Item-Menge] (+)- Großer Heiltrank Hold Amount <>Change Var: Var[Item-Menge] (+)- Magietrank Hold Amount <>Change Var: Var[Item-Menge] (+)- Regenerationstrank Hold Amount <>If Var (Item-Menge) 0 <>Play SE: Cansel1 <> :Else Case <>Call Event: Item-Display <>Loop <>Enter Password: Var[PressedButton] <>If Var (PressedButton) 2 (<=) <>Change Var: Var[SelectedItem] (-)- 1 <>Call Event: Item-Display <> :Else Case <>If Var (PressedButton) 4 (<=) <>Change Var: Var[SelectedItem] (+)- 1 <>Call Event: Item-Display <> :Else Case <>If Var (PressedButton) 5 <>Call Event: Item-Use <>Erase Picture: ID: 17 <>Break <> :Else Case <>If Var (PressedButton) 6 <>Erase Picture: ID: 17 <>Break <> :End Case <> :End Case <> :End Case <> :End Case <> :End Loop <> :End Case <>
Im deutschem Maker (V1.10c)
<>Var. ändern:[SelectedItem]Wert, 0 <>Var. ändern:[Item-Menge]Wert, Kleiner HeiltrankAusgerüs <>Var. ändern:[Item-Menge]+, Großer HeiltrankAusgerüs <>Var. ändern:[Item-Menge]+, MagietrankAusgerüs <>Var. ändern:[Item-Menge]+, RegenerationstrankAusgerüs <>Bedingung:Varbl[Item-Menge]-0 <>Soundeffekt: Cansel1 <> :Ansonsten <>Ereignis aufrufen: Item-Display <>Schleife <>Tasten abfragen:[PressedButton] <>Bedingung:Varbl[PressedButton]- 2< <>Var. ändern:[SelectedItem]-, 1 <>Ereignis aufrufen: Item-Display <> :Ansonsten <>Bedingung:Varbl[PressedButton]- 4> <>Var. ändern:[SelectedItem]+, 1 <>Ereignis aufrufen: Item-Display <> :Ansonsten <>Bedingung:Varbl[PressedButton]- 5 <>Ereignis aufrufen: Item-Use <>Bild löschen: 17 <>Schleife stoppen <> :Ansonsten <>Bedingung:Varbl[PressedButton]- 6 <>Bild löschen: 17 <>Schleife stoppen <> :End-Fall <> :End-Fall <> :End-Fall <> :End-Fall <> :Schleifenende <> :End-Fall <>

###### Vorüberlegungen IV - Der Gebrauch von Items

Zum Abschluss dieses Kapitels geht es noch darum, den Gebrauch von Items zu ermöglichen. In unserem Beispiel haben wir uns auf vier Items beschränkt: Einen kleinen Heiltrank, einen großen Heiltrank, einen Magietrank und einen Regenerationstrank. Sie sollen den Hauptchara heilen bzw. seine Magiekraft wiederherstellen.
Die Items können aber auch vielfältige Eigenschaften haben. Beispielsweise können Fertigkeiten in Form von Schriftrollen im Inventar liegen und etwas von der Magiekraft kosten, wenn sie eingesetzt werden sollen. Ihr habt hier viele Möglichkeiten. In unserem Beispiel werden wir uns jedoch darauf beschränken, heilende Gegenstände im Inventar benutzbar zu machen. Am Beispiel des kleinen Heiltranks soll dies nun verdeutlicht werden.

| Begebt euch in das Common Event/Häufig benötigte Ereignis, das ihr "Item-Use" genannt habt. Beginnt hier, indem ihr eine Bedingung nebst Nein-Fall anlegt, die prüft, ob der Wert der Variable "SelectedItem" genau dem Wert 0 entspricht (es geht in unserem Beispiel nun um den kleinen Heiltrank.
| Im Ja-Fall der Bedingung sollen nun 10 HP des Hauptcharakters wiederhergestellt werden. Danach verschwindet ein kleiner Heiltrank aus dem Inventar. Den Abschluss macht die Darstellung einer Kampfanimation für die Heilung des Hauptcharas. Die erste RTP-Heilanimation soll hierfür genügen. Wichtig ist, dass gewartet wird, bis die Kampfanimation abgespielt wurde.
| Im Nein-Fall wiederholt ihr die beiden vorangegangen Punkte für weitere Items, die euer Hauptchara benutzen kann. In unserem Beispiel wären das noch der große Heiltrank (1), der Magietrank (2) und der Regenerationstrank (3).
| Scrollt nun an das Ende des angelegten Makercodes. Hier soll nun zum Abschluss das Common Event/Häufig benötigte Ereignis aufgerufen werden, das ihr "Startaufstellung" genannt habt.

###### Darstellung der Stichpunkte in MML

Item-Use-Ereignis
[Bedingung][Variable][SelectedItem][gleich][0]
| [Ja-Fall]
| [Alex][<-- [HP][+][10] [Item][-][Item [Kleiner Heiltrank]][Anzahl [1]] [Kampfanimation zeigen][Animationsname [Heilmagie A]][Ziel [Held]][Warten bis fertig]
| [Nein-Fall]
| [Bedingung][Variable][SelectedItem][gleich][1]
| [Ja-Fall]
| [Alex][<-- [HP][+][20] [Item][-][Item [Großer Heiltrank]][Anzahl [1]] [Kampfanimation zeigen][Animationsname [Heilmagie B]][Ziel [Held]][Warten bis fertig]
| [Nein-Fall]
| [Bedingung][Variable][SelectedItem][gleich][2]
| [Ja-Fall]
| [Alex][<-- [MP][+][5] [Item][-][Item [Magietrank]][Anzahl [1]] [Kampfanimation zeigen][Animationsname [Zustandsheilung A]][Ziel [Held]][Warten bis fertig]
| [Nein-Fall]
| [Bedingung][Variable][SelectedItem][gleich][3]
| [Ja-Fall]
| [Alex][<-- [HP][+][999] [Alex][<-- [MP][+][999] [Item][-][Item [Regenerationstrank]][Anzahl [1]] [Kampfanimation zeigen][Animationsname [Wiederg. Dämon A]][Ziel [Held]][Warten bis fertig]
[Ereignisaufruf][Datenbankereignis [Startaufstellung]]

###### Der erstellte Maker-Code

Im englischem Maker
<>If Var (SelectedItem) 0 <>Change HP: Alex's HP 10 (Add) <>Chng Item Count: (Kleiner Heiltrank) 1 (Rem) <>Show Battle Animation: Heilmagie A-Hero (W) <> :Else Case <>If Var (SelectedItem) 1 <>Change HP: Alex's HP 20 (Add) <>Chng Item Count: (Großer Heiltrank) 1 (Rem) <>Show Battle Animation: Heilmagie B-Hero (W) <> :Else Case <>If Var (SelectedItem) 2 <>Change HP: Alex's MP 5 (Add) <>Chng Item Count: (Magietrank) 1 (Rem) <>Show Battle Animation: Zustandsheilung A-Hero (W) <> :Else Case <>If Var (SelectedItem) 3 <>Change HP: Alex's HP 999 (Add) <>Change HP: Alex's MP 999 (Add) <>Chng Item Count: (Regenerationstrank) 1 (Rem) <>Show Battle Animation: Wiederg. Dämon A-Hero (W) <> :End Case <> :End Case <> :End Case <> :End Case <>Call Event: Startaufstellung <>
Im deutschem Maker (V1.10c)
<>Bedingung:Varbl[SelectedItem]-0 <>LP ändern:AlexLP um 10 erhöhen <>+/- Item: Kleiner Heiltrank -> 1 verm. <>Kampfanimation: Heilmagie A, Held (W) <> :Ansonsten <>Bedingung:Varbl[SelectedItem]-1 <>LP ändern:AlexLP um 20 erhöhen <>+/- Item: Großer Heiltrank -> 1 verm. <>Kampfanimation: Heilmagie B, Held (W) <> :Ansonsten <>Bedingung:Varbl[SelectedItem]-2 <>MP ändern:AlexMP um 5 erhöhen <>+/- Item: Magietrank -> 1 verm. <>Kampfanimation: Zustandsheilung A, Held (W) <> :Ansonsten <>Bedingung:Varbl[SelectedItem]-3 <>LP ändern:AlexLP um 999 erhöhen <>MP ändern:AlexMP um 999 erhöhen <>+/- Item: Regenerationstrank -> 1 verm. <>Kampfanimation: Wiederg. Dämon A, Held (W) <> :End-Fall <> :End-Fall <> :End-Fall <> :End-Fall <>Ereignis aufrufen: Startaufstellung <>

###### Schlusswort zu diesem Kapitel

In eurem AKS habt ihr nun die Möglichkeit geschaffen, dass euer Hauptcharakter Items aus seinem Inventar auswählen und verwenden kann. Auch lässt sich das Inventar nach Belieben erweitern, je nach dem, was ihr euren Hauptcharakter ins Inventar packen lasst. Falls euch die Grafiken aus dem am Anfang genanntem Paket [aks_items.zip] nicht zusagen, könnt ihr auch eigene Grafiken verwenden. Ihr müsst nur ein wenig probieren, bis ihr die für euch idealen Koordinaten für die Grafikdarstellung habt.