| Ein Geld-Stehlen-Zauber

###### Vorüberlegungen

Wenn ihr euch bereits mit dem "Item-Stehlen-Zauber" beschäftigt habt, wird euch die Idee gekommen sein, dass es beim Erstellen eines "Geld-Stehlen-Zaubers" an sich keinen Unterschied geben kann. Einfach anstelle eines Items das Geld hinzufügen und fertig. Nur... bei den Ereignissen, die ihr direkt den Gegnergruppen zuweist, hat es keine Option "Change Gold held/Geld erhöhen/vermindern". Also... wie kann den Gegnern nun eine gewisse Summe Geld gestohlen werden?

| Zuallererst muss es eine Fertigkeit geben, die einen Schalter aktiviert. Diesen Schalter nennen wir "GeldDiebstahl 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 "GeldDiebstahl 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 "Geld 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 gewisser Geldbetrag gestohlen und der Schalter "Geld gestohlen" aktiviert werden. Dieser Geldbetrag (in unserem Beispiel 200 Euro) soll zunächst in einer Variable "gestohlenes Geld" gespeichert werden. Wofür, folgt später.
| Ist die Zufallszahl kleiner oder gleich 50, so soll der Diebstahl misslingen und von neuem versucht werden müssen.

###### Darstellung der Stichpunkte in MML

Geld-stehlen-Ereignis [Parallel] [Schalter [GeldDiebstahl Aktiv]]
[Bedingung] [Schalter][Geld gestohlen][AUS]
| [Ja-Fall]
| [Variable [Stehlen%]] [<-- [setzen][Zufall zwischen [0] und [100] [Bedingung] [Variable][Stehlen%][größer][50]
| [Ja-Fall]
| [Variable [gestohlenes Geld] [<-- [setzen][200]] [Nachricht] [Cool, hab ihm 200 Euro... und die sind mir^^] [Schalter [Geld gestohlen]] [<-- [AN]]
| [Nein-Fall]
| [Nachricht] [Verdammt... ich komme da nicht ran...]
| [Nein-Fall]
| [Nachricht] [Der hat nichts mehr, was ich stehlen] [könnte...]
[Schalter [GeldDiebstahl 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 "GeldDiebstahl 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 "GeldDiebstahl AKTIV" genannt habt. Hierdurch wird der nachfolgende Ereigniscode aktiv, sobald der Schalter ebenfalls aktiviert wird (was durch die Fertigkeit "Geld 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 "Geld 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(Geld gestohlen) is OFF <> :Else Case <> :End Case
Im deutschem Maker (V1.10c)
<>Bedingung:Schalter[Geld 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, wie viel Geld gestohlen werden soll. Dies geht nicht direkt, sondern soll vorerst als Wert in der Variable "gestohlenes Geld" gespeichert werden. Das Ereigniskommando dafür heißt "Change Variable/Variable(n) verändern", wo ihr eine freie Variable auswählt und ihr den Namen "gestohlenes Geld" gebt. Wählt als Operator unbedingt "Set/Wert setzen" und weist der Variable direkt einen gewissen Geldbetrag zu (in unserem Beispiel 200). Ihr könnt hier auch eine Zufallszahl bestimmen lassen... es liegt ganz bei euch.
8. | : | Sowie ihr bestimmt habt, wie viel Geld 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, 200 Euro... und die sind mir^^".
9. | : | Als letztes innerhalb des blauen Ja-Falles muss noch der Schalter "Geld 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 "GeldDiebstahl 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(Geld gestohlen) is OFF <>Change Var: Var[Stehlen%] (Set)-Random(0 to 100) <>If Var(Stehlen%) 50 (>) <>Change Var: Var[gestohlenes Geld] (Set)-200 <>Message: Cool, 200 Euro... und die sind mir^^ <>Change Switch: Var[Geld 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[GeldDiebstahl AKTIV] Switch OFF <>
Im deutschem Maker (V1.10c)
<>Bedingung:Schalter[Geld gestohlen]- AUS <>Var. ändern:[Stehlen%]Wert, Zufll[0*100] <>Bedingung:Varb[Stehlen%]-50 > <>Var. ändern:[gestohlenes Geld]Wert, 200 <>Nachr: Cool, 200 Euro... und die sind mir^^ <>Schalter ändern: [Geld 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: [GeldDiebstahl AKTIV]-[AUS] <>

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

Angenommen, ihr habt dieses Geld-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 "Geld 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.
| Erinnert ihr euch noch an die Variable "gestohlenes Geld"? Sie enthält den Betrag, der von der Gegnergruppe geklaut wurde. Da wir nun ein "Common Event/Häufig benötigtes Ereignis" anlegen, haben wir hier auch das Kommando "Change Gold held/Geld erhöhen/vermindern", das wir den Wert der Variable "gestohlenes Geld" einfach dem Geldkonto der Helden hinzufügen lassen.
| Zuletzt muss noch der Schalter Items gestohlen" deaktiviert werden. Dies ermöglicht es zum Einen, dass die Gegnergruppen erneut ihr Geld gestohlen werden kann 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 "GeldStehlen ermögl." gebt. Setzt es auf "Auto Start/Automatisch starten" und wählt im Feld daneben den Schalter aus, den ihr "Geld gestohlen" genannt habt.
2. | : | Als erstes Ereigniskommando folgt nun das Hinzufügen des Wertes der Variable "gestohlenes Geld" dem Geldvermögen der Heldentruppe. Dies macht das Ereigniskommando "Change Gold held/Geld erhöhen/vermindern" für euch, das ihr auf der ersten Registerkarte der Ereigniskommandos findet. Statt dass ihr einen festen Zahlenwert angebt, wählt ihr die Option "Variable" und dort die Variable aus, die ihr "gestohlenes Geld" genannt habt.
3. | : | Als letztes Ereigniskommando muss hier der Schalter "Geld gestohlen" auf OFF/AUS gesetzt werden. Das entsprechende Ereigniskommando dafür ist "Change Switch/Schalterzustand ändern".

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

Im englischem Maker
<>Change Money: $V[gestohlenes Geld](Add) <>Change Switch: Var[Geld gestohlen]Switch OFF <>
Im deutschem Maker (V1.10c)
<>Geld ändern: Geld V[gestohlenes Geld] erhö. <>Schalter ändern: [Geld gestohlen]-[AUS <>]

| 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.