EventsProfessional  Der eigene Stepping-Effekt (Original by Bluegesyr)
Vorüberlegungen I - Was ist eigentlich ein Stepping-Effekt?

Damit ist gemeint, wenn sich gewisse Charaktere praktisch auf der Stelle bewegen. Sie ändern ihre Position nicht, bewegen sich aber dennoch, sodass es wirkt, als würden sie auf ein und der selben Stelle laufen.
Dieser Effekt des "Auf-der-Stelle-Laufens", den wir "Stepping-Effekt" nennen werden, ist für jedes Ereignis vorgesehen, das ihr innerhalb eures Projektes auf einer Karte platzieren könnt, außer für die Heldentruppe. Doch auch die wollt ihr auf der Stelle laufen lassen, gerade weil ihr es schon beim einem oder anderem Spiel gesehen habt...

! Beachtet, dass dieses Tutorial nicht richtig funktioniert, wenn ihr das Tutorial [Andere Kleider] bereits in der Datenbank angelegt habt. Ihr müsst es dann von Hand in den "Stepping-Effekt" einbauen.
Vorüberlegungen II - Ein wenig Vorarbeit...

... ist nötig, ehe ihr mit der Erstellung des Maker-Codes loslegen könnt. Die beschränkt sich nur auf das erstellen eines CharSets für den "führenden Hauptcharakter", der auf der Karte zu sehen sein wird. Ihr solltet euch schon darüber im Klarem sein, welcher eurer vielen Hauptcharaktere das sein wird. Hier habt ihr zwei vorgefertigte CharSets für den Stepping-Effekt:

[stepping_alex.png][stepping_annie.png]

Ihr werdet sicher mehr oder weniger verwirrt sein, wenn ihr euch die Einzelbilder der CharSets anschaut. Sie wirken stellenweise chaotisch, doch da steckt ein System dahinter, das sich am Besten anhand folgender Vorlage erklären lässt:

[template_charset_3.png]

Auf dieser Vorlage sind die Spalten 2, 5, 8 und 11 hervorgehoben. Für einen Stepping-Effekt werdet ihr jedoch nur die linken drei hervorgehobenen Spalten brauchen.
Hintergrund ist der, dass ein Charakter, der im Maker durch ein CharSet dargestellt wird, aus drei "Stepping-Stufen" dargestellt wird:

. Der von euch aus linke Fuß ist vorne
 
. Der Chara steht
 
. Der von euch aus rechte Fuß ist vorne

Für jede dieser Stepping-Stufen braucht ihr nun ein eigenes, auf den betreffenden Helden zugeschnittenes CharSet, das für jede Blickrichtung jede Stepping-Stufe darstellt. Das heißt, dass ihr für einen Helden auf einer CharSet-Grafik drei neue Sets anlegen müsst. Wichtig ist hier in der oben angelinkten Vorlagengrafik die hervorgehobene Spalte, da der Maker diese später zur Darstellung des Stepping-Effektes verwenden wird.

Der Grund dafür ist, dass folgender Sachverhalt vom Maker praktiziert wird, wenn sich die Heldentruppe "nicht" bewegt:
Es wird, je nach Blickrichtung, von einem gewähltem Charakter eines Charaktersets die mittlere Teilgrafik angezeigt. Diese wiederum befindet sich in den auf der Grafik [template_charset_3.png] hervorgehobenen Bereichen. Blickrichtungen der einzelnen Zeilen sind wie folgt:

. Zeile 1/5: Hoch
 
. Zeile 2/6: Rechts
 
. Zeile 3/7: Runter
 
. Zeile 4/8: Links

Nun liegt es an euch, die Stepping-Teilgrafiken separat anzulegen. Denkt daran, am Ende die Farbtiefe auf 256 Farben zu reduzieren und die Grafik mit Hilfe "des RAW-Material-Editors/der Materialverwaltung" zu importieren. Wenn ihr soweit die "Stepping-Grafiken" beisammen habt, kann es eigentlich mit dem Anlegen des Makercodes losgehen...

Vorüberlegungen III - Bewegt sich die Heldentruppe?

Dies haben wir zuerst zu überprüfen... und zwar auf jeder Karte des Spiels. Daher wird der nachfolgende Code direkt in der Datenbank angelegt, genauer gesagt als "Common Event/Häufig benötigtes Ereignis", das als "paralleler Prozess" laufen soll:

. Speziell dafür hat es die Funktion "Enter Password/Tasten Abfragen", wo ihr eine neue, freie Variable auswählt und sie "Held läuft?" nennt. Setzt lediglich das Häkchen bei "Direction/Richtung" und keinesfalls soll gewartet werden, bis eine Taste gedrückt wird. Dies ist deshalb wichtig, weil genau dann, wenn keine der Richtungstasten gedrückt wird, eine "0" in die Variable geschrieben wird. Und die brauchen wir auch gleich...
 
. Direkt nach der Tastenabfrage soll eine Bedingung prüfen, ob in der Variable ein Wert steht, der anders als 0 ist. Einen Nein-Fall brauchen wir hier.
 
. Im Ja-Fall (Der Wert ist anders als 0, d.h. eine Richtungstaste wurde gedrückt), soll ein neuer, freier Schalter, den ihr "Held steht still?" nennt, auf OFF/AUS gestellt werden.
 
. Im Nein-Fall (Der Wert ist 0), soll der selbe Schalter auf AN gestellt werden.
Darstellung der Stichpunkte in MML
[Heldbewegungskontroll-Ereignis][Parallel]
[Variable [Held läuft?]] [<-- Links, Oben, Rechts, Unten]
[Bedingung][Variable [Held läuft?]][anders][0]
  [Ja-Fall]
  [Schalter [Held steht still?]][<-- [AUS]]
transparent transparent
  [Nein-Fall]
  [Schalter [Held steht still?]][<-- [AN]]
Der erstellte Maker-Code
Im englischem Maker
<>Enter Password: Var[ Held läuft?]
<>If Var(Held läuft?) 0(<>)
 <>Change Switch: Var[Held steht still?] Switch OFF
 <>
:Else Case
 <>Change Switch: Var[Held steht still?] Switch ON
 <>
:End Case
<>
Im deutschem Maker (V1.10c)
<>Tasten abfragen:[Held läuft?]
<>Bedingung: Varbl[Held läuft?]-0andr
 <>Schalter ändern: [Held steht still?]-[AUS]
 <>
:Ansonsten
 <>Schalter ändern: [Held steht still?]-[AUS]
 <>
:End-Fall
<>
Vorüberlegungen IV - Held läuft auf der Stelle...

...wenn er oder sie sich nicht anderweitig auf der Karte bewegt. Die Bewegungsprüfung haben wir ja zuvor schon angelegt. Nun folgt also das, was passieren soll, wenn sich der Held nicht bewegt. Hier müssen wir darauf achten, dass sich die Truppführung während des Spiels auch ändern kann. Und da auch der Stepping-Effekt auf jeder Karte verfügbar sein soll, wird der Stepping-Effekt ebenfalls in der Datenbank bei den "Common Events/Häufig benötigten Ereignissen" angelegt, das ebenfalls als paralleler Prozess laufen soll (in unserem Beispiel gehen wir davon aus, dass die Heldentruppe aus maximal 2 Charas bestehen wird, in unserem Beispiel Alex und Annie):

. Wichtig ist, dass dieses Ereignis als paralleler Prozess läuft und erst dann aktiv wird, wenn der Schalter "Held steht still?" auf AN ist.
 
. Als erstes soll eine Bedingung abfragen, ob ein neuer, freier Schalter namens "Annie führt" auf AN steht. Ein Nein-Fall ist hierbei nötig.
 
. Im Ja-Fall soll mit Hilfe eines "Move Events/Bewegungsereignisses" nun aus den "Stepping-Charsets" das gewählt werden, das den Chara mit dem von euch aus linkem Fuß nach vorn zeigt. Wichtig ist, dass als "Ziel" der "Hero/Held" gewählt wird.
 
. Im Nein-Fall würde nach selbem Prinzip das folgen, was die zwei Punkte vorher beschrieben wurde. In unserem Beispiel jedoch sind wir beim letztem Helden. Also soll alles damit beginnen, dass eine Bedingung abfragt, ob dieser "letzte Held", der "Standard-Teamchef" auch in der Heldentruppe ist. Einen Nein-Fall-Brauchen wir hier nicht.
Hintergrund: Sowie eure Heldentruppe einmal in den eigenen Inventar oder ein eigenes SKS teleportiert werden, wird kein Stepping-Effekt ausgeführt, welcher dann auch nicht mit einem Schalter ausgeschaltet werden muss.
 
. Weiter geht es im Ja-Fall der eben angelegten Bedingung, denn hier kommt nun noch eine Besonderheit hinzu: Der Kleiderwechsel.
Eine Bedingung soll nun im Nein-Fall abfragen, ob Alex mit einer Rüstung (in unserem Beispiel die "Drachenrüstung") ausgerüstet ist.
 
. Im Ja-Fall der Bedingung soll nun das Charset gezeigt werden, das den "Rüstungstragenden Alex" mit dem linkem Fuß vorne zeigt. Wichtig ist, dass als "Ziel" der "Hero/Held" gewählt wird.
 
. Im Nein-Fall soll der "normale Alex" gezeigt werden.
 
. In der letzten Codezeile, außerhalb der Bedingungen soll ein "Wait/Einen Moment warten" über ca. 0,3 bis 0,5 Sekunden folgen, so als kurze Pause, damit das Stepping auch sichtbar ist.
 
. Nach dem "Warten-Ereigniskommando" wiederholt ihr die zuvor genannten sechs Punkte und wählt der Reihe nach folgende Charakter-Erscheinungen:
"Stehend" --> "Rechter Fuß vorne" --> "Stehend".
Jedem dieser "Stepping-Teile" muss ein Warte-Ereignis folgen. Alle Warte-Ereignisse sollten gleich lange sein.
Darstellung der Stichpunkte in MML
[Stepping-Ereignis][Parallel][Schalter [Held steht still]]
[Bedingung][Schalter [Annie führt?]][AN]
  [Ja-Fall]
  [Eventbewegung][Heldgrafik wechseln]
/*
 * Annie wird hier mit dem linkem Fuß vorne gezeigt
 */
transparent transparent
  [Nein-Fall]
  [Bedingung][Held][Alex][im Team]
  [Ja-Fall]
  [Bedingung][Held [Alex]][Item [Drachenrüstung] ausgerüstet]
  [Ja-Fall]
  [Eventbewegung][Heldgrafik wechseln]
/*
 * Alex wird hier mit linkem Fuß vorne gezeigt sowie
 * mit der Drachenrüstung, die er trägt
 */
transparent transparent
  [Nein-Fall]
  [Eventbewegung][Heldgrafik wechseln]
/*
 * Alex wird hier ganz normal mit dem linkem Fuß vorne gezeigt
 */
[Warten [0,3 Sekunden]]
[Bedingung][Schalter [Annie führt?]][AN]
  [Ja-Fall]
  [Eventbewegung][Heldgrafik wechseln]
/*
 * Annie wird hier mit normal stehend gezeigt
 */
transparent transparent
  [Nein-Fall]
  [Bedingung][Held][Alex][im Team]
  [Ja-Fall]
  [Bedingung][Held [Alex]][Item [Drachenrüstung] ausgerüstet]
  [Ja-Fall]
  [Eventbewegung][Heldgrafik wechseln]
/*
 * Alex wird hier normal stehend gezeigt sowie
 * mit der Drachenrüstung, die er trägt
 */
transparent transparent
  [Nein-Fall]
  [Eventbewegung][Heldgrafik wechseln]
/*
 * Alex wird hier ganz normal stehend gezeigt
 */
[Warten [0,3 Sekunden]]
[Bedingung][Schalter [Annie führt?]][AN]
  [Ja-Fall]
  [Eventbewegung][Heldgrafik wechseln]
/*
 * Annie wird hier mit dem rechtem Fuß vorne gezeigt
 */
transparent transparent
  [Nein-Fall]
  [Bedingung][Held][Alex][im Team]
  [Ja-Fall]
  [Bedingung][Held [Alex]][Item [Drachenrüstung] ausgerüstet]
  [Ja-Fall]
  [Eventbewegung][Heldgrafik wechseln]
/*
 * Alex wird hier mit rechtem Fuß vorne gezeigt sowie
 * mit der Drachenrüstung, die er trägt
 */
transparent transparent
  [Nein-Fall]
  [Eventbewegung][Heldgrafik wechseln]
/*
 * Alex wird hier ganz normal mit dem rechtem Fuß vorne gezeigt
 */
[Warten [0,3 Sekunden]]
[Bedingung][Schalter [Annie führt?]][AN]
  [Ja-Fall]
  [Eventbewegung][Heldgrafik wechseln]
/*
 * Annie wird hiernormal stehend gezeigt
 */
transparent transparent
  [Nein-Fall]
  [Bedingung][Held][Alex][im Team]
  [Ja-Fall]
  [Bedingung][Held [Alex]][Item [Drachenrüstung] ausgerüstet]
  [Ja-Fall]
  [Eventbewegung][Heldgrafik wechseln]
/*
 * Alex wird hier normal stehend gezeigt sowie
 * mit der Drachenrüstung, die er trägt
 */
transparent transparent
  [Nein-Fall]
  [Eventbewegung][Heldgrafik wechseln]
/*
 * Alex wird hier ganz normal stehend gezeigt
 */
[Warten [0,3 Sekunden]]
Der erstellte Maker-Code
Im englischem Maker
<>Note: Step left
<>If Switch (Annie führt?) is ON
 <>Move Event: Hero-Change Graphic
 <>
:Else Case
 <>If Alex is in the party
  <>If Alex==>Drachenrüstung is Equipped
   <>Move Event: Hero-Change Graphic
   <>
  :Else Case
   <>Move Event: Hero-Change Graphic
   <>
  :End Case
  <>
 :End Case
 <>
:End Case
<>Wait: 0.3sec
<>Note: Step middle
<>If Switch (Annie führt?) is ON
 <>Move Event: Hero-Change Graphic
 <>
:Else Case
 <>If Alex is in the party
  <>If Alex==>Drachenrüstung is Equipped
   <>Move Event: Hero-Change Graphic
   <>
  :Else Case
   <>Move Event: Hero-Change Graphic
   <>
  :End Case
  <>
 :End Case
 <>
:End Case
<>Wait: 0.3sec
<>Note: Step right
<>If Switch (Annie führt?) is ON
 <>Move Event: Hero-Change Graphic
 <>
:Else Case
 <>If Alex is in the party
  <>If Alex==>Drachenrüstung is Equipped
   <>Move Event: Hero-Change Graphic
   <>
  :Else Case
   <>Move Event: Hero-Change Graphic
   <>
  :End Case
  <>
 :End Case
 <>
:End Case
<>Wait: 0.3sec
<>Note: Step middle
<>If Switch (Annie führt?) is ON
 <>Move Event: Hero-Change Graphic
 <>
:Else Case
 <>If Alex is in the party
  <>If Alex==>Drachenrüstung is Equipped
   <>Move Event: Hero-Change Graphic
   <>
  :Else Case
   <>Move Event: Hero-Change Graphic
   <>
  :End Case
  <>
 :End Case
 <>
:End Case
<>Wait: 0.3sec
<>
Im deutschem Maker (V1.10c)
<>Notiz: Step left
<>Bedingung:Schalter[Annie führt?]-AN
 <>Bewegungsereignis: Held, Graf. ändern
 <>
:Ansonsten
 <>Bedingung:Alex ist in Partie
  <>Bedingung:Alex- Drachenrüstung ausgerüstet
   <>Bewegungsereignis: Held, Graf. ändern
   <>
  :Ansonsten
   <>Bewegungsereignis: Held, Graf. ändern
   <>
  :End-Fall
  <>
 :End-Fall
 <>
:End-Fall
<>Warten: 0,3S.
<>Notiz: Step middle
<>Bedingung:Schalter[Annie führt?]-AN
 <>Bewegungsereignis: Held, Graf. ändern
 <>
:Ansonsten
 <>Bedingung:Alex ist in Partie
  <>Bedingung:Alex- Drachenrüstung ausgerüstet
   <>Bewegungsereignis: Held, Graf. ändern
   <>
  :Ansonsten
   <>Bewegungsereignis: Held, Graf. ändern
   <>
  :End-Fall
  <>
 :End-Fall
 <>
:End-Fall
<>Warten: 0,3S.
<>Notiz: Step right
<>Bedingung:Schalter[Annie führt?]-AN
 <>Bewegungsereignis: Held, Graf. ändern
 <>
:Ansonsten
 <>Bedingung:Alex ist in Partie
  <>Bedingung:Alex- Drachenrüstung ausgerüstet
   <>Bewegungsereignis: Held, Graf. ändern
   <>
  :Ansonsten
   <>Bewegungsereignis: Held, Graf. ändern
   <>
  :End-Fall
  <>
 :End-Fall
 <>
:End-Fall
<>Warten: 0,3S.
<>Notiz: Step middle
<>Bedingung:Schalter[Annie führt?]-AN
 <>Bewegungsereignis: Held, Graf. ändern
 <>
:Ansonsten
 <>Bedingung:Alex ist in Partie
  <>Bedingung:Alex- Drachenrüstung ausgerüstet
   <>Bewegungsereignis: Held, Graf. ändern
   <>
  :Ansonsten
   <>Bewegungsereignis: Held, Graf. ändern
   <>
  :End-Fall
  <>
 :End-Fall
 <>
:End-Fall
<>Warten: 0,3S.
Was ihr noch beachten solltet...

...wäre, dass wenn ein Wechsel des Teamchefs stattfindet, der für den neuen Teamchef bestimmte Schalter auch auf AN gestellt wird. Würde also in unserem Beispiel die Teamführung von "Annie" übernommen werden, so müsste der Schalter "Annie führt?" auf "AN" gestellt werden. Übernimmt dann später Alex wieder die Teamführung, so soll der Schalter "Annie führt?" auf "AUS" gestellt werden... damit der richtige Stepping-Effekt für den richtigen Helden dargestellt wird.

Speziellen Dank an:

Bluegesyr, der das Script in der Rohfassung beisteuerte, aus dem das Tutorial entstand. Hinsichtlich der Verwendung und der "Heldenabhängigkeiten" wurde es von mir etwas erweitert, damit auch ein "Kleider-Wechsel" möglich ist.