| Zauber und Items darstellen

###### Vorüberlegungen I - Die Wahl der Fertigkeit/der Items

Etwas tolles ist es, dass für die Auswahl der Fertigkeiten bzw. der Iemsvom Prinzip her ein und der selbe Code zum Einsatz kommt. Von daher müssen wir lediglich eine Unterscheidung treffen, ob hier Items oder Skills ausgewählt werden und dann dafür sorgen, dass aus den verfügbaren fortlaufend das nächste verfügbare angezeigt wird.
Die Unterscheidung hat indirekt schon die Variable "sks_cursorMultiplyer" für uns vorbereitet, in der eine Zahl für den entsprechenden Menüpunkt gespeichert wird (0 = Angriff mit der Waffe, 2 = Skilleinsatz, 3 = Einsatz von Gegenständen).

| Ganz zu Anfang begebt ihr euch in das Ereignis "Heldenskills", das ihr ein Kapitel zuvor erstellt habt, und fügt nun nach der zweiten Ereignis-Seite 6 weitere hinzu. Ereignis-Seite 3 soll hier die Auswahl zwischen Skills und Items vornehmen, Seite 4 für die entsprechende Darstellung sorgen, Seite 5 den Waffenangriff, Seite 6 den Angriff mit Fertigkeiten, Seite 7 den Einsatz von Gegenständen und Seite 8 das, was nach dem Fertigkeiteneinsatz geschehen soll, regeln. Begebt euch dann auf die dritte Ereignis-Seite des Ereignisses.
| Hier beginnt alles damit, dass ihr eine neue, freie Variable "Skill-/Itemwahlknopf" nennt und sie auf 0 setzt. Danach soll die vierte Seite des aktuell bearbeiteten Ereignisses aufgerufen werden.
| Direkt danach soll eine Endlos-Schleife folgen.
| Dieser soll eine Bedingung folgen, die prüft, ob ein neuer, freier Schalter - nennt ihn "Nothing" auf AN steht. Im Ja-Fall soll ein Sound für einen Abbruch (schließlich hat es dann keine Fertigkeiten bzw. Items) und ein Schleifenausbruch erfolgen.
| Hiernach folgt eine Tastenabfrage den Wert sämtlicher Tasten (Cursortasten, ENTER und ESC) in eine neue, freie Variable schreibt, die ihr "Skill-/Itemwahlknopf" nennt.
| Nach der Tastenabfrage soll eine Bedingung prüfen, ob der Wert der Variable "Skill-/Itemwahlknopf" kleiner oder gleich dem Wert "2" ist (Die Taste "runter" und "links" wurde gedrückt). Im Ja-Fall der Bedingung soll eine neue, freie Variable "Skill/Itemauswahl" um 1 verringert und dann die vierte Seite dieses Ereignisses aufgerufen werden.
| Im Nein-Fall soll eine neue Bedingung prüfen, ob der Wert der Variable "Skill-/Itemwahlknopf" kleiner oder gleich 4 ist (Die Tasten "rechts" und "hoch" wurden gedrückt). Im Ja-Fall soll der Wert der Variable "Skill/Itemauswahl" um 1 erhöht und die vierte Seite dieses Ereignisses aufgerufen werden.
| Im Nein-Fall dieser Bedingung wiederum soll eine neue Prüfen, ob der Wert der Variable "Skill-/Itemwahlknopf" genau "5" ist. Im Ja-Fall findet die Unterscheidung statt, ob es sich um den Einsatz von Fertigkeiten oder Items handelt.
| Im Ja-Fall soll eine Bedingung nun prüfen, ob der Wert der Variable "sks_cursorMultiplyer" genau 2 ist. Im Ja-Fall soll die Seite 6 des Ereignisses aufgerufen werden (Skilleinsatz)
| Im Nein-Fall der eben angelegten Bedingung soll eine neue (ohne Nein-Fall) prüfen, ob der Wert der Variable "sks-cursorMultiplyer" genau 3 ist und im Ja-Fall die siebte Seite des Ereignisses aufrufen.
| Im Nein-Fall eine neue Bedingung prüfen, ob der Wert der Variable genau "6" entspricht. Im Ja-Fall soll zuerst das Bild mit der der ID 20 gelöscht werden und dann ein Schleifenausbruch erfolgen.
| Den Abschluss macht in der letzten Zeile des Maker-Codes eine Funktion, die den SChalter "Nothing" auf AUS stellt. Grund: Wenn aus Skills bzw. Items ausgewählt werden soll kann es sein, dass der betreffende Held bzw. die Heldentruppe nicht über Skills bzw. Items verfügt. Dann soll die Auswahl mit einen "Piepton" abgebrochen und zur Hauptauswahl zurückgekehrt werden, ohne dass sonst etwas passiert. Also soll der Held nach wie vor am Zug sein.

###### Darstellung der Stichpunkte in MML

Heldenskills-Ereignis
[Ereignisseite 1][Push Key] /* * Hier befindet sich der Code für die Cursor-Steuerung */
[Ereignisseite 2][Push Key] /* * Hier befindet sich der Code für die Cursor-Darstellung */
[Ereignisseite 3][Push Key] [Variable [Skill/ItemAuswahl]][<-- [Wert setzen][0]] [Ereignis aufrufen][Kartenereignis [Heldenskills]][Ereignisseite [4]] [Schleife Beginn]
| [Bedingung][Schalter][Nothing][AN]
| [Ja-Fall]
| [Soundeffekt abspielen][Cansel2] [Schleifenausbruch]
[Variable [Skill/Itemwahlknopf]][<-- [ENTER, runter, links, rechts, hoch, ESC]] [Bedingung][Variable][Skill/Itemwahlknopf][kleiner oder gleich][2]
| [Ja-Fall]
| [Variable [Skill/ItemAuswahl]][<-- [-][1]] [Ereignis aufrufen][Kartenereignis [Heldenskills]][Ereignisseite [4]]
| [Nein-Fall]
| [Bedingung][Variable][Skill/Itemwahlknopf][kleiner oder gleich][4]
| [Ja-Fall]
| [Variable [Skill/ItemAuswahl]][<-- [+][1]] [Ereignis aufrufen][Kartenereignis [Heldenskills]][Ereignisseite [4]]
| [Nein-Fall]
| [Bedingung][Variable][Skill/Itemwahlknopf][gleich][5]
| [Ja-Fall]
| [Bedingung][Variable][sks_cursorMultiplyer][gleich][2]
| [Ja-Fall]
| [Ereignis aufrufen][Kartenereignis [Heldenskills]][Ereignisseite [6]]
| [Nein-Fall]
| [Bedingung][Variable][sks_cursorMultiplyer][gleich][3]
| [Ja-Fall]
| [Ereignis aufrufen][Kartenereignis [Heldenskills]][Ereignisseite [7]]
| [Nein-Fall]
| [Bedingung][Variable][Skill/Itemwahlknopf][gleich][6]
| [Ja-Fall]
| [Picture weg][20] [Schleifenausbruch]
[Schalter [Nothing]][<-- [AUS]]
[Ereignisseite 4][Push Key]
[Ereignisseite 5][Push Key]
[Ereignisseite 6][Push Key]
[Ereignisseite 7][Push Key]

###### Der erstellte Maker-Code auf Seite 3 des Ereignisses "Heldenskills"

Im englischem Maker
<>Change Var: Var[fff1:Skill/Itemauswahl] (Set)- 0 <>Call Event: Heldenskills-PG [4] <>Loop <>If Switch(ffff:Nothing) is ON <>Play SE: Cansel2 <>Break <> :End Case <>Enter Password: Var[fff2:Skill/Itemwahlknopf] <>If Var (fff2:Skill/Itemwahlknopf) 2(<=) <>Change Var: Var[fff1;Skill/ItemAuswahl] (-)- 1 <>Call Event: Heldenskills-PG [4] <> :Else Case <>If Var (fff2:Skill/Itemwahlknopf) 4(<=) <>Change Var: Var[fff1;Skill/ItemAuswahl] (+)- 1 <>Call Event: Heldenskills-PG [4] <> :Else Case <>If Var (fff2:Skill/Itemwahlknopf) 5 <>If Var (fff2:sks_cursorMultiplyer) 2 <>Call Event: HeldenskillsPG[6] <> :Else Case <>If Var (xxxx:sks_cursorMultiplyer) 3 <>Call Event: HeldenskillsPG[7] <> :End Case <> :End Case <> :Else Case <>If Var (xxxx:Skill/Itemwahlknopf) 6 <>Erase Picture: ID: 20 <>Break <> :End Case <> :End Case <> :End Case <> :End Case <> :End Loop <>Change Switch: Var[ffff:Nothing] Switch OFF <>
Im deutschem Maker (V1.10c)
<>Var. ändern:[fff1: Skill/Itemauswahl]Wert, 0 <>Ereignis aufrufen: Heldenskills[4] <>Schleife <>Bedingung:Schalter[ffff:Nothing]- AN <>Soundeffekt: Cansel2 <>Schleife stoppen <> :End-Fall <>Tasten abfragen:[fff2: Skill/Itemwahlknopf] <>Bedingung: Varbl[fff2: Skill/Itemwahlknopf]- 2 < <>Var. ändern:[fff2: Skill/Itemauswahl] -, 1 <>Ereignis aufrufen: Heldenskills[4] <> :Ansonsten <>Bedingung: Varbl[fff2: Skill/Itemwahlknopf]- 4 < <>Var. ändern:[fff2: Skill/Itemauswahl] +, 1 <>Ereignis aufrufen: Heldenskills[4] <> :Ansonsten <>Bedingung: Varbl[fff2: Skill/Itemwahlknopf]- 5 <>Bedingung: Varbl[xxxx: sks_cursorMultiplyer] 2 <>Ereignis aufrufen: Heldenskills[6] <> :Ansonsten <>Bedingung: Varbl[xxxx: sks_cursorMultiplyer] 3 <>Ereignis aufrufen: Heldenskills[7] <> :End-Fall <> :End-Fall <> :Ansonsten <>Bedingung: Varbl[fff2: Skill/Itemwahlknopf]- 6 <>Bild löschen: 20 <>Schleife stoppen <> :End-Fall <> :End-Fall <> :End-Fall <> :End-Fall <> :Schleifenende <>Schalter ändern:[ffff: Nothing]-[AUS] <>

###### Vorüberlegungen II - Einleiten der Fertigkeiten- und Skillauswahl sowie des Waffenangriffs

Das Ereignis "Heldenskills" hat nun 7 Ereignis-Seiten, die den gesamten Einsatz von Angriffen, Fertigkeiten und Items managen werden. Diese müssen nur noch im Ereignis, das ihr "Hero-Control" genannt habt, aufgerufen werden. Genauer gesagt auf der fünften Ereignis-Seite. in nachfolgendem Code-Beispiel der fünften Seite des Ereignisses "Hero-Control" ist fett hervorgehoben, welche Ereignis-Seite wo aufgerufen werden soll.

###### Der erstellte Maker-Code auf Seite 5 des Ereignisses "Hero-Control"

Im englischem Maker
<>If Var(lll1: sks_cursorMultiplyer) 0 <>Note: Angriff <>Call Event: HeldenskillsPG[5] <> :Else Case <>If Var(lll1: sks_cursorMultiplyer) 1 <>Note: Abwehr <> :Else Case <>If Var(lll1: sks_cursorMultiplyer) 2 <>Note: Zaubern <><>Call Event: HeldenskillsPG[3] <> :Else Case <>If Var(lll1: sks_cursorMultiplyer) 3 <>Note: Items <>Call Event: HeldenskillsPG[3] <> :Else Case <>If Var(lll1: sks_cursorMultiplyer) 4 <>Note: Flucht <> :End Case <> :End Case <> :End Case <> :End Case <> :End Case <>
Im deutschem Maker (V1.10c)
<>Bedingung:Varbl[lll1:sks_cursorMultiplyer]-0 <>Notiz: Angriff <>Ereignis aufrufen: Heldenskills[5] <> :Ansonsten <>Bedingung:Varbl[lll1:sks_cursorMultiplyer]-1 <>Notiz: Abwehr <> :Ansonsten <>Bedingung:Varbl[lll1:sks_cursorMultiplyer]-2 <>Notiz: Zaubern <>Ereignis aufrufen: Heldenskills[3] <> :Ansonsten <>Bedingung:Varbl[lll1:sks_cursorMultiplyer]-3 <>Notiz: Items <>Ereignis aufrufen: Heldenskills[3] <> :Ansonsten <>Bedingung:Varbl[lll1:sks_cursorMultiplyer]-4 <>Notiz: Flucht <> :End-Fall <> :End-Fall <> :End-Fall <> :End-Fall <> :End-Fall <>

###### Vorüberlegungen III - Hat es Items/Skills?

Vor der Darstellung der Namen der Skills und Items muss geprüft werden, ob die Heldentruppe überhaupt Skills beherrscht bzw. Items mit sich führt. Hier kommt wieder das zum tragen, was ganz am Anfang dieses Kapitels erwähnt wurde:
Die Unterscheidung hat indirekt schon die Variable "sks_cursorMultiplyer" für uns vorbereitet, in der eine Zahl für den entsprechenden Menüpunkt gespeichert wird (2 = Skilleinsatz, 3 = Einsatz von Gegenständen).
Der einfachste weg ist, wenn gefragt wird, ob es jedes einzelne Item hat und die Anzal in eine Variable gespeichert wird. Ist diese anders als 0, kann mit der Bilderdarstellung losgelegt werden, andernfalls soll ein Peipton sagen, dass es keine Items hat.

| Begebt euch hierfür auf die vierte Seite des Ereignisses "Heldenskills" und legt als aller erstes zwei neue Variablen an, die ihr "Skills/Items" und "Skills - Held" nennt und beide auf 0 setzt.
| Legt eine neue Bedingung an, die prüft, ob der Wert der Variable "sks_cursorMultiplyer" genau 3 ist. Einen Nein-Fall brauchen wir hier.
| Im Ja-Fall der Bedingung soll eine weitere Bedingung ohne Nein-Fall folgen, die prüft, ob die Heldentruppe das erste Item (in unserem Beispiel "Kleiner Heiltrank") hat. Im Ja-Fall soll die Anzahl des ersten Items (Kleiner Heiltrank) dem Wert der Variable "Skills/Items" hinzugezählt werden.
| Wiederholt direkt unter der eben angelegten Bedingung den vorangegangenen Punkt für jedes weitere Item, das im Kampf einsatzfähig sein soll.
| Im Nein-Fall folgt eine neue Bedingung, die prüfen soll, ob der Wert der Variable "sks_cursorMultiplyer" dem Wert "2" entspricht. Hier braucht ihr keinen Nein-Fall mehr.
| Eine neue Bedingung soll nun prüfen, ob der Wert der Variable "Chara-Move-ID" genau dem Wert 1 entspricht (Held 1 ist am Zug). Ein Nein-Fall ist hier wieder nötig.
| Im Ja-Fall soll in die Variable "Skills - Held" der Wert der Variable geschrieben werden, die ihr "Held #1" genannt habt.
| Im Nein-Fall soll eine neue Bedingung prüfen, ob der Wert der Variable "Chara-Move-ID" dem Wert 2 entspricht und im Ja-Fall der Wert der Variable "Held #2" in die Variable "Skills - Held" geschrieben werden. Führt im Nein-Fall das Schema bis "Held #4" weiter fort. Die letzte Bedingung braucht hier keinen Nein-Fall mehr.
| Direkt nach dem End-Fall der Bedingung, die prüft, ob der Wert der Variable "Chara-Move-ID" dem Wert 1 entspricht, geht es nun weiter. Hier soll eine neue Bedingung prüfen, ob der Wert der Variable "Skills - Held" genau dem Wert "1" entspricht (Der Held in der Datenbank mit der Nummer 1 ist hier gemeint, nicht der Held 1 im Kampfsystem) Hier ist ein Nein-Fall nötig.
| Im Ja-Fall der Bedingung soll nun eine neue Bedingung ohne Nein-Fall folgen, die prüfen soll, ob der Held 1 (in unserem Beispiel Alex) die Fertigkeit "Feuerball" erlernt hat. In deren Ja-Fall wiederum soll zum Wert der Variable "Skills/Items" die Zahl "1" dazugezählt und ein neuer Schalter mit dem Namen der Fertigkeit AN geschaltet werden.
| Unter dem End-Fall der eben angelegten Bedingung wiederholt ihr den vorangegangenen Punkt für jede Fertigkeit, die euer Held 1 (Alex) jemals erlernen und (!) im Kampf einsetzen können soll.
| Wiederholt die vorangegangenen drei Punkte für jeden weiteren Helden, der sich jemals in der Heldentruppe befinden soll. Verwendet für die Fertigkeiten die gleichen Schalter wie für den Helden davor (Wichtig)
| Scrollt nun an das Ende des Maker-Codes auf dieser Ereignis-Seite und legt eine neue Bedingung an, die Prüfen soll, ob der Wert der Variable "Skills/Items" genau dem Wert "0" entspricht (Es hat also keine Items oder Skills). Im Ja-Fall dieser Bedingung soll der Schalter "Nothing" auf AN gestellt werden, ein Nein-Fall ist hier nicht nötig.

###### Darstellung der Stichpunkte in MML

Heldenskills-Ereignis
[Ereignisseite 1][Push Key] /* * Hier befindet sich der Code für die Cursor-Steuerung */
[Ereignisseite 2][Push Key] /* * Hier befindet sich der Code für die Cursor-Darstellung */
[Ereignisseite 3][Push Key] /* * Hier ist der Code zur Steuerung der Fertigkeiten-/Itemwahl */
[Ereignisseite 4][Push Key] [Variable [Skills/Items]][<-- [Wert setzen][0]] [Variable [Skills-Held]][<-- [Wert setzen][0]] [Bedingung][Variable][sks_cursorMultiplyer][gleich][3]
| [Ja-Fall]
| [Bedingung][Item][Kleiner Heiltrank][Haben]
| [Ja-Fall]
| [Variable [Skills/Items]][<-- [+][Item [Kleiner Heiltrank] Anzahl Besitz]]
[Bedingung][Item][Großer Heiltrank][Haben]
| [Ja-Fall]
| [Variable [Skills/Items]][<-- [+][Item [Großer Heiltrank] Anzahl Besitz]]
[Bedingung][Item][Magietrank][Haben]
| [Ja-Fall]
| [Variable [Skills/Items]][<-- [+][Item [Magietrank] Anzahl Besitz]]
[Bedingung][Item][Regenerationstrank][Haben]
| [Ja-Fall]
| [Variable [Skills/Items]][<-- [+][Item [Regenerationstrank] Anzahl Besitz]]
[Bedingung][Item][Wiederbelebung][Haben]
| [Ja-Fall]
| [Variable [Skills/Items]][<-- [+][Item [Wiederbelebung] Anzahl Besitz]]
[Bedingung][Item][Gegengift][Haben]
| [Ja-Fall]
| [Variable [Skills/Items]][<-- [+][Item [Gegengift] Anzahl Besitz]]
| [Nein-Fall]
| [Bedingung][Variable][sks_cursorMultiplyer][gleich][2]
| [Ja-Fall]
| [Bedingung][Variable][Chara-Move-ID][gleich][1]
| [Ja-Fall]
| [Variable [Skills-Held]][<-- [Wert setzen][Variable [Held #1] übergibt Wert]
| [Nein-Fall]
| [Bedingung][Variable][Chara-Move-ID][gleich][2]
| [Ja-Fall]
| [Variable [Skills-Held]][<-- [Wert setzen][Variable [Held #2] übergibt Wert]
| [Nein-Fall]
| [Bedingung][Variable][Chara-Move-ID][gleich][3]
| [Ja-Fall]
| [Variable [Skills-Held]][<-- [Wert setzen][Variable [Held #3] übergibt Wert]
| [Nein-Fall]
| [Bedingung][Variable][Chara-Move-ID][gleich][4]
| [Ja-Fall]
| [Variable [Skills-Held]][<-- [Wert setzen][Variable [Held #4] übergibt Wert]
[Bedingung][Variable][Skills-Held][gleich][1]
| [Ja-Fall]
| [Bedingung][Held][Alex][Feuerball erlernt]
| [Ja-Fall]
| [Variable [Skills/Items]][<-- [+][1]] [Schalter [Feuerball]][<-- [AN]]
[Bedingung][Held][Alex][Frost erlernt]
| [Ja-Fall]
| [Variable [Skills/Items]][<-- [+][1]] [Schalter [Frost]][<-- [AN]]
[Bedingung][Held][Alex][Gewitter erlernt]
| [Ja-Fall]
| [Variable [Skills/Items]][<-- [+][1]] [Schalter [Gewitter]][<-- [AN]]
[Bedingung][Held][Alex][Erdschlag erlernt]
| [Ja-Fall]
| [Variable [Skills/Items]][<-- [+][1]] [Schalter [Erdschlag]][<-- [AN]]
[Bedingung][Held][Alex][Heilung erlernt]
| [Ja-Fall]
| [Variable [Skills/Items]][<-- [+][1]] [Schalter [Heilung]][<-- [AN]]
[Bedingung][Held][Alex][Gegenstand stehlen erlernt]
| [Ja-Fall]
| [Variable [Skills/Items]][<-- [+][1]] [Schalter [Item stehlen]][<-- [AN]]
[Bedingung][Held][Alex][Geld stehlen erlernt]
| [Ja-Fall]
| [Variable [Skills/Items]][<-- [+][1]] [Schalter [Geld stehlen]][<-- [AN]]
| [Nein-Fall]
| [Bedingung][Variable][Skills-Held][gleich][2]
| [Ja-Fall]
| [Bedingung][Held][Annie][Feuerball erlernt]
| [Ja-Fall]
| [Variable [Skills/Items]][<-- [+][1]] [Schalter [Feuerball]][<-- [AN]]
[Bedingung][Held][Annie][Frost erlernt]
| [Ja-Fall]
| [Variable [Skills/Items]][<-- [+][1]] [Schalter [Frost]][<-- [AN]]
[Bedingung][Held][Annie][Gewitter erlernt]
| [Ja-Fall]
| [Variable [Skills/Items]][<-- [+][1]] [Schalter [Gewitter]][<-- [AN]]
[Bedingung][Held][Annie][Erdschlag erlernt]
| [Ja-Fall]
| [Variable [Skills/Items]][<-- [+][1]] [Schalter [Erdschlag]][<-- [AN]]
[Bedingung][Held][Annie][Heilung erlernt]
| [Ja-Fall]
| [Variable [Skills/Items]][<-- [+][1]] [Schalter [Heilung]][<-- [AN]]
[Bedingung][Held][Annie][Gegenstand stehlen erlernt]
| [Ja-Fall]
| [Variable [Skills/Items]][<-- [+][1]] [Schalter [Item stehlen]][<-- [AN]]
[Bedingung][Held][Annie][Geld stehlen erlernt]
| [Ja-Fall]
| [Variable [Skills/Items]][<-- [+][1]] [Schalter [Geld stehlen]][<-- [AN]]
[Bedingung][Variable][Skills/Items][gleich][0]
| [Ja-Fall]
| [Schalter [Nothing]][<-- [AN]]
[Ereignisseite 5][Push Key]
[Ereignisseite 6][Push Key]
[Ereignisseite 7][Push Key]

###### Der erstellte Maker-Code auf Seite 4 des Ereignisses "Heldenskills"

Im englischem Maker
<>Change Var: Var[fff3: Skills/Items] (Set)- 0 <>Change Var: Var[fff4: Skills-Held] (Set)- 0 <>If Var(sks_cursorMultiplyer) 3 <>If Kleiner Heiltrank (Have) <>Change Var: Var[fff3: Skills/Items] (+)- Kleiner Heiltrank Hold Amount <> :End Case <>If Großer Heiltrank (Have) <>Change Var: Var[fff3: Skills/Items] (+)- Großer Heiltrank Hold Amount <> :End Case <>If Magietrank (Have) <>Change Var: Var[fff3: Skills/Items] (+)- Magietrank Hold Amount <> :End Case <>If Regenerationstrank (Have) <>Change Var: Var[fff3: Skills/Items] (+)- Regenerationstrank Hold Amount <> :End Case <>If Wiederbelebung (Have) <>Change Var: Var[fff3: Skills/Items] (+)- Wiederbelebung Hold Amount <> :End Case <>If Gegengift (Have) <>Change Var: Var[fff3: Skills/Items] (+)- Gegengift Hold Amount <> :End Case <> :Else Case <>If Var(sks_cursorMultiplyer) 2 <>If Var (xxxx: Chara-Move-ID) 1 <>Change Var: Var[fff4: Skills-Held] (Set)- Var[Held #1] <> :Else Case <>If Var (xxxx: Chara-Move-ID) 2 <>Change Var: Var[fff4: Skills-Held] (Set)- Var[Held #2] <> :Else Case <>If Var (xxxx: Chara-Move-ID) 3 <>Change Var: Var[fff4: Skills-Held] (Set)- Var[Held #3] <> :Else Case <>If Var (xxxx: Chara-Move-ID) 4 <>Change Var: Var[fff4: Skills-Held] (Set)- Var[Held #4] <> :End Case <> :End Case <> :End Case <> :End Case <>If Var (fff4: Skills-Held) 1 <>If Alex ==> Feuerball has Learned <>Change Var: Var[fff3:Skills/Items] (+)- 1 <>Change Switch: Var[ff01:Feuerball] Switch ON <> :End Case <>If Alex ==> Frost has Learned <>Change Var: Var[fff3:Skills/Items] (+)- 1 <>Change Switch: Var[ff02:Frost] Switch ON <> :End Case <>If Alex ==> Gewitter has Learned <>Change Var: Var[fff3:Skills/Items] (+)- 1 <>Change Switch: Var[ff03:Gewitter] Switch ON <> :End Case <>If Alex ==> Erdschlag has Learned <>Change Var: Var[fff3:Skills/Items] (+)- 1 <>Change Switch: Var[ff04:Erdschlag] Switch ON <> :End Case <>If Alex ==> Heilung has Learned <>Change Var: Var[fff3:Skills/Items] (+)- 1 <>Change Switch: Var[ff05:Heilung] Switch ON <> :End Case <>If Alex ==> Gegenstand stehlen has Learned <>Change Var: Var[fff3:Skills/Items] (+)- 1 <>Change Switch: Var[ff06:Item stehlen] Switch ON <> :End Case <>If Alex ==> Geld stehlen has Learned <>Change Var: Var[fff3:Skills/Items] (+)- 1 <>Change Switch: Var[ff07:Geld stehlen] Switch ON <> :End Case <> :Else Case <>If Var (fff4: Skills-Held) 2 <>If Annie ==> Feuerball has Learned <>Change Var: Var[fff3:Skills/Items] (+)- 1 <>Change Switch: Var[ff01:Feuerball] Switch ON <> :End Case <>If Annie ==> Frost has Learned <>Change Var: Var[fff3:Skills/Items] (+)- 1 <>Change Switch: Var[ff02:Frost] Switch ON <> :End Case <>If Annie ==> Gewitter has Learned <>Change Var: Var[fff3:Skills/Items] (+)- 1 <>Change Switch: Var[ff03:Gewitter] Switch ON <> :End Case <>If Annie ==> Erdschlag has Learned <>Change Var: Var[fff3:Skills/Items] (+)- 1 <>Change Switch: Var[ff04:Erdschlag] Switch ON <> :End Case <>If Annie ==> Heilung has Learned <>Change Var: Var[fff3:Skills/Items] (+)- 1 <>Change Switch: Var[ff05:Heilung] Switch ON <> :End Case <>If Annie ==> Gegenstand stehlen has Learned <>Change Var: Var[fff3:Skills/Items] (+)- 1 <>Change Switch: Var[ff06:Item stehlen] Switch ON <> :End Case <>If Annie ==> Geld stehlen has Learned <>Change Var: Var[fff3:Skills/Items] (+)- 1 <>Change Switch: Var[ff07:Geld stehlen] Switch ON <> :End Case <> :End Case <> :End Case <> :End Case <> :End Case <>If Var(fff3:Skills/Items) 0 <>Change Switch: Var[ffff: Nothing] Switch ON <> :End Case <>
Im deutschem Maker (V1.10c)
<>Var. ändern:[fff3:Skills/Items]Wert, 0 <>Var. ändern:[fff4:Skills-Held]Wert, 0 <>Bedingung:Varbl[sks_cursorMultiplyer]-3 <>Bedingung:Kleiner Heiltrank im Besitz <>Var. ändern:[fff3:Skills/Items]+, Kleiner HeiltrankAusgerüs <> :End-Fall <>Bedingung:Großer Heiltrank im Besitz <>Var. ändern:[fff3:Skills/Items]+, Großer HeiltrankAusgerüs <> :End-Fall <>Bedingung:Magietrank im Besitz <>Var. ändern:[fff3:Skills/Items]+, MagietrankAusgerüs <> :End-Fall <>Bedingung:Regenerationstrank im Besitz <>Var. ändern:[fff3:Skills/Items]+, RegenerationstrankAusgerüs <> :End-Fall <>Bedingung:Wiederbelebung im Besitz <>Var. ändern:[fff3:Skills/Items]+, WiederbelebungAusgerüs <> :End-Fall <>Bedingung:Gegengift im Besitz <>Var. ändern:[fff3:Skills/Items]+, GegengiftAusgerüs <> :End-Fall <> :Ansonsten <>Bedingung:Varbl[sks_cursorMultiplyer]-2 <>Bedingung:Varbl[xxxx:Chara-Move-ID]-1 <>Var. ändern[fff4:Skills-Held]Wert, Var.[Held #1]Wert <> :Ansonsten <>Bedingung:Varbl[xxxx:Chara-Move-ID]-2 <>Var. ändern[fff4:Skills-Held]Wert, Var.[Held #2]Wert <> :Ansonsten <>Bedingung:Varbl[xxxx:Chara-Move-ID]-3 <>Var. ändern[fff4:Skills-Held]Wert, Var.[Held #3]Wert <> :Ansonsten <>Bedingung:Varbl[xxxx:Chara-Move-ID]-4 <>Var. ändern[fff4:Skills-Held]Wert, Var.[Held #4]Wert <> :End-Fall <> :End-Fall <> :End-Fall <> :End-Fall <>Bedingung:Varbl[fff4:Skills-Held]-1 <>Bedingung:Alex-Feuerball gelernt <>Var. ändern:[fff3:Skills/Items]+, 1 <>Schalter ändern:[ff01: Feuerball]-[AN] <> :End-Fall <>Bedingung:Alex-Frost gelernt <>Var. ändern:[fff3:Skills/Items]+, 1 <>Schalter ändern:[ff02: Frost]-[AN] <> :End-Fall <>Bedingung:Alex-Gewitter gelernt <>Var. ändern:[fff3:Skills/Items]+, 1 <>Schalter ändern:[ff03: Gewitter]-[AN] <> :End-Fall <>Bedingung:Alex-Erdschlag gelernt <>Var. ändern:[fff3:Skills/Items]+, 1 <>Schalter ändern:[ff04: Erdschlag]-[AN] <> :End-Fall <>Bedingung:Alex-Heilung gelernt <>Var. ändern:[fff3:Skills/Items]+, 1 <>Schalter ändern:[ff05: Heilung]-[AN] <> :End-Fall <>Bedingung:Alex-Gegenstand stehlen gelernt <>Var. ändern:[fff3:Skills/Items]+, 1 <>Schalter ändern:[ff06: Item stehlen]-[AN] <> :End-Fall <>Bedingung:Alex-Geld stehlen gelernt <>Var. ändern:[fff3:Skills/Items]+, 1 <>Schalter ändern:[ff07: Geld stehlen]-[AN] <> :End-Fall <> :Ansonsten <>Bedingung:Varbl[fff4:Skills-Held]-1 <>Bedingung:Alex-Feuerball gelernt <>Var. ändern:[fff3:Skills/Items]+, 1 <>Schalter ändern:[ff01: Feuerball]-[AN] <> :End-Fall <>Bedingung:Alex-Frost gelernt <>Var. ändern:[fff3:Skills/Items]+, 1 <>Schalter ändern:[ff02: Frost]-[AN] <> :End-Fall <>Bedingung:Alex-Gewitter gelernt <>Var. ändern:[fff3:Skills/Items]+, 1 <>Schalter ändern:[ff03: Gewitter]-[AN] <> :End-Fall <>Bedingung:Alex-Erdschlag gelernt <>Var. ändern:[fff3:Skills/Items]+, 1 <>Schalter ändern:[ff04: Erdschlag]-[AN] <> :End-Fall <>Bedingung:Alex-Heilung gelernt <>Var. ändern:[fff3:Skills/Items]+, 1 <>Schalter ändern:[ff05: Heilung]-[AN] <> :End-Fall <>Bedingung:Alex-Gegenstand stehlen gelernt <>Var. ändern:[fff3:Skills/Items]+, 1 <>Schalter ändern:[ff06: Item stehlen]-[AN] <> :End-Fall <>Bedingung:Alex-Geld stehlen gelernt <>Var. ändern:[fff3:Skills/Items]+, 1 <>Schalter ändern:[ff07: Geld stehlen]-[AN] <> :End-Fall <> :End-Fall <> :End-Fall <> :End-Fall <> :End-Fall <>Bedingung:Varbl[fff3:Skills/Items]-0 <>Schalter ändern:[ffff:Nothing]-[AN] <> :End-Fall <>

###### Vorüberlegungen IV - Die Darstellung der Items und Skills

Zuletzt soll noch das aktuell angewählte Item bzw. die Fertigkeit mit einer kleinen Grafik dargestellt werden. Für die Darstellung sollen die Grafiken aus den Paketen [sks_items.zip] für die Darstellung der Items und [sks_skills.zip] für die Skills der Helden dienen, die alle die gleiche Größe haben und in der linken oberen Ecke des SKS dargestellt werden sollen, mit der Picture-ID 20, damit sie auch über allem anderem liegen und sichtbar sind.

| Los bzw. weiter geht es auf der vierten Ereignis-Seite, wo ihr zuvor schon die "Vorüberlegungen III" umgesetzt habt. Genauer gesagt in der letzten Zeile des Makercodes dort. Hier legt ihr eine Endlos-Schleife an, in der das erste, was ihr anlegt, ein Label mit der Nummer 1 ist.
| Legt unter dem Label (!) eine Bedingung ohne Nein-Fall an, die Prüft, ob der Schalter "Nothing" auf AN steht. In deren Ja-Fall soll ein Schleifenausbruch erfolgen.
| Unter dem Nein-Fall der Bedingung folgt eine weitere, die prüft, ob der Wert der Variable "Skill/Item-Auswahl" genau dem Wert "0" entspricht (das erste Item bzw. die erste Fertigkeit wurde ausgewählt). Einen Nein-Fall brauchen wir hier unbedingt, schließlich gibt es mehr als eine Fertigkeit oder ein Item, über das die Heldentruppe verfügen kann.
| Nun muss eine Gabelung her, die zwischen der Anzeige der Item- und Skill-Grafiken unterscheidet. Den Anfang im Ja-Fall der Bedingung macht eine Bedingung, die prüft, ob der Wert der Variable "sks_cursorMultiplyer" genau dem Wert "2" entspricht. Auch hier brauchen wir wieder einen Nein-Fall.
| Im Ja-Fall legt ihr eine Bedingung ohne Nein-Fall an, die prüfen soll, ob der Schalter für die erste Fertigkeit (in unserem Beispiel ein Schalter namens "Feuerball" auf AN steht. Im Ja-Fall soll mit der Picture-ID 20 dann die Grafik zur Darstellung des Feuerball-Skills in der linken oberen Ecke angezeigt werden. Wenn ihr die Grafiken aus dem Paket [sks_skills.zip] verwendet, bestimmt ihr die Koordinaten wie folgt: Maximale Fensterbreite = 320 Pixel; Maximale Fensterhöhe = 240 Pixel; Breite des Skillbildes = 96 Pixel; Höhe des Skillbildes = 16 Pixel. Da zur Platzierung der genaue Mittelpunkt der Grafik verwendet wird und das Bild in der linken oberen Ecke des Fensters angezeigt werden soll, zieht ihr einfach die Hälfte der Skillbildbreite von der Fensterbreite ab, und zählt die Hälfte der Skillbildhöhe zu 0 dazu. Grund: X zählt von links nach rechts und Y zählt von oben nach unten. Im Klartext also heißt das: "320 - (Bildbreite / 2)" für die Koordinate X und "0 + (Bildhöhe / 2)" für die Koordinate Y. Als Ergebnis für unser Beispiel haben wir für X den Wert "272" und für Y den Wert "8". Nach der Bildanzeige soll ein Schleifenausbruch erfolgen.
| Im Nein-Fall der Bedingung, die prüft, ob der Wert der Variable "sks_cursorMultiplyer" dem Wert 2 entspricht, soll nun eine neue ohne Nein-Fall folgen. Deren Aufgabe ist es zu prüfen, ob der Wert der Variable "sks_cursorMultiplyer" genau dem Wert 3 entspricht.
| Im Ja-Fall dieser Bedingung folgt nach dem Schema der Fertigkeiten nun das Gegenstück für Items, also eine Bedingung ohne Nein-Fall, die prüft, ob die Heldentruppe über das erste einzusetzende Item verfügt. In unserem Fall ist das ein "Kleiner Heiltrank". Auch hier soll ein Bild die Darstellung des Items "Kleiner Heiltrank" übernehmen. Die Koordinaten berechnet ihr wie bei der Darstellung der Fertigkeiten auch nach dem selbem Schema. Wenn ihr die Grafiken aus dem Paket [sks_items.zip] verwendet, sind die Koordinate "X = 272, Y = 8" Auch hier folgt nach der Bilderdarstellung ein Schleifenausbruch.
| Im Nein-Fall der ersten Bedingung dieser Endlos-Schleife wiederholt ihr alles ab dem zweiten Punkt für alle Fertigkeiten und Items, die im Kampf verwendbar sein sollen. Habt ihr mehr Items als Fertigkeiten, macht unbedingt die Unterscheidung (Ob der Wert der Variable "sks_cursorMultiplyer" 2 oder 3 ist), lasst aber den jeweiligen Ja-Fall leer. Bedenkt, dass jede Bedingung, die den Wert der Variable "Skill/ItemAuswahl" überprüft, einen Nein-Fall haben muss. Auch die letzte, die ihr anlegt.
| Wenn ihr mit der bildhaften Darstellung aller Items und Fertigkeiten fertig seid, geht es daran, die Grenzwerte abzufangen. Da die Anzahl von Skills und Items unterschiedlich hoch sein kann, müsst ihr den höchsten Grenzwert (der größer als -1 ist) genau da anlegen, wo eine Bedingung - die prüft, ob der Wert der Variable "sks_cursorMultiplyer" genau 2 oder 3 ist - einen leeren Ja-Fall hat. Falls bei Items oder Skills eine solche Bedingung nicht vorliegen sollte, legt nach oben gezeigtem Schema ein neues Bedingungsgebilde an, notfalls mit zwei leeren Bedingungen in sich, die die Werte der Variable "sks_cursorMultiplyer" überprüfen.
| Wir haben 7 Skills und 6 Items in unserem Beispiel. Da 0 für das erste Item steht und wir vorwärts und rückwärts die Items ansteuern können, lauten die Grenzwerte wie folgt: überschreitungsgrenzwert der Items = 6 überschreitungsgrenzwert der Skills = 7 Unterschreitungsgrenzwert für beide = -1 In den Fällen, in denen also die "überschreitungsgrenzwerte" erreicht sind (Für Items 6 und für Skills 7) muss lediglich die Variable "Skill/ItemAuswahl" auf 0 gesetzt werden. Auf keinen Fall darf ein Schleifenausbruch erfolgen
| Nun geht es daran, den Unterschreitungsgrenzwert abzufangen. Es soll also eine neue Bedingung prüfen, ob der Wert der Variable "Skill/ItemAuswahl" genau dem Wert "-1" entspricht. Hier brauchen wir keinen Nein-Fall mehr, da dies die letzte Bedingung in dieser Kette ist.
| Im Ja-Fall soll wieder eine Bedingung folgen, die prüft, ob der Wert der Variable "sks_cursorMultiplyer" dem Wert "2" entspricht, in deren Ja-Fall der Wert der Variable "Skill/ItemAuswahl" auf den "überschreitungsgrenzwert der Skills - 1" gesetzt werden soll (in unserem Beispiel also auf 6), gefolgt von einem Sprung zum Label Nummer 1. Im Nein-Fall der selben Bedingung soll eine neue folgen, die prüft, ob der Wert der Variable "sks_cursorMultiplyer" dem Wert "3" entspricht und wie zuvor auch im Ja-Fall den Wert der Variable "Skill/Itemauswahl" auf den "überschreitungswert der Items - 1" setzen, der in unserem Beispiel 5 wäre, dem ebenfalls ein Sprung zum Label Nummer 1 folgt.
| Nun müssen wir noch etwas für den Fall tun, dass in der Kette aus Items und Skills die Heldentruppe über eines davon nicht verfügt, beispielsweise wenn sie von 6 Items das Item 3 und 5 nicht hat. Hier müssen wir lediglich die gedrückten Itemauswahltasten abfragen. Scrollt nun an das Ende des Maker-Codes und legt eine Bedingung an, die prüft, ob der Wert der Variable "Skill/Itemwahlknopf" kleiner oder gleich 2 ist. Im Ja-Fall soll vom Wert der Variable "Skill/Itemauswahl" der Wert 1 abgezogen werden. Im Nein-Fall folgt eine neue Bedingung, die prüft, ob der Wert der Variable "Skill/Itemwahlknopf" kleiner oder gleich 4 ist. Im Ja-Fall soll zum Wert der Variable "Skill/Itemauswahl" der Wert 1 dazu gezählt werden, während wir einen Nein-Fall hier nicht brauchen. Sinn des ganzen: Wenn in der Kette der Items mal eines fehlen sollte, soll in die Richtung, die durch die Tastenabfrage und der geschriebenen Werte in der Variable "Skill/Itemwahlknopf" bestimmt wird, beibehalten und zum nächstgelegenem Item oder Skill gesprungen werden.
| Schreibt euch nun heraus, welchem Item/Skill ihr so welchen Wert der Variable "Skill/Itemauswahl" zugewiesen habt. In unserem Beispiel würde das wie folgt aussehen:
Variablenwert Skill/Itemauswahl | Item | Skill
0 | kleiner Heiltrank | Feuerball
1 | Großer Heiltrank | Frost
2 | Magietrank | Gewitter
3 | Regenerationstrank | Erdschlag
4 | Wiederbelebung | Heilung
5 | Gegengift | Item stehlen
6 |  | Geld stehlen
Dies ist wichtig für das Anlegen der eigentlichen Fertigkeiten und der Item-Einsätze, damit ihr nicht erst herumsuchen müsst, welchem Wert der Variable "Skill/Itemauswahl" ihr welches Item oder welche Fertigkeit zugewiesen habt. Erspart euch etwas Such-Arbeit.

###### Darstellung der Stichpunkte in MML

Heldenskills-Ereignis
[Ereignisseite 1][Push Key] /* * Hier befindet sich der Code für die Cursor-Steuerung */
[Ereignisseite 2][Push Key] /* * Hier befindet sich der Code für die Cursor-Darstellung */
[Ereignisseite 3][Push Key] /* * Hier ist der Code zur Steuerung der Fertigkeiten-/Itemwahl */
[Ereignisseite 4][Push Key] /* * Hier ist der Code zur Ermittlung, ob die Helden Items oder * Skills haben, die sie einsetzen können */ [Schleife Beginn]
| [Haltepunkt [1]] [Bedingung][Schalter][Nothing][AUS]
| [Ja-Fall]
| [Schleife Ausbruch]
[Bedingung][Variable][Skill/ItemAuswahl][gleich][0]
| [Ja-Fall]
| [Bedingung][Variable][sks_cursorMultiplyer][gleich][2]
| [Ja-Fall]
| [Bedingung][Schalter][Feuerball][AN]
| [Ja-Fall]
| [Bild anzeigen][Bildnummer [20]][skill01_feuer][X = [272]][Y = [8]] [Schleife Ausbruch]
| [Nein-Fall]
| [Bedingung][Variable][sks_cursorMultiplyer][gleich][3]
| [Ja-Fall]
| [Bedingung][Item][Kleiner Heiltrank][Haben]
| [Ja-Fall]
| [Bild anzeigen][Bildnummer [20]][item01_kl_heiltrank][X = [272]][Y = [8]] [Schleife Ausbruch]
| [Nein-Fall]
| [Bedingung][Variable][Skill/ItemAuswahl][gleich][1]
| [Ja-Fall]
| [Bedingung][Variable][sks_cursorMultiplyer][gleich][2]
| [Ja-Fall]
| [Bedingung][Schalter][Frost][AN]
| [Ja-Fall]
| [Bild anzeigen][Bildnummer [20]][skill02_frost][X = [272]][Y = [8]] [Schleife Ausbruch]
| [Nein-Fall]
| [Bedingung][Variable][sks_cursorMultiplyer][gleich][3]
| [Ja-Fall]
| [Bedingung][Item][Großer Heiltrank][Haben]
| [Ja-Fall]
| [Bild anzeigen][Bildnummer [20]][item02_gr_heiltrank][X = [272]][Y = [8]] [Schleife Ausbruch]
| [Nein-Fall]
| [Bedingung][Variable][Skill/ItemAuswahl][gleich][2]
| [Ja-Fall]
| [Bedingung][Variable][sks_cursorMultiplyer][gleich][2]
| [Ja-Fall]
| [Bedingung][Schalter][Gewitter][AN]
| [Ja-Fall]
| [Bild anzeigen][Bildnummer [20]][skill03_blitz][X = [272]][Y = [8]] [Schleife Ausbruch]
| [Nein-Fall]
| [Bedingung][Variable][sks_cursorMultiplyer][gleich][3]
| [Ja-Fall]
| [Bedingung][Item][Magietrank][Haben]
| [Ja-Fall]
| [Bild anzeigen][Bildnummer [20]][item03_magietrank][X = [272]][Y = [8]] [Schleife Ausbruch]
| [Nein-Fall]
| [Bedingung][Variable][Skill/ItemAuswahl][gleich][3]
| [Ja-Fall]
| [Bedingung][Variable][sks_cursorMultiplyer][gleich][2]
| [Ja-Fall]
| [Bedingung][Schalter][Erdschlag][AN]
| [Ja-Fall]
| [Bild anzeigen][Bildnummer [20]][skill04_erde][X = [272]][Y = [8]] [Schleife Ausbruch]
| [Nein-Fall]
| [Bedingung][Variable][sks_cursorMultiplyer][gleich][3]
| [Ja-Fall]
| [Bedingung][Item][Regenerationstrank][Haben]
| [Ja-Fall]
| [Bild anzeigen][Bildnummer [20]][item04_regeneration][X = [272]][Y = [8]] [Schleife Ausbruch]
| [Nein-Fall]
| [Bedingung][Variable][Skill/ItemAuswahl][gleich][4]
| [Ja-Fall]
| [Bedingung][Variable][sks_cursorMultiplyer][gleich][2]
| [Ja-Fall]
| [Bedingung][Schalter][Heilung][AN]
| [Ja-Fall]
| [Bild anzeigen][Bildnummer [20]][skill05_heilung][X = [272]][Y = [8]] [Schleife Ausbruch]
| [Nein-Fall]
| [Bedingung][Variable][sks_cursorMultiplyer][gleich][3]
| [Ja-Fall]
| [Bedingung][Item][Wiederbelebung][Haben]
| [Ja-Fall]
| [Bild anzeigen][Bildnummer [20]][item05_wiederbelebung][X = [272]][Y = [8]] [Schleife Ausbruch]
| [Nein-Fall]
| [Bedingung][Variable][Skill/ItemAuswahl][gleich][5]
| [Ja-Fall]
| [Bedingung][Variable][sks_cursorMultiplyer][gleich][2]
| [Ja-Fall]
| [Bedingung][Schalter][Item stehlen][AN]
| [Ja-Fall]
| [Bild anzeigen][Bildnummer [20]][skill07_item_stehlen][X = [272]][Y = [8]] [Schleife Ausbruch]
| [Nein-Fall]
| [Bedingung][Variable][sks_cursorMultiplyer][gleich][3]
| [Ja-Fall]
| [Bedingung][Item][Gegengift][Haben]
| [Ja-Fall]
| [Bild anzeigen][Bildnummer [20]][item06_gegengift][X = [272]][Y = [8]] [Schleife Ausbruch]
| [Nein-Fall]
| [Bedingung][Variable][Skill/ItemAuswahl][gleich][6]
| [Ja-Fall]
| [Bedingung][Variable][sks_cursorMultiplyer][gleich][2]
| [Ja-Fall]
| [Bedingung][Schalter][Geld stehlen][AN]
| [Ja-Fall]
| [Bild anzeigen][Bildnummer [20]][skill06_geld_stehlen][X = [272]][Y = [8]] [Schleife Ausbruch]
| [Nein-Fall]
| [Bedingung][Variable][sks_cursorMultiplyer][gleich][3]
| [Ja-Fall]
| [Variable [Skill/ItemAuswahl]][<-- [Wert setzen][0]] [Goto Haltepunkt [1]]
| [Nein-Fall]
| [Bedingung][Variable][Skill/ItemAuswahl][gleich][7]
| [Ja-Fall]
| [Variable [Skill/ItemAuswahl]][<-- [Wert setzen][0]] [Goto Haltepunkt [1]]
| [Nein-Fall]
| [Bedingung][Variable][sks_cursorMultiplyer][gleich][3]
| [Nein-Fall]
| [Bedingung][Variable][Skill/ItemAuswahl][gleich][-1]
| [Ja-Fall]
| [Bedingung][Variable][sks_cursorMultiplyer][gleich][2]
| [Ja-Fall]
| [Variable [Skill/ItemAuswahl]][<-- [Wert setzen][6]] [Goto Haltepunkt [1]]
| [Nein-Fall]
| [Bedingung][Variable][sks_cursorMultiplyer][gleich][3]
| [Ja-Fall]
| [Variable [Skill/ItemAuswahl]][<-- [Wert setzen][5]] [Goto Haltepunkt [1]]
[Bedingung][Variable][Skill/Itemwahlknopf][kleiner oder gleich][2]
| [Ja-Fall]
| [Variable [Skill/ItemAuswahl]][<-- [-][1]]
| [Nein-Fall]
| [Bedingung][Variable][Skill/Itemwahlknopf][kleiner oder gleich][4]
| [Ja-Fall]
| [Variable [Skill/ItemAuswahl]][<-- [+][1]]
[Schleife Ende]
[Ereignisseite 5][Push Key]
[Ereignisseite 6][Push Key]
[Ereignisseite 7][Push Key]

###### Der erstellte Maker-Code auf Seite 4 des Ereignisses "Heldenskills"

Im englischem Maker
<>Note: Hier befindet sich der Code aus den Vorüberlegungen III <>Loop <>Label 1# <>If Switch (Nothing) is ON <>Break <> :End Case <>If Var(fff2:Skill/ItemAuswahl) 0 <>If Var(sks_cursorMultiplyer) 2 <>If Switch(ff01: Feuerball) is ON <>Show Picture: ID: 20-skill01_feuer-(272,8) <>Break <> :End Case <> :Else Case <>If Var(sks_cursorMultiplyer) 3 <>If Kleiner Heiltrank (Have) <>Show Picture: ID: 20-item01_kl_heiltrank-(272,8) <>Break <> :End Case <> :End Case <> :End Case <> :Else Case <>If Var(fff2:Skill/ItemAuswahl) 1 <>If Var(sks_cursorMultiplyer) 2 <>If Switch(ff02: Frost) is ON <>Show Picture: ID: 20-skill02_frost-(272,8) <>Break <> :End Case <> :Else Case <>If Var(sks_cursorMultiplyer) 3 <>If Großer Heiltrank (Have) <>Show Picture: ID: 20-item02_gr_heiltrank-(272,8) <>Break <> :End Case <> :End Case <> :End Case <> :Else Case <>If Var(fff2:Skill/ItemAuswahl) 2 <>If Var(sks_cursorMultiplyer) 2 <>If Switch(ff03: Gewitter) is ON <>Show Picture: ID: 20-skill03_blitz-(272,8) <>Break <> :End Case <> :Else Case <>If Var(sks_cursorMultiplyer) 3 <>If Magietrank (Have) <>Show Picture: ID: 20-item03_magietrank-(272,8) <>Break <> :End Case <> :End Case <> :End Case <> :Else Case <>If Var(fff2:Skill/ItemAuswahl) 4 <>If Var(sks_cursorMultiplyer) 2 <>If Switch(ff05: Heilung) is ON <>Show Picture: ID: 20-skill05_heilung-(272,8) <>Break <> :End Case <> :Else Case <>If Var(sks_cursorMultiplyer) 3 <>If Wiederbelebung (Have) <>Show Picture: ID: 20-item05_wiederbelebung-(272,8) <>Break <> :End Case <> :End Case <> :End Case <> :Else Case <>If Var(fff2:Skill/ItemAuswahl) 5 <>If Var(sks_cursorMultiplyer) 2 <>If Switch(ff06: Item stehlen) is ON <>Show Picture: ID: 20-skill07_item_stehlen-(272,8) <>Break <> :End Case <> :Else Case <>If Var(sks_cursorMultiplyer) 3 <>If Gegengift (Have) <>Show Picture: ID: 20-item06_gegengift-(272,8) <>Break <> :End Case <> :End Case <> :End Case <> :Else Case <>If Var(fff2:Skill/ItemAuswahl) 6 <>If Var(sks_cursorMultiplyer) 2 <>If Switch(ff05: Geld stehlen) is ON <>Show Picture: ID: 20-skill07_geld_stehlen-(272,8) <>Break <> :End Case <> :Else Case <>If Var(sks_cursorMultiplyer) 3 <>Change Var: Var[fff2:Skill/ItemAuswahl] (Set)- 0 <>Goto Label 1# <> :End Case <> :End Case <> :Else Case <>If Var(fff2:Skill/ItemAuswahl) 7 <>If Var(sks_cursorMultiplyer) 2 <>Change Var: Var[fff2:Skill/ItemAuswahl] (Set)- 0 <>Goto Label 1# <> :Else Case <>If Var(sks_cursorMultiplyer) 3 <> :End Case <> :End Case <> :Else Case <>If Var(fff2:Skill/ItemAuswahl) -1 <>If Var(sks_cursorMultiplyer) 2 <>Change Var: Var[fff2:Skill/ItemAuswahl] (Set)- 6 <>Goto Label 1# <> :Else Case <>If Var(sks_cursorMultiplyer) 3 <>Change Var: Var[fff2:Skill/ItemAuswahl] (Set)- 5 <>Goto Label 1# <> :End Case <> :End Case <> :Else Case <> :End Case <> :End Case <> :End Case <> :End Case <> :End Case <> :End Case <>If Var(fff1: Skill-/Itemwahlknopf) 2 (<=) <>Change Var: Var[fff2:Skill/ItemAuswahl] (-)- 1 <> :Else Case <>If Var(fff1: Skill-/Itemwahlknopf) 4 (<=) <>Change Var: Var[fff2: Skill/ItemAuswahl] (+)- 1 <> :End Case <> :End Case <> :End Loop <>
Im deutschem Maker (V1.10c)
<>Notiz: Hier befindet sich der Code aus den Vorüberlegungen III <>Schleife <> -> Label:1Nr <>Bedingung:Schalter[Nothing]- An <>Schleife stoppen <> :End-Fall <>Bedingung:Varbl[fff2:Skill/ItemAuswahl]-0 <>Bedingung:Varbl[sks_cursorMultiplyer]-2 <>Bedingung:Schalter[ff01: Feuerball]- An <>Bild anzeigen: 20, skill01_feuer, (272,8) <>Schleife stoppen <> :End-Fall <> :Ansonsten <>Bedingung:Varbl[sks_cursorMultiplyer]-3 <>Bedingung:Kleiner Heiltrank im Besitz <>Bild anzeigen: 20, item01_kl_heiltrank,(272,8) <>Schleife stoppen <> :End-Fall <> :End-Fall <> :End-Fall <> :Ansonsten <>Bedingung:Varbl[fff2:Skill/ItemAuswahl]-1 <>Bedingung:Varbl[sks_cursorMultiplyer]-2 <>Bedingung:Schalter[ff02: Frost]- An <>Bild anzeigen: 20, skill02_fost, (272,8) <>Schleife stoppen <> :End-Fall <> :Ansonsten <>Bedingung:Varbl[sks_cursorMultiplyer]-3 <>Bedingung:Großer Heiltrank im Besitz <>Bild anzeigen: 20, item02_gr_heiltrank,(272,8) <>Schleife stoppen <> :End-Fall <> :End-Fall <> :End-Fall <> :Ansonsten <>Bedingung:Varbl[fff2:Skill/ItemAuswahl]-2 <>Bedingung:Varbl[sks_cursorMultiplyer]-2 <>Bedingung:Schalter[ff03: Gewitter]- An <>Bild anzeigen: 20, skill03_blitz, (272,8) <>Schleife stoppen <> :End-Fall <> :Ansonsten <>Bedingung:Varbl[sks_cursorMultiplyer]-3 <>Bedingung:Magietrank im Besitz <>Bild anzeigen: 20, item03_magietrank,(272,8) <>Schleife stoppen <> :End-Fall <> :End-Fall <> :End-Fall <> :Ansonsten <>Bedingung:Varbl[fff2:Skill/ItemAuswahl]-3 <>Bedingung:Varbl[sks_cursorMultiplyer]-2 <>Bedingung:Schalter[ff04: Erdschlag]- An <>Bild anzeigen: 20, skill04_erde, (272,8) <>Schleife stoppen <> :End-Fall <> :Ansonsten <>Bedingung:Varbl[sks_cursorMultiplyer]-3 <>Bedingung:Regenerationstrank im Besitz <>Bild anzeigen: 20, item04_regeneration,(272,8) <>Schleife stoppen <> :End-Fall <> :End-Fall <> :End-Fall <> :Ansonsten <>Bedingung:Varbl[fff2:Skill/ItemAuswahl]-4 <>Bedingung:Varbl[sks_cursorMultiplyer]-2 <>Bedingung:Schalter[ff05: Heilung]- An <>Bild anzeigen: 20, skill05_heilung, (272,8) <>Schleife stoppen <> :End-Fall <> :Ansonsten <>Bedingung:Varbl[sks_cursorMultiplyer]-3 <>Bedingung:Wiederbelebung im Besitz <>Bild anzeigen: 20, item05_wiederbelebung,(272,8) <>Schleife stoppen <> :End-Fall <> :End-Fall <> :End-Fall <> :Ansonsten <>Bedingung:Varbl[fff2:Skill/ItemAuswahl]-5 <>Bedingung:Varbl[sks_cursorMultiplyer]-2 <>Bedingung:Schalter[ff06: Item stehlen]- An <>Bild anzeigen: 20, skill07_item_stehlen, (272,8) <>Schleife stoppen <> :End-Fall <> :Ansonsten <>Bedingung:Varbl[sks_cursorMultiplyer]-3 <>Bedingung:Gegengift im Besitz <>Bild anzeigen: 20, item06_gegengift,(272,8) <>Schleife stoppen <> :End-Fall <> :End-Fall <> :End-Fall <> :Ansonsten <>Bedingung:Varbl[fff2:Skill/ItemAuswahl]-6 <>Bedingung:Varbl[sks_cursorMultiplyer]-2 <>Bedingung:Schalter[ff07: Geld stehlen]- An <>Bild anzeigen: 20, skill06_geld_stehlen, (272,8) <>Schleife stoppen <> :End-Fall <> :Ansonsten <>Bedingung:Varbl[sks_cursorMultiplyer]-3 <>Var. ändern:[fff2:Skill/ItemAuswahl]Wert, 0 <>Gehe zu Label: 1Nr <> :End-Fall <> :End-Fall <> :Ansonsten <>Bedingung:Varbl[fff2:Skill/ItemAuswahl]-7 <>Bedingung:Varbl[sks_cursorMultiplyer]-2 <>Var. ändern:[fff2:Skill/ItemAuswahl]Wert, 0 <>Gehe zu Label: 1Nr <> :Ansonsten <>Bedingung:Varbl[sks_cursorMultiplyer]-3 <> :End-Fall <> :End-Fall <> :Ansonsten <>Bedingung:Varbl[fff2:Skill/ItemAuswahl]--1 <>Bedingung:Varbl[sks_cursorMultiplyer]-2 <>Var. ändern:[fff2:Skill/ItemAuswahl]Wert, 6 <>Gehe zu Label: 1Nr <> :Ansonsten <>Bedingung:Varbl[sks_cursorMultiplyer]-3 <>Var. ändern:[fff2:Skill/ItemAuswahl]Wert, 5 <>Gehe zu Label: 1Nr <> :End-Fall <> :End-Fall <> :End-Fall <> :End-Fall <> :End-Fall <> :End-Fall <> :End-Fall <> :End-Fall <> :End-Fall <> :End-Fall <> :End-Fall <>Bedingung:Varbl[fff1:Skill/Itemwahlknopf]-2< <>Var. ändern[fff2:Skill/ItemAuswahl]-, 1 <> :Ansonsten <>Bedingung:Varbl[fff1:Skill/Itemwahlknopf]-4< <>Var. ändern[fff2:Skill/ItemAuswahl]+, 1 <> :End-Fall <> :End-Fall <> :Schleifenende <>

###### Schlusswort für dieses Kapitel

Nun habt ihr dafür gesorgt, dass sich im Heldenmenü innerhalb des SKS die Items und Fertigkeiten, über die die Heldentruppe bzw. der Held, der gerade am Zug ist, verfügt. Diese werden neben dem Mini-Avatar grafisch dargestellt und könne auf- und absteigend ausgewählt werden. Die Auswahl von Skills und Items wurde deshalb in ein Kapitel zusammengefasst, da - wie euch sicher aufgefallen ist - vom Schema her der gleiche Code angelegt wurde. Das Ergebnis kann sich sehen lassen, bewirkt jedoch "noch" nichts außer der grafischen Darstellung dessen, was die Helden haben oder können.

[Beispielhaftes Aussehen der Karte im Maker]

[Beispielhaftes Aussehen während des Testspiels]