EventsBeginner  Dragonball-Fahrzeugkapseln
Vorüberlegungen

Die Serie und Filme rund um "Dragonball" sind den meisten von euch bekannt. In der einen oder anderen Episode kamen kleinere Gegenstände zum Einsatz, so genannte "Fahrzeugkapseln". Werden diese Kapseln benutzt, so lösen sie sich auf und geben ein bestimmtes Fahrzeug frei. In den einzelnen Episoden werden die Kapseln in Blickrichtung geworfen. Dies soll auch in euren Projekten so sein.

. Zuallererst muss es ein Item mit dem Namen der Fahrzeugkapsel, beispielsweise "Bootkapsel" geben, das benutzt werden kann. Damit diese Bootkapsel auch den gewünschten Effekt hat (in Blickrichtung vor dem Hauptcharakter soll das Fahrzeug erscheinen) muss es ein "Schalter-Item" sein (bei Gebrauch des Items wird ein Schalter aktiviert, den wir "Bootkapsel aktiv" nennen).
 
. Weil eine Fahrzeugkapsel auf jeder Karte verwendet werden kann, muss das Ereignis zum Werfen der Bootkapsel in der Datenbank bei den "Common Events/Häufig benötigten Ereignissen" abgelegt werden.
 
. Damit das Fahrzeug auf jeder Karte zu den Hauptcharakteren befördert werden kann, muss die aktuelle Heldenposition in der Spielwelt gespeichert werden.
 
. Ist die Heldenposition bekannt, so soll das Fahrzeug direkt an die selbe Stelle teleportiert werden, an der sich die Hauptcharaktere befinden.
 
. Direkt danach sollen Bedingungen die Blickrichtung der Hauptcharaktere abfragen: Schauen sie nach oben, so soll das Fahrzeug nach oben springen. Schaut die Heldentruppe nach links, so soll das Fahrzeug nach links springen, und so weiter. Damit das Fahrzeug auch springen und landen kann, selbst auf Chips, die es normalerweise nicht betreten kann (Spieler könnten ja so schlau sein und mitten in einer Wüste ein Boot benutzen wollen), muss auch noch gleichzeitig mit dem Springen das "Kriechen" verwendet werden.
Außerdem soll noch zum Schutz vor dem "Hängen-Bleiben" des Spiels die Kapselbewegung ignoriert werden, wenn sie nicht bewegt werden kann.
 
. In der letzten Zeile nach dem letztem End-Fall der Bedingungen muss noch der Schalter "Bootkapsel aktiv" auf AUS gesetzt werden, damit das Ereignis auch als "beendet" betrachtet werden kann.
Darstellung der Stichpunkte in MML
 Boot-Kapsel-Ereignis [Autostart] [Schalter [Bootkapsel Aktiv]]
[Heldenposition speichern] [Karte v nvariable [Karten-ID]]
    [X-Variable [Held-X]]
    [Y-Variable [Held-Y]]
[Fahrzeugposition] [Kartenvariable [Karten-ID]]
    [X-Variable [Held-X]]
    [Y-Variable [Held-Y]]
[Bedingung] [Ereignisblickrichtung][Held][Hoch]
  [Ja-Fall]
  [Eventbewegung] [Boot][Kriechen Start][Sprung Start]
    [Schritt Hoch][Sprung Ende][Kriechen Ende]
transparent transparent
  [Nein-Fall]
  [Bedingung] [Ereignisblickrichtung][Held][Rechts]
[Ja-Fall]
  [Eventbewegung] [Boot][Kriechen Start][Sprung Start]
    [Schritt Rechts][Sprung Ende][Kriechen Ende]
transparent transparent
[Nein-Fall]
  [Bedingung] [Ereignisblickrichtung][Held][Runter]
  [Ja-Fall]
  [Eventbewegung] [Boot][Kriechen Start][Sprung Start]
    [Schritt Runter][Sprung Ende][Kriechen Ende]
transparent transparent
  [Nein-Fall]
  [Bedingung] [Ereignisblickrichtung][Held][Links]
  [Ja-Fall]
  [Eventbewegung] [Boot][Kriechen Start][Sprung Start]
    [Schritt Links][Sprung Ende][Kriechen Ende]
[Schalter [Bootkapsel aktiv][<--[AUS]]
Was ihr im Vorfeld anlegen müsst...
1. : Zuallererst, bevor es an den Makercode geht, solltet ihr den entsprechenden Gegenstand auf der Registerkarte "Items" der Datenbank eures Projektes anlegen.
 
2. : Wichtig ist hier, dass ihr als Klassifizierung "Switch/Schalter aktivieren" wählt.
 
3. : Im Feld "On Switch/Schalter auf AN setzen" wählt ihr nun einen noch freien Schalter und gebt ihm einen Namen, wie in unserem Beispiel "Bootkapsel aktiv".
 
4. : Die restlichen Details wie Itembeschreibung, Preis und dergleichen sind eurer Kreativität überlassen, welche Werte ihr dort eintragt.
Anleitung zur Erstellung des Maker-Codes
1. : Bleibt in der Datenbank, nur dass ihr diesmal auf die Registerkarte "Common Events/Häufig benötigte Ereignisse" wechselt. Hier wählt ihr im Listenfeld eine noch unbenutzte Zahlenkombination aus, der ihr das Ereignis für das Verwenden einer Boot-Kapsel zuweist.
 
2. : Das Boot-Kapsel-Ereignis muss "Automatisch" startet, wenn der Schalter "Bootkapsel aktiv" auf ON/AN steht. Stellt dies entsprechend ein, bevor ihr die einzelnen Ereigniskommandos anlegt.
 
3.   Zuallererst muss die aktuelle Position der Heldengruppe gespeichert werden. Diese setzt sich aus den drei Werten "Karten-ID", "X-Koordinate" und "Y-Koordinate" zusammen. Dieses "Position speichern" wird durch das Ereigniskommando "Memoriy Place/Heldenposition speichern" recht komfortabel möglich (zu finden auf der zweiten Registerkarte der Ereigniskommandos.
Wählt dort für die "Karten-ID", "X-Koordinate" und "Y-Koordinate" jeweils eine eigene Variable und bestätigt die Auswahl mit OK.
 
4. : Direkt danach soll das Fahrzeug genau an der Position erscheinen, an der sich die Heldengruppe befindet. Möglich wird dies durch das Ereigniskommando "Setup Vehicle Place/Fahrzeug positionieren", welches ihr ebenfalls auf der zweiten Registerkarte der Ereigniskommandos findet. Wählt hier jeweils für "Karten-ID", "X-Koordinate" und "Y-Koordinate" die Variablen aus, die ihr unter dem vorhergegangenem Punkt bereits verwendet habt. Somit wird das Fahrzeug direkt an der Stelle erscheinen, an der sich die Heldentruppe befindet.
 
5. : Nun geht es ans Werfen der Kapsel (und des Kapsel-Fahrzeugs) um ein Feld in Blickrichtung der Heldentruppe. Hierfür ist zuallererst eine Bedingung erforderlich, die abfragt, ob die Heldentruppe in eine bestimmte Richtung schaut. Das Ereigniskommando zum Anlegen einer Bedingung findet ihr auf der dritten Registerkarte der Ereigniskommandos ("Fork Conditions/Bedingungen"). Begebt euch im Fenster zur Erstellung der Bedingungen auf die zweite Registerkarte, wo ihr den Punkt "Event" auswählt. Hier bestimmt ihr, dass das betreffende Event der "Hero/Held" sein soll und seine Blickrichtung nach "Up/Oben" sein soll. Auch benötigen wir hier einen "Ansonstenfall", ehe ihr auf OK klickt. Die Bedingung sollte nun wie folgt aussehen:
Im englischem Maker
<>If Hero==>Up (Direcktion)
 <>
:Else Case
 <>
:End Case
Im deutschem Maker (V1.10c)
<>Bedingung:Held - Ob[Ges.Richt.]
 <>
:Ansonsten
 <>
:End-Fall
 
6. : Innerhalb des Ja-Falles (dunkelgrün hervorgehoben) erstellt ihr nun ein Bewegungsereignis, welches das Fahrzeug in Feld nach oben bewegen soll, wenn die Heldentruppe nach oben schaut. Das entsprechende Ereigniskommando ist hier "Move Event/Bewegungsereignis erstellen". Hier bestimmt ihr, dass es das entsprechende Fahrzeug ist, das bewegt werden soll (Boat/Boot, Ship/Schiff oder Airship/Luftschiff). Klickt danach auf folgende Buttons "Start Slip Trough/Durchfallen AN", "Start Jump/Sprung starten", "Step up/Schritt hoch", "End Jump/Sprung beenden", "End Slip Trough/Durchfallen AUS". Setzt noch das Häkchen bei "Ignored, if can't be moved/Ignoriere, falls geblockt", ehe ihr auf OK klickt.
 
7. : Wiederholt die Punkte 5 und 6 für die anderen drei Blickrichtungen "rechts", "runter" und "links" in den Nein-Fällen der Bedingungen (hier im Beispiel ist der erste Nein-Fall dunkelrot hervorgehoben). Hier muss die Kapsel auch jeweils nach rechts, nach unten bzw. nach links geworfen werden, je nach dem, wohin die Heldengruppe schaut.
 
8. : Als allerletzte Amtshandlung muss noch der Schalter "Bootkapsel aktiv", der das Durchlaufen des Ereignisses erst ermöglichte, wieder auf OFF/AUS gesetzt werden. Das entsprechende Ereigniskommando findet ihr auf der ersten Registerkarte der Ereigniskommandos ("Change Switch/Schalterzustand ändern").
Der erstellte Maker-Code auf der ersten Seite des Ereignisses
Im englischem Maker
<>Memorize Place:Map[Karten-ID], X[Held-X], Y[Held-Y]
<>Teleport Vehicle: Boat-V[Karten-ID] (V[Held-X], V[Held-Y])
<>If Hero==>Up (Direcktion)
 <>Move Event: Boat-StartSlipTrough-Start Jump-Up-End Jump-StopSlipTrough
 <>

:Else Case
 <>If Hero==>Rigt (Direcktion)
  <>Move Event: Boat-StartSlipTrough-Start Jump-Right-End Jump-StopSlipTrough
  <>
 :Else Case
  <>If Hero==>Down (Direcktion)
   <>Move Event: Boat-StartSlipTrough-Start Jump-Down-End Jump-StopSlipTrough
   <>
  :Else Case
   <>if Hero==>Down (Direcktion)
    <>Move Event: Boat-StartSlipTrough-Start Jump-Down-End Jump-StopSlipTrough
    <>
   :End Case
   <>
  :End Case
  <>
 :End Case
 <>
:End Case
<>Change Switch:Var[Bootkapsel aktiv] Switch OFF
<>
Im deutschem Maker (V1.10b)
<>Position merken: [Karten-ID], [Held-X], [Held-Y]
<>Fahrzeugposition setzen: Boat, V[Karten-ID] (V[Held-X], V[Held-Y])
<>Bedingung:Held - Ob(Ges.Richt)
 <>Bewegungsereignis: Boat, Durchf. AN, Sprung str, Ob, Spr.Ende, Durchf. AUS
 <>

:Ansonsten
 <>Bedingung:Held - Rc(Ges.Richt)
  <>Bewegungsereignis: Boat, Durchf. AN, Sprung str, Recht, Spr.Ende, Durchf. AUS
  <>
 :Ansonsten
  <>Bedingung:Held - Un(Ges.Richt)
   <>Bewegungsereignis: Boat, Durchf. AN, Sprung str, Unt., Spr.Ende, Durchf. AUS
   <>
  :Ansonsten
   <>Bedingung:Held - Ln(Ges.Richt)
    <>Bewegungsereignis: Boat, Durchf. AN, Sprung str, Lnks, Spr.Ende, Durchf. AUS
    <>
   :End-Fall
   <>
  :End-Fall
  <>
 :End-Fall
 <>
:End-Fall
<>Schalter ändern:[Bootkapsel aktiv]-[AUS]
<>