Angriff mit einer Waffe

 [zurück]

Wichtig bei einem Kampfsystem ist die Darstellung im Kampf. Um die Verwendung von Kampfanimationen kommt ihr nicht vorbei.
Schritt 1: Das Erstellen der Kampfanimationen

Zuallererst braucht ihr Grafiken für die Darstellung der Waffe, mit der euer Held kämpfen soll. Benutzt hierfür zum Einen die Vorlage für Kampfanimationen, die hier als Anlage inklusive ist. Das zweite, was ihr braucht, ist entweder grafisches Geschick (ihr könnt dann die Waffen selbst auf die Vorlage malen) oder bereits vorgefertigte Waffengrafiken, die ihr lediglich zu Animationen bearbeiten müsst. Wie ihr das letztlich anfangt bleibt euch überlassen. Damit ihr aber vorerst zumindest weitermachen könnt folgt hier eine Beispielgrafik, die schon einmal die Grundgrafiken für eine Schwertanimation liefert.

Beachtet bitte die Punkte, die hier im Bezug auf das Erstellen von Maker-Grafiken aufgeführt sind und, dass ihr die Grafik für die Kampfanimationen im Verzeichnis "Battle" eures Projektverzeichnisses ablegt.

Sobald ihr soweit seid, müsst ihr in eurem Projekt in die Datenbank, die ihr durch Klick auf den Button mit der Tabelle oder durch Drücken der Taste [F8] erreicht. Hier klickt ihr zuerst auf die Registerkarte "Kampfanimationen" und dann auf den Button "Max. Feldnummer" und gebt eine Zahl ein, die größer als die Vorgabe ist (z.B.: für den Anfang 150). Achtet darauf, dass die Standard-Kampfanimationen erhalten bleiben... für den Fall, dass ihr sie später brauchen solltet.

Das Anordnen der Grafiken zu fertigen Kampfanimationen müsst ihr selbst nach eurem eigenem Geschmack machen... aber auch hier seit ihr nicht alleine auf euch gestellt:

Wenn ihr die oben genannte Grafik für die Kampfanimationen der Schwertschläge verwendet, solltet ihr wie folgt vorgehen:

  1. Wählt, wenn ihr in der Datenbank seid, die Registerkarte "Kampfanimationen" aus.
    Dort angekommen klickt ihr auf den Button "Max. Feldnummer" und gebt eine Zahl ein, die über der liegt, die euch vorgegeben wird, z.B.: 150.
    Wählt nun im Feld am linkem Fensterrand eine freie Zahl aus, der ihr einen passenden Namen gebt, beispielsweise "Schwertschlag hoch", wenn euer Held nach oben schlagen soll.
    Im Feld "Kampfanimation auswählen" wählt ihr die oben abgebildete Datei "Linksschwert" aus. Im Feld "Max. Bilder" klickt ihr auf den Button mit den drei Punkten und gebt eine "8" (Acht) ein.
  2. Klickt unter dem Button "Zurück" auf die Zahl "< 01 >". Nun wählt ihr eine der Grafiken unten aus und klickt im schwarzem Fenster in der Mitte an eine beliebige Stelle. Achtet darauf, dass sie mit dem Charakter zusammenpasst und es im Spiel den Anschein hat, als würde der Charakter mit dem Schwert einen Hieb ausführen.
    Mit Klick auf den Button "Playback" könnt ihr testen, ob der Schwertschlag auch soweit korrekt angelegt ist.
  3. Macht Animationen für einen Schlag nach oben, einen Schlag nach unten, einen für nach links und rechts.

Bedenkt, dass ihr für jede Waffe, mit der euer Held ausgerüstet sein soll, diese Kampfanimationen anfertigen müsst, beispielsweise für Schwerter, Speere und ähnliches.

Wenn ihr nun die Kampfanimationen soweit beisammen habt, geht es an das "Coden"...

Schritt 2: Der Angriffs-Code...

Gut, die Kampfanimationen sind fertig. Ihr habt nun den kreativen Teil soweit hinter euch. Nun geht es daran, dass euer Held auf Kommando (wenn die Taste [ENTER] gedrückt wird), mit dem Schwert einen Schlag in die entsprechende Richtung ausführt. Klingt einfach... ist es auch...

  1. Bleibt in der Datenbank und wählt die Registerkarte "Allg. Ereignisse" aus. Hier wählt ihr links eine freie Zahl aus, der ihr das neue Common Event zuordnen wollt.
    Gebt dem Event im Feld "Name" einen entsprechenden Namen, z.B.: "Angriff"
    Im Feld "Startvoraussetzungen" wählt ihr die Option "Paralleler Prozess".
    Klickt im Feld "Auslösender TAB" in das weiße Quadrat und dann auf den Button mit den drei Punkten. In dem sich dann öffnendem Fenster wählt ihr einen freien TAB aus, dem ihr den Namen "Waffe aktiv" gebt.
  2. Klickt im Feld "Ereigniskommandos" doppelt in die leere Zeile und wählt im darauf folgendem Fenster die dritte Registerkarte und wählt dort den Button "Tasten abfragen".
    Im Feld "Tastencode in Variable speichern" klickt ihr auf den Button mit den drei Punkten und wählt eine freie Variable aus, der ihr den Namen "Angriff" gebt.
    Im Feld "Optionen" setzt ihr noch das Häkchen bei "Warte, bis Taste gedrückt".
    Im Feld "Mögliche Tasten für die Eingabe" setzt ihr nur das Häkchen bei "Bestätigung (5)". Macht die Häkchen bei den anderen beiden unbedingt raus (!).
    Klickt dann auf OK.
  3. Klickt nun unterhalb der Tastenabfrage doppelt in die leere Zeile und wählt im darauf folgendem Fenster die dritte Registerkarte und dort den Button "Bedingungen".
    Auf der ersten Registerkarte wählt ihr die Option "Variable". Klickt auf den Button mit den drei Punkten und wählt eine freie Variable aus, der ihr den Namen "Waffenart" gebt.
    Darunter wählt ihr die Option "Wähle" und gebt im Feld darunter eine "0" (Null) ein. Wählt im Drop-Down-Menü darunter noch die Option "gleich", setzt das Häkchen bei "+Ansonstenfall" und klickt auf OK.
  4. Klickt über dem Wort "Ansonsten" doppelt in die leere Zeile und wählt im darauf folgendem Fenster die dritte Registerkarte und dort den Button "Variablen verändern".
    Im Feld "Wähle Variable(n)" wählt ihr die Option "Eine" und mit Klick auf den Button mit den drei Punkten eine freie Variable aus, der ihr den Namen "Attacke ausführen" gebt.
    Im Feld "Funktionen" wählt ihr die Option "Wähle" und im Feld "Operand" die Option "Wähle". Gebt hier im Textfeld daneben eine "1" (Eins) ein. Klickt dann auf OK.
  5. Klickt nun doppelt in die leere Zeile darunter und wählt im darauf folgendem Fenster die dritte Registerkarte und dort den Button "Bedingungen".
    Wählt die zweite Registerkarte und dort die Option "Ereignis". Wählt im erstem Drop-Down-Menü die Option "Held" und im zweiten daneben die Option "Hoch" (Gesichtsricht.). Setzt das Häkchen bei "+Ansonstenfall" und klickt auf OK.
  6. Über den Worten "Ansonsten" der eben erstellen Bedingung klickt ihr doppelt in die leere Zeile und wählt im darauf folgendem Fenster die zweite Registerkarte und dort den Button "Kampfanimation anzeigen".
    Im Feld "Kampfanimation wählen" wählt ihr nun die Animation aus, die einen Waffenangriff nach oben darstellen soll.
    Im Feld "Anwenden auf" wählt ihr die Option "Held". Setzt noch bei "Warten bis fertig." das Häkchen und klickt auf OK.
  7. Unter dieser Kampfanimation, aber noch über den Worten "Ansonsten" klickt ihr doppelt in die leere Zeile und wählt im darauf folgendem Fenster die zweite Registerkarte und dort den Button "Einen Moment warten".
    Gebt bei "Wartezeit" eine 1 ein und klickt auf OK.
  8. Unter dem Wörtchen "Ansonsten" klickt ihr doppelt in die leere Zeile und wiederholt die Punkte 5 - 7 jeweils für einen Waffenangriff nach unten, nach links und nach rechts. Beachtet, dass ihr bei der Bedingung auch jeweils die Blickrichtung eures Helden ändert.
  9. Wenn ihr soweit die vier Angriffsrichtungen fertig habt, müsste unten noch ein "Ansonsten" offen sein. Hier würdet ihr nach dem eben behandeltem Schema die Animationen für eine zweite Waffe einbauen... und so weiter...
    Ganz unten, am Ende des Codes, klickt ihr doppelt in die leere Zeile und wählt im darauf folgendem Fenster die dritte Registerkarte und dort den Button "Variablen verändern".
    Im Feld "Wähle Variable(n)" wählt ihr die Option "Eine" und mit Klick auf den Button mit den drei Punkten die Variable aus, die ihr "Attacke ausführen" genannt habt.
    Im Feld "Funktionen" wählt ihr die Option "Wähle" und im Feld "Operand" die Option "Wähle". Gebt hier im Textfeld daneben eine "0" (Null) ein. Klickt dann auf OK.
    Euer Code für den Schlag mit einer Waffe wäre nun fertig. Hier ein Codebeispiel für das, was am Ende herauskommen sollte:
Nun habt ihr den Code soweit angelegt, dass euer Held einen sichtbaren Schwertschlag ausführt... jedoch nur dann, wenn er die Waffe wirklich gezogen hat (Wir erinnern uns an den TAB "Waffe aktiv" aus Schritt 1). Nun müsst ihr noch eine Funktion anlegen, die diesen TAB erst dann aktiviert, wenn euer Held mit einer Waffe ausgerüstet ist. Also muss eine Funktion her, die abfragt, ob euer Held auch ensprechend bewaffnet ist.
  1. Bleibt noch in der Datenbank auf der Registerkarte "Allg. Ereignisse". Wählt im linkem Fensterbereich eine der freien, vierstelligen Zahlenkolonnen aus und gebt ihr im Feld "Name" einen Namen (z.B.: Waffenprüfer)
    Wählt im Feld "Startvoraussetzungen" die Option "Paralleler Prozess". Das Feld "Auslösender TAB" lasst ihr hierbei außer Acht.
  2. Klickt im Feld "Events Commands" doppelt in die leere Zeile und wählt im darauf folgendem Fenster die dritte Registerkarte und dort den Button "Bedingungen".
    Wählt dort die zweite Registerkarte und dort die Option "Held". Wählt im ersten Drop-Down-Menü euren Helden aus.
    Im Feld darunter klickt ihr auf den Button mit den drei Punkten. Wählt hier dann die Option "Item" und im Drop-Down-Menü die Waffe, mit der euer Held ausgerüstet sein soll (in unserem Beispiel wäre das ein Breitschwert).
    Klickt auf OK. Setzt noch das Häkchen bei "+Ansonstenfall" und klickt ebenfalls auf OK.
  3. Über den Worten "Ansonsten" klickt ihr doppelt in die leere Zeile, wählt im darauf folgendem die erste Registerkarte und dort den Button "TABs verändern".
    Im Feld "TAB(s) auswählen" wählt ihr die Option "Einer" und mit Klick auf den Button mit den drei Punkten den TAB, den ihr "Waffe aktiv" genannt habt.
    Wählt im Feld "Wählen" die Option "AN" und klickt auf OK.
  4. Direkt darunter klickt ihr doppelt in die leere Zeile und wählt im darauf folgendem Fenster die erste Registerkarte und dort den Button "Variablen verändern".
    Wählt im Feld "Wähle Variable(n)" die Option "Eine" und klickt auf den Button mit den drei Punkten daneben. Im daraufhin erscheinendem Fenster wählt ihr eine freie Variable aus, der ihr den Namen "Waffenart" gebt. Klickt auf OK.
    Im Feld "Funktionen" wählt ihr die Option "Wähle" und im Feld "Operand" die Option "Wähle". Gebt im Textfeld daneben eine "0" (Null) für die erste Waffe ein. Klickt dann auf OK
  5. In der leeren Zeile unter dem Wort "Ansonsten" legt ihr nun die selbe Funktion für weitere Waffen an, mit denen euer Held ausgerüstet sein kann. Sollen keine weiteren Waffen folgen (sprich: er ist unbewaffnet) befolgt ihr Punkt 6....
  6. Klickt nun unter dem Wort "Ansonsten" doppelt in die leere Zeile und wählt im darauf folgendem Fenster die erste Registerkarte und dort den Button "TABs verändern".
    Im Feld "TAB(s) auswählen" wählt ihr die Option "Einer" und mit Klick auf den Button mit den drei Punkten den TAB, den ihr "Waffe aktiv" genannt habt.
    Wählt im Feld "Wähle" die Option "AUS" und klickt auf OK.
  7. Direkt darunter klickt ihr doppelt in die leere Zeile und wählt im darauf folgendem Fenster die erste Registerkarte und dort den Button "Variablen verändern".
    Wählt im Feld "Wähle Variable(n)" die Option "Eine" und klickt auf den Button mit den drei Punkten daneben. Im daraufhin erscheinendem Fenster wählt ihr eine freie Variable aus, der ihr den Namen "Waffenart" gebt. Klickt auf OK.
    Im Feld "Funktionen" wählt ihr die Option "Wähle" und im Feld "Operand" die Option "Wähle". Gebt im Textfeld daneben eine "0" (Null) für die erste Waffe ein. Klickt dann auf OK

Somit hättet ihr den Code für den Angriff mit einer Nahkampfwaffe angelegt. Das zuletzt angelegte dient zur Ermittlung der Waffenart, mit der euer Held angreift. Jede Waffe hat unterschiedliche Eigenschaften und richtet daher unterschiedlichen Schaden an. Dies ist daher besonders wichtig, wenn es um die Gegner im Spiel geht.
Ihr könnt einen Probelauf machen. Rüstet probehalber euren Held mit einer entsprechenden Waffe aus und lasst ihn damit wild um sich schlagen... es bewirkt zwar noch nichts, aber dafür hat es weitere Punkte im Baukasten... Hier noch einmal einige Screenshots, die verschiedene Ergebnisse präsentieren:


Schwertschlag-Demo aus meinem Projekt "The Secrets of Volcano-Ville"
(Wird so nicht im Spiel zu sehen sein)


Schwertschlag-Demo vom Zelda-KS-Script von Wachenroeder


 [zurück]