| Alles über Items

###### Vorüberlegungen I - Wie sehen die Gegenstände aus und wie werden sie abgefragt?

Ganz zu Anfang solltet ihr euch darüber klar werden, wie die Gegenstände aussehen sollen, welche eure Heldentruppe im Spielverlauf finden kann. Je nach dem, wie viele das sind, kann es schon einiges an Arbeit sein, das Aussehen der Gegenstände zu skizzieren. Ihr könnt aber auch auf deren bildhafte Darstellung komplett verzichten, doch wenn ihr dies tun würdet, könntet ihr gleich beim normalem Inventar bleiben. Für die Darstellung von Gegenständen, die eure Heldentruppe finden kann (egal, ob es Waffen, Rüstungen, Tränke und dergleichen sind), kann folgendes CharSet-Paket dienen: [items.zip]
Stellt ebenso sicher, dass ihr ein CharSet habt, das euch die Namen der Gegenstände, die eure Heldengruppe noch nicht hat, verdeckt. Hierfür sollt diese [Beispielgrafik] dienen. Nun kann es mit dem Anlegen der Ereignisse losgehen, die für den Gegenstandsgebrauch zuständig sind.

Wenn ihr euch darin auskennt, wie ihr bestimmt, wann eine bestimmte Ereignisseite aktiv wird, wird euch sicher der Punkt "Item" aufgefallen sein. Sowie ihr hier eine Auswahl trefft, welches Item es denn sein soll, prüft der Maker, ob sich dieses im Inventar befindet und ob einer der Helden, der gerade im Team ist, mit dem entsprechendem Gegenstand ausgerüstet ist.
Hier haben wir es besonders einfach. Da sich keiner der Hauptcharaktere im Team befindet sondern lediglich der Cursor, genügt es, ein Ereignis anzulegen, dessen einzige Ereignisseite nur dann aktiv wird, wenn eure Helden einen bestimmten Gegenstand haben.

###### Vorüberlegungen II - Alles über die Ausrüstung

Der Maker, so viele Beschränkungen er einem auch auferlegen mag, macht es uns hier einfacher, als man zunächst annehmen mag. Vom Prinzip her muss nur entsprechend des gewählten Helden dieser auch mit einem entsprechendem Gegenstand ausgerüstet werden. Trägt er beispielsweise ein Kettenhemd und soll mit einem Feldharnisch ausgerüstet werden, so landet dieses Kettenhemd automatisch im Inventar der Heldentruppe. Die einzige Schwierigkeit besteht nun darin, den richtigen Helden auszurüsten. Das Schema wird anhand des Gegenstandes "Mütze" veranschaulicht und trifft auf sämtliche Waffen, Schilde, Rüstungen und Zubehörgegenstände zu.

| Zuerst soll eine Variable, der ihr den Namen "Item - Menge" gebt, die Anzahl der Gegenstände (in diesem Beispiel "Mützen") speichern.
| Direkt danach soll eine einzige Nachricht den Gegenstand beim Namen nennen und umschreiben. Auch soll hier die Anzahl der Gegenstände stehen, die eure Helden gefunden haben wie auch eventuelle besondere Eigenschaften.
| Direkt danach wird es knifflig. Eine Bedingung soll nun abfragen, ob die Zahl 1 in der Variable "Gewählter Held" steht (für den ersten Helden; Wichtig ist für den weiteren Verlauf, dass ihr noch wisst, welchen der Helden ihr zum erstem, zweitem, drittem Helden und so weiter gemacht habt). Ein Nein-Fall ist hier wichtig und zwingend erforderlich. In unserem Beispiel bei der Heldenauswahl haben wir die Zahl 1 in die Variable "Gewählter Held" schreiben lassen, wenn der gewählte Held "Alex" war.
| Im Ja-Fall der Bedingung folgt nun ein Auswahlmenü, das zwei Antwortmöglichkeiten bietet. Diese sollten "Ausrüsten" und "Nicht ausrüsten" lauten.
| Im Fall, dass der gewählte Charakter (Alex) ausgerüstet werden soll, folgt nun ein Ereigniskommando, welches das Equipment des betreffenden Hauptcharakters ändert. In unserem Beispiel soll der Held "Alex" mit dem Gegenstand "Mütze" ausgerüstet werden.
| Im Nein-Fall der Bedingung wiederholt ihr die violett hervorgehobenen Punkte für den zweiten Held und so weiter...

###### Darstellung der Stichpunkte in MML

Equipment-Ereignis
[Ereignisseite 1] [ENTER][Item [Mütze]] [Variable [Item Menge]] [<-- [Wert setzen][Item [Mütze][Anzahl Besitz] [Nachricht] [Mütze:] [Eine einfache Kopfbedeckung, die aus verschiedenen] [Stoffen gefertigt wurde.] [Ihr habt \v[Item Menge] Stück] [Bedingung [Variable [Gewählter Held]][gleich][1]]
| [Ja-Fall]
| [\n[1] ausrüsten]
| [Ausrüstung][+][Held: [Alex]][Item [Mütze]]
| [\n[1] nicht ausrüsten]
| [Nein-Fall]
| [Bedingung [Variable [Gewählter Held]][gleich][2]]
| [Ja-Fall]
| [\n[1] ausrüsten]
| [Ausrüstung][+][Held: [Annie]][Item [Mütze]]
| [\n[1] nicht ausrüsten]

###### Der erstellte Maker-Code

Im englischem Maker
<>Change Var: Var[aaaa: Item Menge] (Set)-Mütze Hold Amount <>Message:Mütze: : :Eine einfache Kopfbedeckung, die aus verschiedenen : :Stoffen gefertigt wurde. : :Ihr habt \v[aaaa] Stück <>If Var(xxxx: Gewählter Held) 1 <>Show Choice:\n[1] ausrüsten/\n[1] nicht ausrüsten :[\n[1] ausrüsten] Case <>Equipment: Alex==>Mütze (Equip It) <> :[\n[1] nicht ausrüsten] Case <> :End Case <> :ELSE Case <>If Var(xxxx: Gewählter Held) 2 <>Show Choice:\n[2] ausrüsten/\n[2] nicht ausrüsten :[\n[2] ausrüsten] Case <>Equipment: Annie==>Mütze (Equip It) <> :[\n[2] nicht ausrüsten] Case <> :End Case <> :End Case <> :End Case <>
Im deutschem Maker (V1.10c)
<>Var. ändern:[aaaa: Item Menge]Wert, MützeAusrüs <>Nachr:Mütze: : :Eine einfache Kopfbedeckung, die aus verschiedenen : :Stoffen gefertigt wurde. : :Ihr habt \v[aaaa] Stück <>Bedingung:Varbl[xxxx: Gewählter Held]-1 <>Auswahlmenü: \n[1] ausrüsten/\n[1] nicht ausrüsten :[\n[1] ausrüsten] Fall <>Ausrüstung: Alex- Mütze ausrüsten <> :[\n[1] nicht ausrüsten] Fall <> :End-Fall <> :Ansonsten <>Bedingung:Varbl[xxxx: Gewählter Held]-2 <>Auswahlmenü: \n[2] ausrüsten/\n[2] nicht ausrüsten :[\n[2] ausrüsten] Fall <>Ausrüstung: Annie- Mütze ausrüsten <> :[\n[2] nicht ausrüsten] Fall <> :End-Fall <> :End-Fall <> :End-Fall <>

###### Vorüberlegungen III - Alles über Verbrauchsgegenstände

Vom Prinzip her funktionieren Verbrauchsgegenstände wie Tränke, Lebensmittel, Heilmittel und attributsteigernde Dinge ähnlich wie das Ausrüsten der Hauptcharaktere mit bestimmten Gegenständen, nur dass anstelle des Ausrüstens das geschieht, was ein Verbrauchsgegenstand bewirken soll, beispielsweise die Regeneration der Lebens- und Zauberkraft, das aufheben eines abnormen Zustands oder das Steigern eines Charakterattributs.

| Verwendet zuerst wieder die Variable, die ihr "Item - Menge" genannt habt, um die Anzahl der Gegenstände (in diesem Beispiel ein "Apfel") zu speichern.
| Direkt danach soll eine einzige Nachricht den Gegenstand beim Namen nennen und umschreiben. Auch soll hier die Anzahl der Gegenstände stehen, die eure Helden gefunden haben wie auch eventuelle besondere Eigenschaften, beispielsweise wie der Gegenstand heilt (wie viel Lebens- und Zauberkraft), welcher abnorme Zustand aufgehoben wird oder welches Charakterattribut um wie viel gesteigert wird.
| Direkt danach wird es knifflig. Eine Bedingung soll nun abfragen, ob die Zahl 1 in der Variable "Gewählter Held" steht (für den ersten Helden; Wichtig ist für den weiteren Verlauf, dass ihr noch wisst, welchen der Helden ihr zum erstem, zweitem, drittem Helden und so weiter gemacht habt). Ein Nein-Fall ist hier wichtig und zwingend erforderlich. In unserem Beispiel bei der Heldenauswahl haben wir die Zahl 1 in die Variable "Gewählter Held" schreiben lassen, wenn der gewählte Held "Alex" war.
| Im Ja-Fall der Bedingung folgt nun ein Auswahlmenü, das zwei Antwortmöglichkeiten bietet. Diese sollten "[Gegenstandsname] benutzen" und "[Gegenstandsname] nicht benutzen" oder ähnlich lauten.
| Im Fall, dass der gewählte Charakter (Alex) den Gegenstand benutzen soll, habt ihr mehrere Möglichkeiten, was genau der Gegenstand bewirken soll:
| Soll ein fester Wert an Lebenspunkten/Manapunkten wiederhergestellt werden? Hierfür gibt es die Funktionen "Change HP/Lebenspunkte erhöhen/vermindern", beziehungsweise "Change MP/Magiepunkte erhöhen/vermindern", bei denen ihr den entsprechenden Helden auswählt und den Wert an HP bzw. MP eingebt, der geheilt werden soll. Wählt unbedingt den Punkt "Increase HP/MP / LP/MP erhöhen" ;-)
| Soll ein gewisser prozentualer Anteil an Lebens-/Manapunkten wiederhergestellt werden? Hierfür muss zuerst in einer neuen, freien Variable, die ihr "Temp-Attribute" nennt, der Wert der maximalen HP/MP des betreffenden Helden gespeichert werden. Dieser Wert wird in einer zweiten Variablenfunktion mit dem zu heilendem Prozentwert Malgenommen und mit einer dritten Variablenfunktion durch 100 geteilt. Danach folgt, wie zuvor auch, eine der Funktionen "Change HP/Lebenspunkte erhöhen/vermindern", die statt eines festen Wertes sich diesen aus der Variable "Temp-Attribute" holen.
| Soll ein Charakterattribut dauerhaft (!) gesteigert werden? Hierfür gibt es das Ereigniskommando "Change Ability/Statuswert ändern", auf dem ihr erst den betreffenden Helden, dann das Attribut und die Option "Increase Ability/Statuswert erhöhen" wählt. Dann habt ihr die wahl, ob ein fester Wert oder ein durch eine Variable bestimmter Wert zur Attributensteigerung verwendet werden soll. Beide Schemata sind ähnlich wie oben bei HP und HP wiederherstellen.
| Soll ein abnormer Zustand geheilt werden? Dies ist ein wenig komplizierter. Die abnormen Zustände, an denen einzelne Gruppenmitglieder leiden können, wurden ja vorübergehend aufgehoben (mit Ausnahme des Todes) und werden erst dann wieder aktiv, wenn die Heldentruppe das Inventar wieder verlässt. Ein Aufheben eines abnormen Zustandes in dem Sinne findet nicht wirklich statt... zumindest nicht immer. Führen wir uns noch einmal die Tabelle vor Augen, in der ihr die Werte der Variablen für die Heldzustände festgelegt habt.
# in Variable | Abnormer Zustand
0 | (Standard/Nichts)
1 | Tod/Bewusstlos
2 | Gift/Vergiftung
Es geht hier nun um die Variablen, denen ihr die Namen "Zustand Held 1" bis "Zustand Held 4" gegeben habt. Wichtig sind hier nur folgende Punkte:
| Zuerst muss beim betreffendem Helden eine Bedingung abfragen, ob in "seiner" Zustand-Held-#"-Variable eine 1 steht (Abfrage, ob der Held tot ist).
| Im Ja-Fall soll der abnorme Zustand "Tod" aufgehoben werden, was mit Hilfe des Ereigniskommandos "Change Condition/Zustand herstellen/aufheben" geschieht.
| Direkt danach soll der Wert der Variable "Zustand-Held-#" auf 0 gesetzt werden.
Wichtig ist hier, dass ihr euch daran orientiert, welcher Wert der Variable "Gewählter Held" abgefragt wurde. Ist dieser Wert eine 1, so muss der Wert der Variable "Zustand Held 1" auf 0 gesetzt werden. Wurde von der Bedingung gefragt, ob der Wert der Variable "Gewählter Held" eine 2 ist, so muss der Wert der Variable "Zustand Held 2" auf 0 gesetzt werden und so weiter.
Sämtliche der genannten Möglichkeiten lassen sich untereinander kombinieren, sodass ihr beispielsweise ein Allheilmittel anlegen könnt, das gefallene aufweckt, Leben und Mana komplett wiederherstellt und sämtliche abnormen Zustände aufhebt. Auch kann nach Gebrauch eines Gegenstandes ein Soundeffekt abgespielt werden.
| Zuletzt muss noch einer der betreffenden Gegenstände aus dem Inventar entfernt werden.
| Im Nein-Fall der Bedingung wiederholt ihr die violett hervorgehobenen Punkte für den zweiten Held und so weiter...

###### Darstellung der Stichpunkte in MML

In unserem Beispiel soll der Gegenstand ein einfacher Heiltrank sein, der die Helden-HP um 50 heilt.

Trank-Ereignis
[Ereignisseite 1] [ENTER][Item [Mütze]] [Variable [Item Menge]] [<-- [Wert setzen][Item [Mütze][Anzahl Besitz] [Nachricht] [Kleiner Heiltrank:] [Ein süssliches Getränk, das 50 Lebenspunkte wieder] [herstellt.] [Ihr habt \v[90] Stück] [Bedingung [Variable [Gewählter Held]][gleich][1]]
| [Ja-Fall]
| [\n[1] soll einen trinken]
| [Alex][HP][+][50] [Soundeffekt abspielen][Holy1] [Item][-][Item [Kleiner Heiltrank]][Manuelle Anzahl [1]]
| [\n[1] soll ihn nicht benutzen]
| [Nein-Fall]
| [Bedingung [Variable [Gewählter Held]][gleich][2]]
| [Ja-Fall]
| [\n[1] soll einen trinken]
| [Annie][HP][+][50] [Soundeffekt abspielen][Holy1] [Item][-][Item [Kleiner Heiltrank]][Manuelle Anzahl [1]]
| [\n[1] soll ihn nicht benutzen]

###### Der erstellte Maker-Code

Im englischem Maker
<>Change Var: Var[aaaa: Item Menge] (Set)-Kleiner Heiltrank Hold Amount <>Message:Kleiner Heiltrank: : :Ein süssliches Getränk, das 50 Lebenspunkte wieder : :herstellt. : :Ihr habt \v[aaaa] Stück <>If Var(xxxx: Gewählter Held) 1 <>Show Choice:\n[1] soll einen trinken/\n[1] soll ihn nicht benutzen :[\n[1] soll einen trinken] Case <>Change HP:Alex's HP 50 (Add) <>Play SE: Holy1 <>Chng Item Count:(Kleiner Heiltrant) 1 (Rem) <> :[\n[1] soll ihn nicht benutzen] Case <> :End Case <> :ELSE Case <>If Var(xxxx: Gewählter Held) 2 <>Show Choice:\n[2] soll einen trinken/\n[2] soll ihn nicht benutzen :[\n[2] soll einen trinken] Case <>Change HP:Annie's HP 50 (Add) <>Play SE: Holy1 <>Chng Item Count:(Kleiner Heiltrant) 1 (Rem) <> :[\n[2] soll ihn nicht benutzen] Case <> :End Case <> :End Case <> :End Case <>
Im deutschem Maker (V1.10c)
<>Var. ändern:[aaaa: Item Menge]Wert, Kleiner Heiltrank <>Nachr:Kleiner Heiltrank: : :Ein süssliches Getränk, das 50 Lebenspunkte wieder : :herstellt. : :Ihr habt \v[aaaa] Stück <>Bedingung:Varbl[xxxx: Gewählter Held]-1 <>Auswahlmenü: \n[1] soll einen trinken/\n[1] soll ihn nicht benutzen :[\n[1] soll einen trinken] Fall <>LP ändern:AlexLP um 50 erhöhen <>Soundeffekt: Holy1 <>+/- Item: Kleiner Heiltrank->1 verm. <> :[\n[1] soll ihn nicht benutzen] Fall <> :End-Fall <> :Ansonsten <>Bedingung:Varbl[xxxx: Gewählter Held]-2 <>Auswahlmenü: \n[2] soll einen trinken/\n[2] soll ihn nicht benutzen :[\n[2] soll einen trinken] Fall <>LP ändern:AnnieLP um 50 erhöhen <>Soundeffekt: Holy1 <>+/- Item: Kleiner Heiltrank->1 verm. <> :[\n[2] soll ihn nicht benutzen] Fall <> :End-Fall <> :End-Fall <> :End-Fall <>

###### Vorüberlegungen IV - Schlüsselgegenstände

Sie sind Gegenstände, die sich nicht von den Hauptcharakteren ge-/verbrauchen lassen oder mit denen sie ausgerüstet werden können. Sie kommen lediglich zum Einsatz, wenn sie durch andere Ereignisse während des Spiels abgefragt werden, wie dies beispielsweise bei verschlossenen Türen der Fall ist. Hier genügt es, sich einfach auf die Variablenfunktion, welche die Anzahl des betreffenden Items zählt, und auf die Nachricht zu beschränken, welche den Gegenstand näher beschreibt. Da dies schon bei der Ausrüstung und den Gebrauchtsgegenständen erklärt wurde, wird an dieser Stelle auf die MML-Darstellung und das Code-Beispiel verzichtet.