EventsProfessional  Der Einsatz von Waffen
Vorüberlegungen I - Ermöglichen des Waffenangriffs

In diesem Punkt geht es darum, durch Auswahl des AKS-Menüpunkts "Angriff" den Einsatz einer Waffe zu ermöglichen. Mehr soll das AKS-Menü an der Stelle auch nicht bewirken, da der Angriff schließlich außerhalb des Menüs, in der Spielwelt, stattfindet. Daher wird dies hier sauber voneinander getrennt.

. Begebt euch in das Common Event/Häufig benötigte Ereignis, das ihr "Menupoint:FIGHT" genannt habt. Hier bestimmt ihr lediglich, dass ein neuer freier Schalter - nennt ihn "Waffe 01 aktiv" - auf AN gestellt und in die bereits vorhandene Variable "TempSelection" der Wert "1" geschrieben wird. Mehr ist hier nicht anzulegen.

Auf die MML-Darstellung und des Makercodes wird an der Stelle verzichtet.

Vorüberlegungen II - Der Schlag mit dem Schwert...

Als nächstes geht es darum, auf dem gesamtem Spielfeld es zu ermöglichen, den Hauptcharakter mit seinem Schwert wild herumfuchteln und dabei Gegner und sonstige Dinge zerhacken zu lassen... und das jedes Mal, wenn die Taste ENTER gedrückt wird. Ihr erahnt es vielleicht schon:
Im Zuge des AKS haben wir bereits ein Common Event/Häufig benötigtes Ereignis angelegt, das bereits die Taste ESC abfragt - und zwar überall in der Spielwelt. Warum also nicht dieses Ereignis nehmen und erweitern?

Wichtig ist, dass ihr bereits die Kampfanimationsgrafik [enemy_death.png] in euer Projekt eingebunden und daraus die Animationen für den Tod eines Gegners wie auch die Schwertangriffe in die entsprechenden Richtungen in der Datenbank angelegt habt. Habt ihr das noch nicht getan, so holt dies jetzt nach, da das Bestehen der entsprechenden Kampfanimationen für die nachfolgenden Punkte erforderlich ist.
 
. Begebt euch in das Common Event/Häufig benötigte Ereignis, das ihr "ESC" genannt habt. Noch (!) fragt es lediglich die Taste ESC ab. Das ändert ihr, indem ihr in der ersten Zeile des Makercodes auf die Funktion für die Tastenabfrage klickt und die Leertaste drückt. Setzt nun das Häkchen zusätzlich noch bei "Descision/Eingabe" und bestätigt das mit einem Klick auf OK.
 
. Nächstes Ziel ist die bereits bestehende Bedingung, die prüft, ob der Wert der Variable "PressedButton" genau dem Wert 6 entspricht. Fügt hier einen Nein-Fall hinzu (Anklicken, Leertaste drücken und das Häkchen bei "Add Else Case/Ansonsten" setzen).
 
. Im frisch angelegtem Nein-Fall der Bedingung legt ihr drei weitere, ineinander verschachtelte Bedingungen - jeweils ohne Nein-Fall - an:
Die erste soll prüfen, ob der WErt der Variable "PressedButton" genau dem Wert 5 entspricht.
Die zweite soll prüfen, ob der Schalter "MenüLäuft" auf AUS steht.
Die dritte muss prüfen, ob der Schalter "Waffe 01 aktiv" auf AN steht.
Nur, wenn alle drei Bedingungen erfüllt sind, wird ein Schwertschlag ausgeführt. Auch ist es ausgeschlossen, dass wenn ihr im AKS-Menü eine Auswahl mit ENTER drückt, dass dann ein Schwertschlag ausgeführt wird.
 
. Im Nein-Fall der letzten der drei eben angelegten Bedingungen soll nun der Waffenangriff angelegt werden. Je nach Blickrichtung des Hauptcharas soll ein Schwertschlag in die entsprechende Richtung erfolgen.
Legt als erstes eine Bedingung mit Nein-Fall an, die prüft, ob das Ereignis "Held" nach oben schaut. Beachtet, dass das Ereignis "Held" kein gesondert auf der Spielfeld angelegtes ist, sondern es sich um die Heldengruppe handelt, die ihr in der Spielwelt umhersteuert.
 
. Im Ja-Fall dieser Bedingung soll nun die Kampfanimation eines Schwertschlages nach oben auf dem Ereignis "Held" angezeigt und bis zum Ende der Kampfanimation gewartet werden.
 
. Im Nein-Fall wiederholt ihr die vorangegangenen beiden Punkte für die Fälle, dass das Ereignis "Held" nach rechts, nach unten und nach links schaut. Die letzte Bedingung, die ihr anlegt, braucht keinen Nein-Fall mehr.
 
. Begebt euch im Maker-Code nun in die Zeile unter dem viertem "End Case/End-Fall" der vier angelegten Bedingungen. Hier muss ein neuer, freier Schalter, den ihr "Schadensberechnung" nennt, auf AN gestellt werden. Sie wird also nur dann ausgeführt, wenn ein Waffenangriff dargestellt wurde.
Darstellung der Stichpunkte in MML

Was neu hinzukam, ist fett hervorgehoben

 ESC-Ereignis
[Variable [PressedButton]][<-- ENTER, ESC]
[Bedingung][Variable][PressedButton][gleich][6]
  [Ja-Fall]
  [Schalter [MenüLäuft]][<-- [AN]]
transparent transparent
  [Nein-Fall]
  [Bedingung][Variable][PressedButton][gleich][5]
  [Ja-Fall]
  [Bedingung][Schalter][MenüLäuft][AUS]
  [Ja-Fall]
  [Bedingung][Schalter][Waffe 01 aktiv][AN]
  [Ja-Fall]
  [Bedingung][Ereignisblickrichtung][Held][Blickrichtung [Hoch]
  [Ja-Fall]
  [Kampfanimation zeigen][Animationsname [Sword up]][Ziel [Held]][Warten bis fertig]
transparent transparent
  [Nein-Fall]
  [Bedingung][Ereignisblickrichtung][Held][Blickrichtung [Rechts]
  [Ja-Fall]
  [Kampfanimation zeigen][Animationsname [Sword right]][Ziel [Held]][Warten bis fertig]
transparent transparent
  [Nein-Fall]
  [Bedingung][Ereignisblickrichtung][Held][Blickrichtung [Runter]
  [Ja-Fall]
  [Kampfanimation zeigen][Animationsname [Sword down]][Ziel [Held]][Warten bis fertig]
transparent transparent
  [Nein-Fall]
  [Bedingung][Ereignisblickrichtung][Held][Blickrichtung [Links]
  [Ja-Fall]
  [Kampfanimation zeigen][Animationsname [Sword left]][Ziel [Held]][Warten bis fertig]
[Schalter [Schadensberechnung]][<-- [AN]]
Der erstellte Maker-Code

Was neu hinzugekommen ist, ist fett hervorgehoben

Im englischem Maker
<>Enter Password: Var[PressedButton]
<>If Var (PressedButton) 6
 <>Change Switch: Var[MenüLäuft] Switch ON
 <>
:Else Case
 <>If Var (PressedButton) 5
  <>If Switch(MenüLäuft) is OFF
   <>If Switch(Waffe 01 aktiv) is ON
    <>If Hero ==> Up (Direction)
     <>Show Battle Animation:Sword up-Hero (W)
     <>
    :Else Case
     <>If Hero ==> Rigt (Direction)
      <>Show Battle Animation-Sword right-Hero (W)
      <>
     :Else Case
      <>If Hero ==> Down (Direction)
       <>Show Battle Animation-Sword down-Hero (W)
       <>
      :Else Case
       <>If Hero ==> Left (Direction)
        <>Show Battle Animation-Sword left-Hero (W)
        <>
       :End Case
       <>
      :End Case
      <>
     :End Case
     <>
    :End Case
    <>Change Switch:Var[Schadensberechnung] Switch ON
    <>
   :End Case
   <>
  :End Case
  <>
 :End Case
 <>
:End Case
<>
Im deutschem Maker (V1.10c)
<>Tasten abfragen:[PressedButton]
<>Bedingung:Varbl[PressedButton] - 6
 <>Schalter ändern:[MenüLäuft]-[An]
 <>
:Ansonsten
 <>Bedingung:Varbl[PressedButton] - 5
  <>Bedingung:Schalter[MenüLäuft]-Aus
   <>Bedingung:Schalter[Waffe 01 aktiv]-An
    <>Bedingung:Held - Ob [Ges.Richt.]
     <>Kampfanimation: Sword up, Held (W)
     <>
    :Ansonsten
     <>Bedingung:Held - Rc[Ges.Richt.]
      <>Kampfanimation: Sword right, Held (W)
      <>
     :Ansonsten
      <>Bedingung:Held - Un[Ges.Richt.]
       <>Kampfanimation: Sword down, Held (W)
       <>
      :Ansonsten
       <>Bedingung:Held - Ln[Ges.Richt.]
        <>Kampfanimation: Sword left, Held (W)
        <>
       :End-Fall
       <>
      :End-Fall
      <>
     :End-Fall
     <>
    :End-Fall
    <>Schalter ändern:[Schadensberechnung]-[An]
    <>
   :End-Fall
   <>
  :End-Fall
  <>
 :End-Fall
 <>
:End-Fall
<>
Schlusswort dieses Kapitels

Das, was nach dem Schwertschlag passiert, wird durch den Schalter "Schadensberechnung" eingeleitet. Was genau das ist und wie das ausschaut, wird dann behandelt, wenn es um das Anlegen der Gegner geht, die in der Spielwelt umherschleichen.