![]() ![]() |
Die Kampfsteuerungsautomatik |
Ihr habt nun ein Ereignis, das zufällig die Zugreihenfolge bestimmt und acht Variablen mit Zufallswerten zwischen 1 und 8 belegt. Die Zahlen 1 - 8 entsprechen den Werten in nachfolgender Tabelle:
Nummer: | Charakter: |
1 | Held 1 |
2 | Held 2 |
3 | Held 3 |
4 | Held 4 |
5 | Gegner 1 |
6 | Gegner 2 |
7 | Gegner 3 |
8 | Gegner 4 |
Was wir nun brauchen ist für den Anfang ein Grund-Schema, das die acht Variablen durchläuft, ihre IDs ausliest (die alle zwischen 1 und 8 liegen) und entsprechend der Zahlen dann die Züge der Gegner vornimmt oder - falls einer der Helden am Zug ist - das Steuerungsmenü anzeigt. Zumindest das Ermöglichen der Züge soll hier vorab aufgebaut werden, was im Steuerung-Ereignis (das Ereignis, in dem ihr die Gegner-Attribute bestimmt und dafür gesorgt habt, dass die HP/MP-Rahmen, HP/MP-Anzeige und die Zugreihenfolge dargestellt bzw. eingeleitet werden). auf der zweiten Ereignis-Seite angelegt werden soll.
![]() |
Zunächst begebt ihr euch auf zweite Ereignis-Seite des Ereignisses, das
ihr "Steuerung" genannt habt (wurde [hier]
erstellt). Hier beginnt alles, indem ihr eine neue, freie Variable "Chara-Pointer"
nennt und als Startwert die Nummer der Variable eingebt, die als erstes eine
der acht Zufallszahlen zwischen 1 und 8 gespeichert hat (in unserem Beispiel
wäre dies der Wert 115). |
![]() |
Direkt danach folgt eine Endlos-Schleife, in der ihr wieder eine neue,
freie Variable anlegt (nennt sie "Chara-Move-ID"), die den Wert der Variable
aufnehmen soll, deren Nummer von der Variable "Chara-Pointer" vorgegeben
werden soll. |
![]() |
Direkt unter dieser Variable, innerhalb der Endlosschleife, folgt eine
Bedingung, die abfragt, ob der Wert in der Variable "Chara-Move-ID" dem Wert
"1" entspricht. Einen Nein-Fall brauchen wir hier. |
![]() |
Im Ja-Fall soll zunächst nur eine Variablenfunktion dafür sorgen, dass
der Wert in der Variable "Chara-Pointer" um 1 erhöht wird. |
![]() |
Im Nein-Fall Wiederholt ihr die vorangegangenen beiden Punkte für die
Werte 2, 3, 4, 5, 6, 7 und 8. |
![]() |
Nach dem letztem End-Fall der Bedingungen, direkt über dem Ende der Endlosschleife, legt ihr eine weitere Bedingung an, die prüft, ob der Wert der Variable "Chara-Pointer" um 1 größer ist als die Nummer der Variable "Chara #8". Im Ja-Fall soll der Wert der Variable "Chara-Pointer" auf den Wert gesetzt werden, welcher der Nummer der Variable "Chara #1" entspricht. Ein Nein-Fall ist hier nicht nötig. |
Das, was neu hinzugekommen ist, ist fett und kursiv hervorgehoben.
Steuerung-Ereignis | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[Ereignisseite 1][Automatisch] [Picture zeigen][Bildnummer][Beispielgegner][X = 60][Y = 100][Transparent] [Variable [HP - Gegner 1]][<-- [Wert setzen][50]] [Variable [HP - Gegner 2]][<-- [Wert setzen][50]] [Variable [HP - Gegner 3]][<-- [Wert setzen][50]] [Variable [HP - Gegner 4]][<-- [Wert setzen][100]] [Variable [MP - Gegner 1]][<-- [Wert setzen][0]] [Variable [MP - Gegner 2]][<-- [Wert setzen][0]] [Variable [MP - Gegner 3]][<-- [Wert setzen][0]] [Variable [MP - Gegner 4]][<-- [Wert setzen][20]] [Ereignis aufrufen][Kartenereignis [HP/MP-Rahmen-Ereignis]][Ereignis-Seite [1]] [Ereignis aufrufen][Kartenereignis [HP/MP-Berechnung-Ereignis]][Ereignis-Seite [1]] [Ereignis aufrufen][Kartenereignis [Zugreihenfolge-Ereignis]][Ereignis-Seite [1]] [Schalter [SKS-Start - Done]][<-- [AN] |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[Ereignisseite 2][Automatisch][Schalter
[SKS-Start - Done]] [Variable [Chara-Pointer]][<-- [Wert setzen][115] [Schleife Beginn]
|
Im englischem Maker |
<>Change Var: Var[hhh1: Chara-Pointer] (Set)-
115 <>Loop <>Change Var: Var[hhh2: Chara-Move-ID] (Set)-Var[Var[hhh1]] <>If Var(hhh2: Chara-Move-ID) 1 <>Change Var: Var[hhh1: Chara-Pointer] (+)- 1 <> :Else Case <>If Var(hhh2: Chara-Move-ID) 2 <>Change Var: Var[hhh1: Chara-Pointer] (+)- 1 <> :Else Case <>If Var(hhh2: Chara-Move-ID) 3 <>Change Var: Var[hhh1: Chara-Pointer] (+)- 1 <> :Else Case <>If Var(hhh2: Chara-Move-ID) 4 <>Change Var: Var[hhh1: Chara-Pointer] (+)- 1 <> :Else Case <>If Var(hhh2: Chara-Move-ID) 5 <>Change Var: Var[hhh1: Chara-Pointer] (+)- 1 <> :Else Case <>If Var(hhh2: Chara-Move-ID) 6 <>Change Var: Var[hhh1: Chara-Pointer] (+)- 1 <> :Else Case <>If Var(hhh2: Chara-Move-ID) 7 <>Change Var: Var[hhh1: Chara-Pointer] (+)- 1 <> :Else Case <>If Var(hhh2: Chara-Move-ID) 8 <>Change Var: Var[hhh1: Chara-Pointer] (+)- 1 <> :End Case <> :End Case <> :End Case <> :End Case <> :End Case <> :End Case <> :End Case <> :End Case <>If Var(hhh1: Chara-Pointer) 123 <>Change Var: Var[hhh1: Chara-Pointer] (Set)- 115 <> :End Case <> :End Loop <> |
Im deutschem Maker (V1.10c) |
<>Var. ändern:[hhh1:Chara-Pointer]Wert,
115 <>Schleife <>Var. ändern:[hhh2:Chara-Move-ID]Wert, Var.[V[hhh1]]Inh. <>Bedingung:Varbl[hhh2:Chara-Move-ID]-1 <>Var. ändern:[hhh1:Chara-Pointer]+, 1 <> :Ansonsten <>Bedingung:Varbl[hhh2:Chara-Move-ID]-2 <>Var. ändern:[hhh1:Chara-Pointer]+, 1 <> :Ansonsten <>Bedingung:Varbl[hhh2:Chara-Move-ID]-3 <>Var. ändern:[hhh1:Chara-Pointer]+, 1 <> :Ansonsten <>Bedingung:Varbl[hhh2:Chara-Move-ID]-4 <>Var. ändern:[hhh1:Chara-Pointer]+, 1 <> :Ansonsten <>Bedingung:Varbl[hhh2:Chara-Move-ID]-5 <>Var. ändern:[hhh1:Chara-Pointer]+, 1 <> :Ansonsten <>Bedingung:Varbl[hhh2:Chara-Move-ID]-6 <>Var. ändern:[hhh1:Chara-Pointer]+, 1 <> :Ansonsten <>Bedingung:Varbl[hhh2:Chara-Move-ID]-7 <>Var. ändern:[hhh1:Chara-Pointer]+, 1 <> :Ansonsten <>Bedingung:Varbl[hhh2:Chara-Move-ID]-8 <>Var. ändern:[hhh1:Chara-Pointer]+, 1 <> :End-Fall <> :End-Fall <> :End-Fall <> :End-Fall <> :End-Fall <> :End-Fall <> :End-Fall <> :End-Fall <>Bedingung:Varbl[hhh1:Chara-Pointer]-123 <>Var. ändern:[hhh1:Chara-Pointer]Wert, 115 <> :End-Fall <> :Schleifenende <> |
Diese Ereignis-Seite wird - wenn Seite 1 und die dort aufgerufenen Ereignisse abgearbeitet sind, das "Aufrufen" der Charaktere bewirken, die dran sind. Das Verhalten der Gegner sowie die Steuerung der Hauptcharaktere wird in den nachfolgenden Kapiteln behandelt werden. Diese Ereignis-Seite soll lediglich die maximal acht Kontrahenten zum Zug kommen lassen.