EventsProfessional  Zahlen zur Anzeige der Chara-Attribute
Vorüberlegungen I - Vorarbeit

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

Vorüberlegung II - Das Erfassen der Chara-Attribute in ganzen Zahlen

Hier wird davon ausgegangen, dass sämtliche Charakterattribute in Form von Zahlenwerten dargestellt werden. Hierfür sind letztlich sechs Werte zwingend erforderlich, die dargestellt werden müssen: Die HP, die maximale HP, die MP, die maximale MP, die Angriffskraft, die Abwehrfähigkeit, das Magiewissen und das Geschick. Für die Darstellung müssen zuerst die Zahlen in eine Temporärvariable abgelegt und dann in 100er, 10er und 1er zerlegt werden. Anhand des Beispiels der HP soll das Schema verdeutlicht werden, das ihr für die genannten Charakterattribute wiederholen müsst:

. Der Code soll innerhalb der Bedingung angelegt werden, in welcher schon die Panorama-Grafik für die Heldeninfo-Karte bestimmte, genauer gesagt in der Leer-Zeile vor dem Wörtchen "Else Case/Ansonsten". (wir sind jetzt an der Stelle, an welcher für den Helden #1 die Heldenkarte dargestellt wird. In unserem Beispiel ist dieser Held "Alex")
 
. Beginnt nun als erstes damit, dass ihr eine neue, freie Variable auswählt, in der ihr die HP des Helden (in unserem Beispiel Alex) speichert. Der Variable gebt ihr den Namen "TempVar".
 
. Direkt danch startet ihr eine Endlosschleife.
 
. In dieser Endlosschleife soll eine Bedingung abfragen, ob der Wert der Variable "TempVar" größer oder gleich 100 ist. Hier brauchen wir einen Nein-Fall
 
. Im Ja-Fall soll eine Variablenfunktion dafür sorgen, dass der Variable "TempVar" ein Wert von 100 abgezogen wird.
 
. Direkt nach der Verminderung der Variable "TempVar" folgt eine weitere Variablenfunktion, die eine neue, freie Variable um 1 erhöht. Nennt diese neue Variable "HP - 100".
 
. Im Nein-Fall legt ihr eine neue Bedingung an, die abfragt, ob der Wert der Variablen "TempVar" größer oder gleich 10 ist.
 
. Im Ja-Fall soll eine Variablenfunktion dafür sorgen, dass der Variable "TempVar" ein Wert von 10 abgezogen wird.
 
. Direkt nach der Verminderung der Variable "TempVar" folgt eine weitere Variablenfunktion, die eine neue, freie Variable um 1 erhöht. Nennt diese neue Variable "HP - 10".
 
. Im Nein-Fall legt ihr eine neue Bedingung an, die abfragt, ob der Wert der Variablen "TempVar" größer oder gleich 1 ist.
 
. Im Ja-Fall soll eine Variablenfunktion dafür sorgen, dass der Variable "TempVar" ein Wert von 1 abgezogen wird.
 
. Direkt nach der Verminderung der Variable "TempVar" folgt eine weitere Variablenfunktion, die eine neue, freie Variable um 1 erhöht. Nennt diese neue Variable "HP - 1".
 
. Im Nein-Fall der Bedingung soll ein Ausbruch aus der Endlosschleife erfolgen. (Der Wert der Variable TempVar ist dann genau 0)
 
. Wiederholt direkt unterhalb des Endes der Endlosschleife die violett hervorgehobenen Punkte für folgende Attribute:
MP, MAX HP, MAX MP, Attack, Defense, Mind, Agility.
Achtet darauf, dass ihr für die 100er-, 10er- und 1er-Werte der genannten Attribute immer wieder neue Variablen verwendet, behaltet jedoch immer die Variable "TempVar" bei.
 
. Wiederholt alles zuvor besprochene nun für jeden (!) Helden, dem ihr zuvor schon eine Heldenkarte zugewiesen habt. Verwendet immer die gleichen Variablen für die Charakterattribute und unbedingt die selbe TempVar-Variable.
 
. Zuletzt begebt ihr euch ganz an den Anfang des Maker-Codes und bestimmt durch eine Variablenfunktion, dass alle für die Attributenermittlung verwendeten Variablen auf 0 gesetzt werden. Dies ist wichtig, weil durch den Code immer weiter dazugezählt werden würde, bis die Maximalwerte der Variablen erreicht sind, was falsch wäre.
Darstellung der Stichpunkte in MML
 Heldenkarten-Ereignis
[Ereignisseite 1][Automatisch]
[Varialbe [von [xy01] HP-100] bis [[xx24] Agility-1]
[Bedingung][Variable][Gewählter Held][gleich][1]
  [Ja-Fall]
  [Panoramawechsel][Grafik [Heldenkarte Alex]]
[Variable [xyxx: TempVar]][<-- [Wert setzen][Held [Alex][HP]]]
[Schleife beginn]
  [Bedingung [Variable][TempVar][größer/gleich][100]]
  [Ja-Fall]
  [Variable [xyxx: TempVar]][<-- [-][100]]
[Variable [xy01: HP-100]][<-- [+][1]]
transparent transparent
  [Nein-Fall]
  [Bedingung [Variable][TempVar][größer/gleich][10]]
  [Ja-Fall]
  [Variable [xyxx: TempVar]][<-- [-][10]]
[Variable [xy02: HP-10]][<-- [+][1]]
transparent transparent
  [Nein-Fall]
  [Bedingung [Variable][TempVar][größer/gleich][1]
  [Ja-Fall]
  [Variable [xyxx: TempVar]][<-- [-][1]]
[Variable [xy03: HP-1]][<-- [+][1]]
transparent transparent
  [Nein-Fall]
  [Schleife Ausbruch]
[Schleife Ende]
/*
 * Hier folgt, dass in die Variable TempVar die MP gespeichert
 * wird und ein vom Schema her gleicher Ablauf mit der Endlos-
 * schleife. Das ganze wiederholt sich für die Attribute:
 * MP, MAX HP, MAX MP, Attack, Defense, Mind, Agility, wobei
 * jedes Attribut drei Neue Variablen braucht (jeweils für die
 * 100er-, 10er- und 1er-Werte. Das macht am Ende dann
 * insgesamt 24 Variablen, die ganz am Anfang (kursiv hervor-
 * gehoben) alle auf 0 gesetzt werden müssen.
 */
transparent transparent
  [Nein-Fall]
  [Bedingung][Variable][Gewählter Held][gleich][2]
  [Ja-Fall]
  [Panoramawechsel][Grafik [Heldenkarte Annie]]
/*
 * Wiederholt hier das fett hervorgehobene, das sich im JA-Fall
 * des Helden "Alex" befindet
 */
[Schalter [HeroCard shown]] [<-- [AN]]
[Ereignisseite 2][ENTER-Taste]
Das fett hervorgehobene beschreibt das, was neu in das "Heldenkarten-Ereignis" hinzugekommen ist.
Der erstellte Maker-Code
Im englischem Maker
<>Change Var: [xy01 to xy24] (Set)- 0
<>If Var(xxxx: Gewählter Held) 1
 <>ChangeParalx: alex_card
 <>Note: Ermittlung der HP
 <>Change Var: Var[xyxx: TempVar] (Set)- Alex's HP
 <>Loop
  <>If Var(xyxx: TempVar) 100(>=)
   <>Change Var: Var[xyxx: TempVar] (-)- 100
   <>Change Var: Var[xy01: HP-100] (+)- 1
   <>
  :Else Case
   <>If Var(xyxx: TempVar) 10(>=)
    <>Change Var: Var[xyxx: TempVar] (-)- 10
    <>Change Var: Var[xy02: HP-10] (+)- 1
    <>
   :Else Case
    <>If Var(xyxx: TempVar) 1(>=)
     <>Change Var: Var[xyxx: TempVar] (-)- 1
     <>Change Var: Var[xy03: HP-1] (+)- 1
     <>
    :Else Case
     <>Break
     <>
    :End Case
    <>
   :End Case
   <>
  :End Case
  <>
 :End Loop
 <>Note: Ermittlung der MP
 <>Change Var: Var[xyxx: TempVar] (Set)- Alex's MP
 <>Loop
  <>If Var(xyxx: TempVar) 100(>=)
   <>Change Var: Var[xyxx: TempVar] (-)- 100
   <>Change Var: Var[xy04: MP-100] (+)- 1
   <>
  :Else Case
   <>If Var(xyxx: TempVar) 10(>=)
    <>Change Var: Var[xyxx: TempVar] (-)- 10
    <>Change Var: Var[xy05: MP-10] (+)- 1
    <>
   :Else Case
    <>If Var(xyxx: TempVar) 1(>=)
     <>Change Var: Var[xyxx: TempVar] (-)- 1
     <>Change Var: Var[xy06: MP-1] (+)- 1
     <>
    :Else Case
     <>Break
     <>
    :End Case
    <>
   :End Case
   <>
  :End Case
  <>
 :End Loop
 <>Note: Ermittlung der Maximalen HP
 <>Change Var: Var[xyxx: TempVar] (Set)- Alex's Max HP
 <>Loop
  <>If Var(xyxx: TempVar) 100(>=)
   <>Change Var: Var[xyxx: TempVar] (-)- 100
   <>Change Var: Var[xy07: MAX-HP-100] (+)- 1
   <>
  :Else Case
   <>If Var(xyxx: TempVar) 10(>=)
    <>Change Var: Var[xyxx: TempVar] (-)- 10
    <>Change Var: Var[xy08: MAX-HP-10] (+)- 1
    <>
   :Else Case
    <>If Var(xyxx: TempVar) 1(>=)
     <>Change Var: Var[xyxx: TempVar] (-)- 1
     <>Change Var: Var[xy09: MAX-HP-1] (+)- 1
     <>
    :Else Case
     <>Break
     <>
    :End Case
    <>
   :End Case
   <>
  :End Case
  <>
 :End Loop
 <>Note: Ermittlung der Maximalen MP
 <>Change Var: Var[xyxx: TempVar] (Set)- Alex's Max MP
 <>Loop
  <>If Var(xyxx: TempVar) 100(>=)
   <>Change Var: Var[xyxx: TempVar] (-)- 100
   <>Change Var: Var[xy10: MAX-MP-100] (+)- 1
   <>
  :Else Case
   <>If Var(xyxx: TempVar) 10(>=)
    <>Change Var: Var[xyxx: TempVar] (-)- 10
    <>Change Var: Var[xy11: MAX-MP-10] (+)- 1
    <>
   :Else Case
    <>If Var(xyxx: TempVar) 1(>=)
     <>Change Var: Var[xyxx: TempVar] (-)- 1
     <>Change Var: Var[xy12: MAX-MP-1] (+)- 1
     <>
    :Else Case
     <>Break
     <>
    :End Case
    <>
   :End Case
   <>
  :End Case
  <>
 :End Loop
 <>Note: Ermittlung der Angriffskraft
 <>Change Var: Var[xyxx: TempVar] (Set)- Alex's Attack
 <>Loop
  <>If Var(xyxx: TempVar) 100(>=)
   <>Change Var: Var[xyxx: TempVar] (-)- 100
   <>Change Var: Var[xy13: Attack-100] (+)- 1
   <>
  :Else Case
   <>If Var(xyxx: TempVar) 10(>=)
    <>Change Var: Var[xyxx: TempVar] (-)- 10
    <>Change Var: Var[xy14: Attack-10] (+)- 1
    <>
   :Else Case
    <>If Var(xyxx: TempVar) 1(>=)
     <>Change Var: Var[xyxx: TempVar] (-)- 1
     <>Change Var: Var[xy15: Attack-1] (+)- 1
     <>
    :Else Case
     <>Break
     <>
    :End Case
    <>
   :End Case
   <>
  :End Case
  <>
 :End Loop
 <>Note: Ermittlung der Abwehrfähigkeit
 <>Change Var: Var[xyxx: TempVar] (Set)- Alex's Defence
 <>Loop
  <>If Var(xyxx: TempVar) 100(>=)
   <>Change Var: Var[xyxx: TempVar] (-)- 100
   <>Change Var: Var[xy16: Defense-100] (+)- 1
   <>
  :Else Case
   <>If Var(xyxx: TempVar) 10(>=)
    <>Change Var: Var[xyxx: TempVar] (-)- 10
    <>Change Var: Var[xy17: Defense-10] (+)- 1
    <>
   :Else Case
    <>If Var(xyxx: TempVar) 1(>=)
     <>Change Var: Var[xyxx: TempVar] (-)- 1
     <>Change Var: Var[xy18: Defense-1] (+)- 1
     <>
    :Else Case
     <>Break
     <>
    :End Case
    <>
   :End Case
   <>
  :End Case
  <>
 :End Loop
 <>Note: Ermittlung der Intelligenz
 <>Change Var: Var[xyxx: TempVar] (Set)- Alex's Mind
 <>Loop
  <>If Var(xyxx: TempVar) 100(>=)
   <>Change Var: Var[xyxx: TempVar] (-)- 100
   <>Change Var: Var[xy19: Mind-100] (+)- 1
   <>
  :Else Case
   <>If Var(xyxx: TempVar) 10(>=)
    <>Change Var: Var[xyxx: TempVar] (-)- 10
    <>Change Var: Var[xy20: Mind-10] (+)- 1
    <>
   :Else Case
    <>If Var(xyxx: TempVar) 1(>=)
     <>Change Var: Var[xyxx: TempVar] (-)- 1
     <>Change Var: Var[xy21: Mind-1] (+)- 1
     <>
    :Else Case
     <>Break
     <>
    :End Case
    <>
   :End Case
   <>
  :End Case
  <>
 :End Loop
 <>Note: Ermittlung des Geschicks
 <>Change Var: Var[xyxx: TempVar] (Set)- Alex's Agilit
 <>Loop
  <>If Var(xyxx: TempVar) 100(>=)
   <>Change Var: Var[xyxx: TempVar] (-)- 100
   <>Change Var: Var[xy19: Agility-100] (+)- 1
   <>
  :Else Case
   <>If Var(xyxx: TempVar) 10(>=)
    <>Change Var: Var[xyxx: TempVar] (-)- 10
    <>Change Var: Var[xy20: Agility-10] (+)- 1
    <>
   :Else Case
    <>If Var(xyxx: TempVar) 1(>=)
     <>Change Var: Var[xyxx: TempVar] (-)- 1
     <>Change Var: Var[xy21: Agility-1] (+)- 1
     <>
    :Else Case
     <>Break
     <>
    :End Case
    <>
   :End Case
   <>
  :End Case
  <>
 :End Loop
 <>
:Else Case
 <>If Var(xxxx: Gewählter Held) 2
  <>Change Paralx: annie_card
  <>Note: Das Fett hervorgehobene würde - entsprechend angepasst,
  :     : hier folgen. Es müsste lediglich das fett hervorgehobene
  :     : von Alex hier her kopiert und Alex durch Annie ersetzt
  :     : werden.
  <>
 :End Case
 <>
:End Case
<>Change Switch: Var[xxxx: HeroCard shown] Switch ON
<>
Im deutschem Maker (V1.10c)
<>Var. ändern:[xy01 * xy24]Wert, 0
<>Bedingung: Varb[xxxx:Gewählter Held]-1
 <>Pan. ändern: alex_card
 <>Notiz: Ermittlung der HP
 <>Var. ändern:[xyxx: TempVar]Wert, Alex LP
 <>Schleife
  <>Bedingung:Varb[xyxx: TempVar]-100 >=
   <>Var. ändern:[xyxx: TempVar] -, 100
   <>Var. ändern:[xy01: HP-100] +, 1
   <>
  :Else Case
   <>Bedingung:Varb[xyxx: TempVar]-10 >=
    <>Var. ändern:[xyxx: TempVar] -, 10
    <>Var. ändern:[xy02: HP-10] +, 1
    <>
   :Else Case
    <>Bedingung:Varb[xyxx: TempVar]-1 >=
     <>Var. ändern:[xyxx: TempVar] -, 1
     <>Var. ändern:[xy03: HP-1] +, 1
     <>
    :Else Case
     <>Schleife stoppen
     <>
    :End Case
    <>
   :End Case
   <>
  :End Case
  <>
 :Schleifenende
 <>Notiz: Ermittlung der MP
 <>Var. ändern:[xyxx: TempVar]Wert, Alex MP
 <>Schleife
  <>Bedingung:Varb[xyxx: TempVar]-100 >=
   <>Var. ändern:[xyxx: TempVar] -, 100
   <>Var. ändern:[xy04: MP-100] +, 1
   <>
  :Else Case
   <>Bedingung:Varb[xyxx: TempVar]-10 >=
    <>Var. ändern:[xyxx: TempVar] -, 10
    <>Var. ändern:[xy05: MP-10] +, 1
    <>
   :Else Case
    <>Bedingung:Varb[xyxx: TempVar]-1 >=
     <>Var. ändern:[xyxx: TempVar] -, 1
     <>Var. ändern:[xy06: MP-1] +, 1
     <>
    :Else Case
     <>Schleife stoppen
     <>
    :End Case
    <>
   :End Case
   <>
  :End Case
  <>
 :Schleifenende
 <>Notiz: Ermittlung der Maximalen HP
 <>Var. ändern:[xyxx: TempVar]Wert, Alex Max LP
 <>Schleife
  <>Bedingung:Varb[xyxx: TempVar]-100 >=
   <>Var. ändern:[xyxx: TempVar] -, 100
   <>Var. ändern:[xy07: Max-HP-100] +, 1
   <>
  :Else Case
   <>Bedingung:Varb[xyxx: TempVar]-10 >=
    <>Var. ändern:[xyxx: TempVar] -, 10
    <>Var. ändern:[xy08: Max-HP-10] +, 1
    <>
   :Else Case
    <>Bedingung:Varb[xyxx: TempVar]-1 >=
     <>Var. ändern:[xyxx: TempVar] -, 1
     <>Var. ändern:[xy09: Max-HP-1] +, 1
     <>
    :Else Case
     <>Schleife stoppen
     <>
    :End Case
    <>
   :End Case
   <>
  :End Case
  <>
 :Schleifenende
 <>Notiz: Ermittlung der Maximalen MP
 <>Var. ändern:[xyxx: TempVar]Wert, Alex Max MP
 <>Schleife
  <>Bedingung:Varb[xyxx: TempVar]-100 >=
   <>Var. ändern:[xyxx: TempVar] -, 100
   <>Var. ändern:[xy10: Max-MP-100] +, 1
   <>
  :Else Case
   <>Bedingung:Varb[xyxx: TempVar]-10 >=
    <>Var. ändern:[xyxx: TempVar] -, 10
    <>Var. ändern:[xy11: Max-MP-10] +, 1
    <>
   :Else Case
    <>Bedingung:Varb[xyxx: TempVar]-1 >=
     <>Var. ändern:[xyxx: TempVar] -, 1
     <>Var. ändern:[xy12: Max-MP-1] +, 1
     <>
    :Else Case
     <>Schleife stoppen
     <>
    :End Case
    <>
   :End Case
   <>
  :End Case
  <>
 :Schleifenende
 <>Notiz: Ermittlung der Angriffskraft
 <>Var. ändern:[xyxx: TempVar]Wert, Alex Angriff
 <>Schleife
  <>Bedingung:Varb[xyxx: TempVar]-100 >=
   <>Var. ändern:[xyxx: TempVar] -, 100
   <>Var. ändern:[xy13: Attack-100] +, 1
   <>
  :Else Case
   <>Bedingung:Varb[xyxx: TempVar]-10 >=
    <>Var. ändern:[xyxx: TempVar] -, 10
    <>Var. ändern:[xy14: Attack-10] +, 1
    <>
   :Else Case
    <>Bedingung:Varb[xyxx: TempVar]-1 >=
     <>Var. ändern:[xyxx: TempVar] -, 1
     <>Var. ändern:[xy15: Attack-1] +, 1
     <>
    :Else Case
     <>Schleife stoppen
     <>
    :End Case
    <>
   :End Case
   <>
  :End Case
  <>
 :Schleifenende
 <>Notiz: Ermittlung der Abwehrfähigkeit
 <>Var. ändern:[xyxx: TempVar]Wert, Alex Vertd.
 <>Schleife
  <>Bedingung:Varb[xyxx: TempVar]-100 >=
   <>Var. ändern:[xyxx: TempVar] -, 100
   <>Var. ändern:[xy16: Defense-100] +, 1
   <>
  :Else Case
   <>Bedingung:Varb[xyxx: TempVar]-10 >=
    <>Var. ändern:[xyxx: TempVar] -, 10
    <>Var. ändern:[xy17: Defense-10] +, 1
    <>
   :Else Case
    <>Bedingung:Varb[xyxx: TempVar]-1 >=
     <>Var. ändern:[xyxx: TempVar] -, 1
     <>Var. ändern:[xy18: Defense-1] +, 1
     <>
    :Else Case
     <>Schleife stoppen
     <>
    :End Case
    <>
   :End Case
   <>
  :End Case
  <>
 :Schleifenende
 <>Notiz: Ermittlung der Intelligenz
 <>Var. ändern:[xyxx: TempVar]Wert, Alex IQ
 <>Schleife
  <>Bedingung:Varb[xyxx: TempVar]-100 >=
   <>Var. ändern:[xyxx: TempVar] -, 100
   <>Var. ändern:[xy19: Mind-100] +, 1
   <>
  :Else Case
   <>Bedingung:Varb[xyxx: TempVar]-10 >=
    <>Var. ändern:[xyxx: TempVar] -, 10
    <>Var. ändern:[xy20: Mind-10] +, 1
    <>
   :Else Case
    <>Bedingung:Varb[xyxx: TempVar]-1 >=
     <>Var. ändern:[xyxx: TempVar] -, 1
     <>Var. ändern:[xy21: Mind-1] +, 1
     <>
    :Else Case
     <>Schleife stoppen
     <>
    :End Case
    <>
   :End Case
   <>
  :End Case
  <>
 :Schleifenende
 <>Notiz: Ermittlung des Geschicks
 <>Var. ändern:[xyxx: TempVar]Wert, Alex Bewegl.
 <>Schleife
  <>Bedingung:Varb[xyxx: TempVar]-100 >=
   <>Var. ändern:[xyxx: TempVar] -, 100
   <>Var. ändern:[xy22: Agility-100] +, 1
   <>
  :Else Case
   <>Bedingung:Varb[xyxx: TempVar]-10 >=
    <>Var. ändern:[xyxx: TempVar] -, 10
    <>Var. ändern:[xy23: Agility-10] +, 1
    <>
   :Else Case
    <>Bedingung:Varb[xyxx: TempVar]-1 >=
     <>Var. ändern:[xyxx: TempVar] -, 1
     <>Var. ändern:[xy24: Agility-1] +, 1
     <>
    :Else Case
     <>Schleife stoppen
     <>
    :End Case
    <>
   :End Case
   <>
  :End Case
  <>
 :Schleifenende
 <>
:Ansonsten
 <>Bedingung: Varb[xxxx:Gewählter Held]-2
  <>Pan. ändern: annie_card
  <>Notiz: Das Fett hervorgehobene würde - entsprechend angepasst,
  :      : hier folgen. Es müsste lediglich das fett hervorgehobene
  :      : von Alex hier her kopiert und Alex durch Annie ersetzt
  :      : werden.
  <>
 :End-Fall
 <>
:End-Fall
<>Schalter ändern:[xxxx: HeroCard shown]-[AN]
<>
Das fett hervorgehobene beschreibt das, was neu in das "Heldenkarten-Ereignis hinzugekommen" ist. Im Gegensatz zur Darstellung in MML, die das Schema der Erstellung der Attributerfassung verdeutlichen sollte, ist die Makercode-Darstellung vollständig für den ersten Helden (damit es nicht zu viel wird.
Vorüberlegung III - Die Darstellung der Charakterattribute

Nun kommt das ganz am Anfang erwähnte CharSet zum Einsatz, das für die Zahlendarstellung zuständig ist. Importiert nun das CharSet mit Hilfe "des RAW-Material-Editors/der Materialverwaltung" des Makers. Ist dies getan, müsst ihr euch eine Sache vor Augen führen, wenn es um das Anlegen der Zähler-Anzeige geht:

. Ihr habt 24 Variablen, die für die Anzeige der Charakterattribute zuständig sind. Nachfolgend sind noch einmal deren Namen aufgeführt:
HP-100, HP-10, HP-1
MP-100, MP-10, MP-1
MAX-HP-100, MAX-HP-10, MAX-HP-1
MAX-MP-100, MAX-MP-10, MAX-MP-1
Attack-100, Attack-10, Attack-1
Defense-100, Defense-10, Defense-1
Mind-100, Mind-10, Mind-1
Agility-100, Agility-10, Agility-1
 
. Ihr benötigt 24 Ereingnisse auf der Karte "Inventar - Heldeninfo", auf der ihr schon das Ereignis für die Erfassung der Charakterattribute und die Bestimmung der Panoramagrafik für die Heldenkarte angelegt habt.
 
. Jedes dieser Ereignisse wird aus zehn Ereignisseiten bestehen.
Jede dieser Ereignisseiten wird genau dann aktiv, wenn ein bestimmter Wert in der betreffenden Variable steht.
 
. Diese Werte sollen nach folgendem Schema in jedem der sechs Ereignisse von jeder der Variablen abgefragt werden:
Seite 1: 0
Seite 2: 1
Seite 3: 2
...
Seite 10: 9
 
. Die 24 Ereignisse werden keine Ereigniskommandos beinhalten, sondern lediglich zur Zahlendarstellung dienen.
 
. Die Werte der Variablen "[Name]-1" und "[Name]-100 sollen durch rechtsbündige Zahlen, die restlichen durch linksbündige Zahlen dargestellt werden.
 
. Wichtig: Damit auch immer die richtigen Zahlen angezeigt werden, muss jedes einzelne gewählte Char-Set in den Ereignissen, welche die Charakterattribute darstellen werden, als "Fixed Graphic/Fixierte Grafik" angezeigt werden.
Schemenhafte Darstellung der Stichpunkte in MML
 HP-100-Ereignis
[Ereignisseite 1][Variable [HP-100]] >= [0]
[Ereignisseite 2][Variable [HP-100]] >= [1]
[Ereignisseite 3][Variable [HP-100]] >= [2]
[Ereignisseite 4][Variable [HP-100]] >= [3]
[Ereignisseite 5][Variable [HP-100]] >= [4]
[Ereignisseite 6][Variable [HP-100]] >= [5]
[Ereignisseite 7][Variable [HP-100]] >= [6]
[Ereignisseite 8][Variable [HP-100]] >= [7]
[Ereignisseite 9][Variable [HP-100]] >= [8]
[Ereignisseite 10][Variable [HP-100]] >= [9]

Nach diesem Schema solltet ihr am Ende 24 Ereignisse haben, die jede der 24 Variablen komplett von 0 bis 9 abfragen. Die Hauptseite eures Inventars könnte nun wie folgt aussehen:
[Beispiel-Darstellung]

Vorüberlegung IV - Die Darstellung der Charakterattribute II

Das Problem, dem ihr noch gegenüber steht, ist, dass die Beispiel-Darstellung nahezu identisch ist mit der, die sich euch während des Spielens bietet. Ihr hättet also, wenn ihr nach der [Beispiel-Darstellung] vorgegangen seid, ein wirres Zahlenbild für die Charakterattribute, die eigentlich jeweils einzeilig sein sollten. Doch dies lässt sich schnell und recht einfach beheben.

. Merkt oder notiert euch die Nummern der Zahlen-Ereignisse, die nicht an der richtigen Position sitzen.
 
. Bedenkt:
Über den Ereignissen mit den 1er-Werten sollen die Ereignisse mit den 10er-Werten sitzen.
 
. Es sind acht zusätzliche Ereigniskommandos erforderlich, die drei der Zahlen-Ereignisse bewegen, die allesamt über "Set Event place/Ereignis positionieren" angelegt werden. Sie sollen dafür sorgen, dass die Ereignisse übereinander liegen, die übereinander liegen sollen.
 
. Diese drei Ereigniskommandos sollen nun ganz an den Anfang des Ereignisses, das ihr am Anfang zum Geld-Zählen angelegt habt.
Darstellung der Stichpunkte in MML
 Heldenkarten-Ereignis
[Ereignisposition][HP-10][Manuelle Kartenposition]
/*
 *Das Ereignis "HP-10" soll auf das Ereignis "HP-1" gelegt
 *werden
 */
[Ereignisposition][MP-10][Manuelle Kartenposition]
/*
 *Das Ereignis "MP-10" soll auf das Ereignis "MP-1" gelegt
 *werden
 */
[Ereignisposition][MAX-HP-10][Manuelle Kartenposition]
/*
 *Das Ereignis "MAX-HP-10" soll auf das Ereignis "MAX-HP-1" gelegt
 *werden
 */
[Ereignisposition][MAX-MP-10][Manuelle Kartenposition]
/*
 *Das Ereignis "MAX-MP-10" soll auf das Ereignis "MAX-MP-1" gelegt
 *werden
 */
[Ereignisposition][Attack-10][Manuelle Kartenposition]
/*
 *Das Ereignis "Attack-10" soll auf das Ereignis "Attack-1" gelegt
 *werden
 */
[Ereignisposition][Defense-10][Manuelle Kartenposition]
/*
 *Das Ereignis "Defense-10" soll auf das Ereignis "Defense-1" gelegt
 *werden
 */
[Ereignisposition][Mind-10][Manuelle Kartenposition]
/*
 *Das Ereignis "Mind-10" soll auf das Ereignis "Mind-1" gelegt
 *werden
 */
[Ereignisposition][Agility-10][Manuelle Kartenposition]
/*
 *Das Ereignis "Agility-10" soll auf das Ereignis "Agility-1" gelegt
 *werden
 */
/*
 * Direkt hiernach folgt der restliche Code unseres "Heldenkarten-
 * ereignisses
 */
Der erstellte Maker-Code

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

Im englischem Maker
<>Teleport Event: HP-10-(___,___)
<>Teleport Event: MP-10-(___,___)
<>Teleport Event: MAX-HP-10-(___,___)
<>Teleport Event: MAX-MP-10-(___,___)
<>Teleport Event: Attack-10-(___,___)
<>Teleport Event: Defense-10-(___,___)
<>Teleport Event: Mind-10-(___,___)
<>Teleport Event: Agility-10-(___,___)

<>Change Var: [xy01 to xy24] (Set)- 0
<>If Var(xxxx: Gewählter Held) 1
 <>ChangeParalx: alex_card
 <>Note: Ermittlung der HP
 <>Change Var: Var[xyxx: TempVar] (Set)- Alex's HP
 <>Loop
  <>If Var(xyxx: TempVar) 100(>=)
   <>Change Var: Var[xyxx: TempVar] (-)- 100
   <>Change Var: Var[xy01: HP-100] (+)- 1
   <>
  :Else Case
   <>If Var(xyxx: TempVar) 10(>=)
    <>Change Var: Var[xyxx: TempVar] (-)- 10
    <>Change Var: Var[xy02: HP-10] (+)- 1
    <>
   :Else Case
    <>If Var(xyxx: TempVar) 1(>=)
     <>Change Var: Var[xyxx: TempVar] (-)- 1
     <>Change Var: Var[xy03: HP-1] (+)- 1
     <>
    :Else Case
     <>Break
     <>
    :End Case
    <>
   :End Case
   <>
  :End Case
  <>
 :End Loop
 <>Note: Ermittlung der MP
 <>Change Var: Var[xyxx: TempVar] (Set)- Alex's MP
 <>Loop
  <>If Var(xyxx: TempVar) 100(>=)
   <>Change Var: Var[xyxx: TempVar] (-)- 100
   <>Change Var: Var[xy04: MP-100] (+)- 1
   <>
  :Else Case
   <>If Var(xyxx: TempVar) 10(>=)
    <>Change Var: Var[xyxx: TempVar] (-)- 10
    <>Change Var: Var[xy05: MP-10] (+)- 1
    <>
   :Else Case
    <>If Var(xyxx: TempVar) 1(>=)
     <>Change Var: Var[xyxx: TempVar] (-)- 1
     <>Change Var: Var[xy06: MP-1] (+)- 1
     <>
    :Else Case
     <>Break
     <>
    :End Case
    <>
   :End Case
   <>
  :End Case
  <>
 :End Loop
 <>Note: Ermittlung der Maximalen HP
 <>Change Var: Var[xyxx: TempVar] (Set)- Alex's Max HP
 <>Loop
  <>If Var(xyxx: TempVar) 100(>=)
   <>Change Var: Var[xyxx: TempVar] (-)- 100
   <>Change Var: Var[xy07: MAX-HP-100] (+)- 1
   <>
  :Else Case
   <>If Var(xyxx: TempVar) 10(>=)
    <>Change Var: Var[xyxx: TempVar] (-)- 10
    <>Change Var: Var[xy08: MAX-HP-10] (+)- 1
    <>
   :Else Case
    <>If Var(xyxx: TempVar) 1(>=)
     <>Change Var: Var[xyxx: TempVar] (-)- 1
     <>Change Var: Var[xy09: MAX-HP-1] (+)- 1
     <>
    :Else Case
     <>Break
     <>
    :End Case
    <>
   :End Case
   <>
  :End Case
  <>
 :End Loop
 <>Note: Ermittlung der Maximalen MP
 <>Change Var: Var[xyxx: TempVar] (Set)- Alex's Max MP
 <>Loop
  <>If Var(xyxx: TempVar) 100(>=)
   <>Change Var: Var[xyxx: TempVar] (-)- 100
   <>Change Var: Var[xy10: MAX-MP-100] (+)- 1
   <>
  :Else Case
   <>If Var(xyxx: TempVar) 10(>=)
    <>Change Var: Var[xyxx: TempVar] (-)- 10
    <>Change Var: Var[xy11: MAX-MP-10] (+)- 1
    <>
   :Else Case
    <>If Var(xyxx: TempVar) 1(>=)
     <>Change Var: Var[xyxx: TempVar] (-)- 1
     <>Change Var: Var[xy12: MAX-MP-1] (+)- 1
     <>
    :Else Case
     <>Break
     <>
    :End Case
    <>
   :End Case
   <>
  :End Case
  <>
 :End Loop
 <>Note: Ermittlung der Angriffskraft
 <>Change Var: Var[xyxx: TempVar] (Set)- Alex's Attack
 <>Loop
  <>If Var(xyxx: TempVar) 100(>=)
   <>Change Var: Var[xyxx: TempVar] (-)- 100
   <>Change Var: Var[xy13: Attack-100] (+)- 1
   <>
  :Else Case
   <>If Var(xyxx: TempVar) 10(>=)
    <>Change Var: Var[xyxx: TempVar] (-)- 10
    <>Change Var: Var[xy14: Attack-10] (+)- 1
    <>
   :Else Case
    <>If Var(xyxx: TempVar) 1(>=)
     <>Change Var: Var[xyxx: TempVar] (-)- 1
     <>Change Var: Var[xy15: Attack-1] (+)- 1
     <>
    :Else Case
     <>Break
     <>
    :End Case
    <>
   :End Case
   <>
  :End Case
  <>
 :End Loop
 <>Note: Ermittlung der Abwehrfähigkeit
 <>Change Var: Var[xyxx: TempVar] (Set)- Alex's Defence
 <>Loop
  <>If Var(xyxx: TempVar) 100(>=)
   <>Change Var: Var[xyxx: TempVar] (-)- 100
   <>Change Var: Var[xy16: Defense-100] (+)- 1
   <>
  :Else Case
   <>If Var(xyxx: TempVar) 10(>=)
    <>Change Var: Var[xyxx: TempVar] (-)- 10
    <>Change Var: Var[xy17: Defense-10] (+)- 1
    <>
   :Else Case
    <>If Var(xyxx: TempVar) 1(>=)
     <>Change Var: Var[xyxx: TempVar] (-)- 1
     <>Change Var: Var[xy18: Defense-1] (+)- 1
     <>
    :Else Case
     <>Break
     <>
    :End Case
    <>
   :End Case
   <>
  :End Case
  <>
 :End Loop
 <>Note: Ermittlung der Intelligenz
 <>Change Var: Var[xyxx: TempVar] (Set)- Alex's Mind
 <>Loop
  <>If Var(xyxx: TempVar) 100(>=)
   <>Change Var: Var[xyxx: TempVar] (-)- 100
   <>Change Var: Var[xy19: Mind-100] (+)- 1
   <>
  :Else Case
   <>If Var(xyxx: TempVar) 10(>=)
    <>Change Var: Var[xyxx: TempVar] (-)- 10
    <>Change Var: Var[xy20: Mind-10] (+)- 1
    <>
   :Else Case
    <>If Var(xyxx: TempVar) 1(>=)
     <>Change Var: Var[xyxx: TempVar] (-)- 1
     <>Change Var: Var[xy21: Mind-1] (+)- 1
     <>
    :Else Case
     <>Break
     <>
    :End Case
    <>
   :End Case
   <>
  :End Case
  <>
 :End Loop
 <>Note: Ermittlung des Geschicks
 <>Change Var: Var[xyxx: TempVar] (Set)- Alex's Agilit
 <>Loop
  <>If Var(xyxx: TempVar) 100(>=)
   <>Change Var: Var[xyxx: TempVar] (-)- 100
   <>Change Var: Var[xy19: Agility-100] (+)- 1
   <>
  :Else Case
   <>If Var(xyxx: TempVar) 10(>=)
    <>Change Var: Var[xyxx: TempVar] (-)- 10
    <>Change Var: Var[xy20: Agility-10] (+)- 1
    <>
   :Else Case
    <>If Var(xyxx: TempVar) 1(>=)
     <>Change Var: Var[xyxx: TempVar] (-)- 1
     <>Change Var: Var[xy21: Agility-1] (+)- 1
     <>
    :Else Case
     <>Break
     <>
    :End Case
    <>
   :End Case
   <>
  :End Case
  <>
 :End Loop
 <>
:Else Case
 <>If Var(xxxx: Gewählter Held) 2
  <>Change Paralx: annie_card
  <>Note: Das Fett hervorgehobene würde - entsprechend angepasst,
  :     : hier folgen. Es müsste lediglich das fett hervorgehobene
  :     : von Alex hier her kopiert und Alex durch Annie ersetzt
  :     : werden.
  <>
 :End Case
 <>
:End Case
<>Change Switch: Var[xxxx: HeroCard shown] Switch ON
<>
Im deutschem Maker (V1.10c)
<>Ereign.-Platz setzn: HP-10, (___,___)
<>Ereign.-Platz setzn: MP-10, (___,___)
<>Ereign.-Platz setzn: MAX-HP-10, (___,___)
<>Ereign.-Platz setzn: MAX-MP-10, (___,___)
<>Ereign.-Platz setzn: Attack-10, (___,___)
<>Ereign.-Platz setzn: Defense-10, (___,___)
<>Ereign.-Platz setzn: Mind-10, (___,___)
<>Ereign.-Platz setzn: Agility-10, (___,___)

<>Var. ändern:[xy01 * xy24]Wert, 0
<>Bedingung: Varb[xxxx:Gewählter Held]-1
 <>Pan. ändern: alex_card
 <>Notiz: Ermittlung der HP
 <>Var. ändern:[xyxx: TempVar]Wert, Alex LP
 <>Schleife
  <>Bedingung:Varb[xyxx: TempVar]-100 >=
   <>Var. ändern:[xyxx: TempVar] -, 100
   <>Var. ändern:[xy01: HP-100] +, 1
   <>
  :Else Case
   <>Bedingung:Varb[xyxx: TempVar]-10 >=
    <>Var. ändern:[xyxx: TempVar] -, 10
    <>Var. ändern:[xy02: HP-10] +, 1
    <>
   :Else Case
    <>Bedingung:Varb[xyxx: TempVar]-1 >=
     <>Var. ändern:[xyxx: TempVar] -, 1
     <>Var. ändern:[xy03: HP-1] +, 1
     <>
    :Else Case
     <>Schleife stoppen
     <>
    :End Case
    <>
   :End Case
   <>
  :End Case
  <>
 :Schleifenende
 <>Notiz: Ermittlung der MP
 <>Var. ändern:[xyxx: TempVar]Wert, Alex MP
 <>Schleife
  <>Bedingung:Varb[xyxx: TempVar]-100 >=
   <>Var. ändern:[xyxx: TempVar] -, 100
   <>Var. ändern:[xy04: MP-100] +, 1
   <>
  :Else Case
   <>Bedingung:Varb[xyxx: TempVar]-10 >=
    <>Var. ändern:[xyxx: TempVar] -, 10
    <>Var. ändern:[xy05: MP-10] +, 1
    <>
   :Else Case
    <>Bedingung:Varb[xyxx: TempVar]-1 >=
     <>Var. ändern:[xyxx: TempVar] -, 1
     <>Var. ändern:[xy06: MP-1] +, 1
     <>
    :Else Case
     <>Schleife stoppen
     <>
    :End Case
    <>
   :End Case
   <>
  :End Case
  <>
 :Schleifenende
 <>Notiz: Ermittlung der Maximalen HP
 <>Var. ändern:[xyxx: TempVar]Wert, Alex Max LP
 <>Schleife
  <>Bedingung:Varb[xyxx: TempVar]-100 >=
   <>Var. ändern:[xyxx: TempVar] -, 100
   <>Var. ändern:[xy07: Max-HP-100] +, 1
   <>
  :Else Case
   <>Bedingung:Varb[xyxx: TempVar]-10 >=
    <>Var. ändern:[xyxx: TempVar] -, 10
    <>Var. ändern:[xy08: Max-HP-10] +, 1
    <>
   :Else Case
    <>Bedingung:Varb[xyxx: TempVar]-1 >=
     <>Var. ändern:[xyxx: TempVar] -, 1
     <>Var. ändern:[xy09: Max-HP-1] +, 1
     <>
    :Else Case
     <>Schleife stoppen
     <>
    :End Case
    <>
   :End Case
   <>
  :End Case
  <>
 :Schleifenende
 <>Notiz: Ermittlung der Maximalen MP
 <>Var. ändern:[xyxx: TempVar]Wert, Alex Max MP
 <>Schleife
  <>Bedingung:Varb[xyxx: TempVar]-100 >=
   <>Var. ändern:[xyxx: TempVar] -, 100
   <>Var. ändern:[xy10: Max-MP-100] +, 1
   <>
  :Else Case
   <>Bedingung:Varb[xyxx: TempVar]-10 >=
    <>Var. ändern:[xyxx: TempVar] -, 10
    <>Var. ändern:[xy11: Max-MP-10] +, 1
    <>
   :Else Case
    <>Bedingung:Varb[xyxx: TempVar]-1 >=
     <>Var. ändern:[xyxx: TempVar] -, 1
     <>Var. ändern:[xy12: Max-MP-1] +, 1
     <>
    :Else Case
     <>Schleife stoppen
     <>
    :End Case
    <>
   :End Case
   <>
  :End Case
  <>
 :Schleifenende
 <>Notiz: Ermittlung der Angriffskraft
 <>Var. ändern:[xyxx: TempVar]Wert, Alex Angriff
 <>Schleife
  <>Bedingung:Varb[xyxx: TempVar]-100 >=
   <>Var. ändern:[xyxx: TempVar] -, 100
   <>Var. ändern:[xy13: Attack-100] +, 1
   <>
  :Else Case
   <>Bedingung:Varb[xyxx: TempVar]-10 >=
    <>Var. ändern:[xyxx: TempVar] -, 10
    <>Var. ändern:[xy14: Attack-10] +, 1
    <>
   :Else Case
    <>Bedingung:Varb[xyxx: TempVar]-1 >=
     <>Var. ändern:[xyxx: TempVar] -, 1
     <>Var. ändern:[xy15: Attack-1] +, 1
     <>
    :Else Case
     <>Schleife stoppen
     <>
    :End Case
    <>
   :End Case
   <>
  :End Case
  <>
 :Schleifenende
 <>Notiz: Ermittlung der Abwehrfähigkeit
 <>Var. ändern:[xyxx: TempVar]Wert, Alex Vertd.
 <>Schleife
  <>Bedingung:Varb[xyxx: TempVar]-100 >=
   <>Var. ändern:[xyxx: TempVar] -, 100
   <>Var. ändern:[xy16: Defense-100] +, 1
   <>
  :Else Case
   <>Bedingung:Varb[xyxx: TempVar]-10 >=
    <>Var. ändern:[xyxx: TempVar] -, 10
    <>Var. ändern:[xy17: Defense-10] +, 1
    <>
   :Else Case
    <>Bedingung:Varb[xyxx: TempVar]-1 >=
     <>Var. ändern:[xyxx: TempVar] -, 1
     <>Var. ändern:[xy18: Defense-1] +, 1
     <>
    :Else Case
     <>Schleife stoppen
     <>
    :End Case
    <>
   :End Case
   <>
  :End Case
  <>
 :Schleifenende
 <>Notiz: Ermittlung der Intelligenz
 <>Var. ändern:[xyxx: TempVar]Wert, Alex IQ
 <>Schleife
  <>Bedingung:Varb[xyxx: TempVar]-100 >=
   <>Var. ändern:[xyxx: TempVar] -, 100
   <>Var. ändern:[xy19: Mind-100] +, 1
   <>
  :Else Case
   <>Bedingung:Varb[xyxx: TempVar]-10 >=
    <>Var. ändern:[xyxx: TempVar] -, 10
    <>Var. ändern:[xy20: Mind-10] +, 1
    <>
   :Else Case
    <>Bedingung:Varb[xyxx: TempVar]-1 >=
     <>Var. ändern:[xyxx: TempVar] -, 1
     <>Var. ändern:[xy21: Mind-1] +, 1
     <>
    :Else Case
     <>Schleife stoppen
     <>
    :End Case
    <>
   :End Case
   <>
  :End Case
  <>
 :Schleifenende
 <>Notiz: Ermittlung des Geschicks
 <>Var. ändern:[xyxx: TempVar]Wert, Alex Bewegl.
 <>Schleife
  <>Bedingung:Varb[xyxx: TempVar]-100 >=
   <>Var. ändern:[xyxx: TempVar] -, 100
   <>Var. ändern:[xy22: Agility-100] +, 1
   <>
  :Else Case
   <>Bedingung:Varb[xyxx: TempVar]-10 >=
    <>Var. ändern:[xyxx: TempVar] -, 10
    <>Var. ändern:[xy23: Agility-10] +, 1
    <>
   :Else Case
    <>Bedingung:Varb[xyxx: TempVar]-1 >=
     <>Var. ändern:[xyxx: TempVar] -, 1
     <>Var. ändern:[xy24: Agility-1] +, 1
     <>
    :Else Case
     <>Schleife stoppen
     <>
    :End Case
    <>
   :End Case
   <>
  :End Case
  <>
 :Schleifenende
:Ansonsten
 <>Bedingung: Varb[xxxx:Gewählter Held]-2
  <>Pan. ändern: annie_card
  <>Notiz: Das Fett hervorgehobene würde - entsprechend angepasst,
  :      : hier folgen. Es müsste lediglich das fett hervorgehobene
  :      : von Alex hier her kopiert und Alex durch Annie ersetzt
  :      : werden.
  <>
 :End-Fall
 <>
:End-Fall
<>Schalter ändern:[xxxx: HeroCard shown]-[AN]
<>