| Ein Item-Stehlen-Zauber

###### Vorüberlegungen

Im wirklichem Leben hat es sie, in zahllosen Rollenspielen auch: Diebe, Jungs und Mädels, die ihren Kontrahenten oftmals das eine oder andere aus den Taschen zaubern können. Gerade durch das Stehlen kann immer wieder ein Vorteil in Form von zusätzlichem Geld, besseren Gegenständen und dergleichen erlangt werden. Stehlen ist immer dann nützlich, wenn die finanziellen Mittel der Heldengruppe beschränkt sind... und das sind sie fast immer^^. Nur, wie wird das im Maker umgesetzt? Eine entsprechende Fertigkeitenklassifizierung gibt es ja nicht. Also, was tun?

| Zuallererst muss es eine Fertigkeit geben, die einen Schalter aktiviert. Diesen Schalter nennen wir "ItemDiebstahl AKTIV", die Fertigkeit selbst "Gegenstand stehlen" oder so ähnlich.
| Das Ereignis dafür muss jeder Gegnergruppe zugewiesen sein, die von euren Hauptcharakteren bestohlen werden soll... also allen. Es soll genau dann aktiv werden, sowie die Fertigkeit genutzt, also der Schalter "ItemDiebstahl AKTIV" auf AN steht.
| Das erste, was im Ereignis geschehen soll, ist eine Abfrage, ob diese Gegnergruppe bereits bestohlen wurde. Zur Darstellung, ob ein Gegner bereits gestohlen wurde, soll der Schalter "Items gestohlen" dienen.
| Sitzt dieser Schalter auf AN, so soll der betreffende Held, der stehlen will, feststellen, dass es nichts mehr zu stehlen gibt.
| Wenn dieser Schalter auf AUS steht, so soll eine Variable eine Zufallszahl zwischen 0 und 100 ermitteln (Wahrscheinlichkeit, mit der ein Diebstahl gelingen kann.
| Eine Bedingung danach soll prüfen, ob diese Zufallszahl größer als ein bestimmter Wert ist. Dieser wird in unserem Beispiel 50 sein. (50%ige Chance, dass der Diebstahl gelingt)
| Ist diese Zufallszahl größer als 50, so soll ein Gegenstand dem Inventar hinzugefügt und der Schalter "Items gestohlen" aktiviert werden.
| Ist die Zufallszahl kleiner oder gleich 50, so soll der Diebstahl misslingen und von neuem versucht werden müssen.

###### Darstellung der Stichpunkte in MML

Item-stehlen-Ereignis [Parallel] [Schalter [ItemDiebstahl Aktiv]]
[Bedingung] [Schalter][Items gestohlen][AUS]
| [Ja-Fall]
| [Variable [Stehlen%]] [<-- [Zufall zwischen [0] und [100] [Bedingung] [Variable][Stehlen%][größer][50]
| [Ja-Fall]
| [Item][+][Schlüssel][Manuelle Anzal [1]] [Nachricht] [Cool, hab ihm seinen Schlüssel ge-] [klaut..., he, he...] [Schalter [Items gestohlen]] [<-- [AN]]
| [Nein-Fall]
| [Nachricht] [Verdammt... ich komme da nicht ran...]
| [Nein-Fall]
| [Nachricht] [Der hat nichts mehr, was ich stehlen] [könnte...]
[Schalter [ItemDiebstahl AKTIV][<--[AUS]]

###### Was ihr im Vorfeld anlegen müsst...

1. | : | Zuallererst, bevor es an den Makercode geht, muss ein entsprechender "Schalter-Skill" angelegt werden. Dies macht ihr auf der Registerkarte "Skills/Fertigkeiten", indem ihr dort eine neue Fertigkeit mit der Klassifizierung "Switch/Schalter aktivieren" anlegt und einen Schalter bestimmt, der bei Gebrauch der Fertigkeit auf "ON/AN" gestellt wird. Nennt diesen Schalter "ItemDiebstahl AKTIV". Achtet auch darauf, dass die Fertigkeit auch im Kampf verfügbar ist (Feld "Available at/Einsetzbar in"). Im Beispiel geben wir der Fertigkeit den Namen "Item stehlen".
2. | : | Als zweites begebt ihr euch auf die Registerkarte "Monster/Gegner" und legt dort einige Gegner an. Besonderheiten dafür gibt es keine, lasst einfach eurer Kreativität freien Lauf...

###### Anleitung zur Erstellung des Maker-Codes, Teil 1

1. | : | Bleibt in der Datenbank, nur dass ihr diesmal auf die Registerkarte "Monsters Party/Gegnergruppen" wechselt. Hier stellt ihr zunächst einmal eine Gegnergruppe zusammen, die aus einem oder mehr Gegnern bestehen kann.
2. | : | Widmet euch nun dem Feld "Battle Events/Kampfereignisse". Als "Trigger/Auslöser" bestimmt ihr mit Klick auf den Button mit den drei Punkten den Schalter, den ihr "ItemDiebstahl AKTIV" genannt habt. Hierdurch wird der nachfolgende Ereigniscode aktiv, sobald der Schalter ebenfalls aktiviert wird (was durch die Fertigkeit "Item stehlen" passiert).
3. | : | Nun muss als Erstes eine Bedingung erfolgen, die abfragt, ob die Gegnergruppe bereits bestohlen wurde. Wählt also das Ereigniskommando "Fork Conditions/Bedingungen", wo ihr die Option "Switch/Schalter", dann einen freien Schalter (gebt ihm den Namen "Items gestohlen") und die Auswahl "OFF/AUS" wählt. Die Bedingung sollte nun in Form von Maker-Code wie folgt aussehen:
Im englischem Maker
<>If Switch(Items gestohlen) is OFF <> :Else Case <> :End Case
Im deutschem Maker (V1.10c)
<>Bedingung:Schalter[Items gestohlen]- AUS <> :Ansonsten <> :End-Fall
4. | : | Innerhalb des Nein-Falles der Bedingung (die Gegnergruppe wurde bereits bestohlen; der Bereich ist dunkelrot hervorgehoben) legt ihr eine neue Nachricht an, durch die euch der stehlende Held sagt, dass die Gegner bereits bestohlen wurden. Das entsprechende Ereigniskommando hierfür ist "Show Message/Nachricht ausgeben". In unserem Beispiel verwenden wir den Text "Der hat nichts mehr, was ich stehlen könnte..."
5. | : | Innerhalb des Ja-Falles dieser Bedingung (die Gegnergruppe wurde noch nicht bestohlen; der Bereich ist dunkelgrün hervorgehoben) soll nun eine Variable die Wahrscheinlichkeit zufällig bestimmen, mit welcher der Gegner bestohlen werden soll. Das Ereigniskommando dafür ist "Change Variable/Variable(n) verändern". Hier wählt ihr eine freie Variable aus, der ihr den Namen "Stehlen%") gebt. Eine neue Zahl soll gesetzt werden ("Set/Wert setzen") und dieser neue Wert soll ein Zufallswert sein ("Random/Zufall"). Tragt hier, bei "Random/Zufall" links eine 0 und rechts eine 100 ein, damit eine Zufallszahl zwischen 0 und 100 bestimmt werden kann.
6. | : | Nun folgt eine Bedingung, die abfragt, ob der Zufallswert größer oder gleich der Zahl 50 ist. Wählt also das Ereigniskommando ""Fork Conditions/Bedingungen", wo ihr die Option "Variable" und dort die zuvor verwendete Variable "Stehlen%" auswählt. Darunter wählt ihr "Set/Wählen" und gebt eine "50" ein. Da der Wert der Variable größer sein soll, um einen Ja-Fall zu erreichen, wählt ihr im Drop-Down-Menü noch die Auswahl "bigger/größer". Vergesst auch hier wieder den "Else-Case/Ansonstenfall" nicht. Eure Bedingung sollte nun wie folgt aussehen:
Im englischem Maker
<>If Var(Stehlen%) 50 (>) <> :Else Case <> :End Case
Im deutschem Maker (V1.10c)
<>Bedingung:Varb[Stehlen%]-50 > <> :Ansonsten <> :End-Fall
7. | : | Im Ja-Fall dieser Bedingung (Das stehlen klappt; der Bereich dafür ist blau hervorgehoben) bestimmt ihr nun, welcher Gegenstand gestohlen werden soll. Dies macht ihr mit dem Ereigniskommando "Add Item/Item(s) hinzufügen/entfernen". In unserem Beispiel wird ein Schlüssel geklaut.
8. | : | Sowie ihr bestimmt habt, welche Gegenstände euer Hauptcharakter gestohlen hat, sollte eine Nachricht darüber Auskunft geben, was denn die Beute des Raubzuges war. Das Ereigniskommando dafür ist "Show Message/Nachricht ausgeben". In unserem Beispiel lautet der Text "Cool, hab ihm seinen Schlüssel geklaut... he, he...".
9. | : | Als letztes innerhalb des blauen Ja-Falles muss noch der Schalter "Items gestohlen" mit Hilfe des Ereigniskommandos "Change Switch/Schalterzustand ändern" auf AN gesetzt werden.
10. | : | Innerhalb des Nein-Falles der unter Punkt 6 angelegten Bedingung (Das stehlen klappte nicht; der Bereich dafür ist pink hervorgehoben), soll nun eine Nachricht aussagen, dass der Diebstahl daneben ging. Das Ereigniskommando, mit dem ihr diese Nachricht anlegen könnt, ist "Show Message/Nachricht ausgeben". In unserem Beispiel soll hier der Text "Verdammt... ich komme da nicht ran..." stehen.
11. | : | Ganz am Ende des Maker-Codes muss noch der Schalter, der das Stehlen ermöglichte (in unserem Beispiel "ItemDiebstahl AKTIV") wieder deaktiviert werden, damit der Kampf normal weitergehen kann. Das Ereigniskommando hierfür ist "Change Switch/Schalterzustand ändern".

###### Der erstellte Maker-Code, Teil 1:

Im englischem Maker
<>If Switch(Items gestohlen) is OFF <>Change Var: Var[Stehlen%] (Set)-Random(0 to 100) <>If Var(Stehlen%) 50 (>) <>Chng Item Count: (Schlüssel) 1 (Add) <>Message: Cool, hab ihm seinen Schlüssel ge- : : klaut... he, he... <>Change Switch: Var[Items gestohlen] Switch ON <> :Else Case <>Message: Verdammt... ich komme da nicht ran... <> :End Case :Else Case <>Message: Der hat nichts mehr, was ich stehlen : : könnte... <> :End Case <>Chance Switch: Var[ItemDiebstahl AKTIV] Switch OFF <>
Im deutschem Maker (V1.10c)
<>Bedingung:Schalter[Items gestohlen]- AUS <>Var. ändern:[Stehlen%]Wert, Zufll[0*100] <>Bedingung:Varb[Stehlen%]-50 > <>+/- Item: Schlüssel-> 1 erhö. <>Nachr: Cool, hab ihm seinen Schlüssel ge- : : klaut... he, he... <>Schalter ändern: [Items gestohlen]-[AN] <> :Ansonsten <>Nachr: Verdammt... ich komme da nicht ran... <> :End-Fall <> :Ansonsten <>Nachr: Der hat nichts mehr, was ich stehlen : : könnte... <> :End-Fall <>Schalter ändern: [ItemDiebstahl AKTIV]-[AUS] <>

###### Was nun noch fehlt...

Angenommen, ihr habt dieses Item-Stehlen-Ereignis so, wie es ist, in mehreren Gegnergruppen verwendet. Dass ihr dabei immer den selben Schalter verwenden müsst, ist klar. Wurde schließlich so erklärt.
Aber nun ist der Kampf vorbei, der Gegner bestohlen und besiegt und der Schalter "Items gestohlen" ist nach wie vor noch aktiv. Habt ihr diesen Schalter auch in den anderen Gegnergruppen verwendet, würdet ihr so vor einem Problem stehen:
"Eine Gegnergruppe wurde bestohlen, doch damit habt ihr nun keine Möglichkeit mehr, die anderen Gegnergruppen zu bestehlen."
Nur... was tun?

| Direkt nach dem Kampf muss ein Ereignis aktiv werden, egal, auf welcher Karte sich die Heldentruppe befindet. Es muss also ein "Common Event/Häufig benötigtes Ereignis" sein, das wir hier anlegen.
| Da dieses Ereignis genau dann aktiv werden muss, wenn die Helden aus dem Kampf kommen und der Schalter "Items gestohlen" auf AN steht, muss es auf "Autostart" stehen und dieser Schalter "Items gestohlen" deaktiviert werden. Dies ermöglicht es zum Einen, dass die Gegnergruppen erneut bestohlen werden können und zum Anderem, dass das "Common Event/Häufig benötigte Ereignis" sich selbst deaktiviert.

###### Anleitung zur Erstellung des Maker-Codes, Teil 2

1. | : | Bleibt nach wie vor in der Datenbank, nur dass ihr auf die Registerkarte "Common Events/Häufig benötigte Ereignisse" wechselt. Wählt hier eine freie Zahlenkolonne aus, der ihr den Namen "Stehlen ermöglichen" gebt. Setzt es auf "Auto Start/Automatisch starten" und wählt im Feld daneben den Schalter aus, den ihr "Items gestohlen" genannt habt.
2. | : | Als einziges Ereigniskommando muss hier der Schalter "Items gestohlen" auf OFF/AUS gesetzt werden. Das entsprechende Ereigniskommando dafür ist "Change Switch/Schalterzustand ändern".

Eine Darstellung des Makercodes erfolgt für den zweiten Teil nicht, da es lediglich ein einziges Ereigniskommando ist, um das es geht.

| Beachtet, dass diese Fertigkeit lediglich für das Standard-Kampfsystem des Makers konzipiert ist. Sobald ihr ein eigenes Kampfsystem in euer Projekt integrieren und euren Hauptcharakteren das Stehlen erlauben wollt, müsst ihr eine eigene Stehlen-Fertigkeit entwerfen.