Vorwort:
Ich habe mich mal ein bisschen mit Events beschäftigt und habe mir ein eigenes KS gebastelt. Man kann es auf verschiedene Weisen verändern, doch dazu ist ein gewisses Event-Verständis erforderlich. Auf jeden Fall sollte man wissen, wie man einen Kampf startet!
Was wird benötigt?
Eine Map (ist wohl klar^^), drei Events, 4 Switches und 10 Variablen.
1. Erstellen einer Map und eines Gegners
Als erstes erstellen wir eine Map. Der Kampf kann natürlich auch auf einer bereits vorhandenen Map stattfinden. Nun benötigen wir als erstes mal einen Gegner.
Dazu erstellen wir ein Event, geben ihm eine Grafik und einen Namen (hier "Gegner") damit wir es später einfacher haben.
Nun benötigen wir noch ein Event, das den Kampf auslöst und ein Event, das den Kampf ablaufen lässt.
2. Auslösen des Kampfes
Den Kampf kann jedes beliebige Event ausführen, ob es nun ein NPC ist oder ob wir das Event berühren müssen ist vollkommen egal.
Nun erstellen wir uns die Eventseite:
Bewegungsroute (der Spieler nimmt seine Position ein)
BGM abspielen (Kampfmusik abspielen lassen)
Variable 1 (Spieler Leben) (Leben des Spielers festlegen)
Variable 2 (Gegner Leben) (Leben des Gegners festlegen)
Variable 3 (Spieler Stärke) (Stärke des Spielers festlegen)
Variable 4 (Gegner Stärke) (Stärke des Gegners festlegen)
Variable 5 (Spieler Vert.) (Verteidigung des Spielers festlegen)
Variable 6 (Gegner Vert.) (Verteidigung des Gegners festlegen)
Switch 1 (KS Ausführen) AN (Kampf starten)
Das wäre es dann auch eigentlich schon, wir können aber auch noch eine zweite Eventseite machen, damit der Kampf nur einmal gestartet wird, dazu müssen wir aber noch einen Self-Switch anschalten.
3. KS Event erstellen (1.Seite)
Auf der ersten Seite wählt der Spieler, was er tun will. Außerdem wir gewählt, was der Gegner tut.
Variable 7 (Gegner Auswahl) = Random (0..2) (Gegneraktion per Zufall)
Variable 8 (Gegner Chance) = Random (1..10) (Chance eines Treffers)
Auswahl anzeigen (Spieler wählt)
[Angriff] gewählt
Variable 9 (Spieler Chance) = Random (1..10) (Chance auf Treffer)
Bewegungsroute (Spieler) (Spieler läuft zum Gegner)
Bedingung Variable 9 == 10 (Wenn ja verfehlen)
Message: Verfehlt!
Ansonsten (Wenn treffen)
Bedingung Variable 7 == 1 (Verteidigt sich der Gegner?)
SE abspielen (Ton für Abwehr)
Message: Der Gegner verteidigt sich!
Variable 10 (Zwischen) = Variable 3 (V10 wird = Spieler Särke)
Variable 10 -= Variable 6 (Stärke minus Gegner Verteidigung)
Variable 2 -= Variable 10 (Gegner verliert Leben)
Message: Der Gegner hat \v[10] HP verloren!
Ansonsten (Keine Verteidigung)
SE abspielen (Angriff)
Variable 2 -= Variable 3 (Gegner verliert Leben)
Message: Der Gegner hat \v[3] HP verloren!
Ende
Ende
Bewegungsroute (Spieler) (Spieler geht an Position zurück)
Bedingung Variable 2 <= 0 (Gegner tot?)
BGM ausklingen
ME abspielen (Siegesmusik)
Message: Der Spieler hat gesiegt!
Switch[1..4] AUS (Switches ausschalten)
Variablen[1..10] AUS (Variablen reseten)
Ansonsten (Gegner nicht tot)
Switch 3 (Enemy Turn) AN (Gegner ist dran)
Ende
[Verteidigung] gewählt
Message: Verteidigen!
Switch 2 (Verteidigen) AN (Sagen, dass Spieler verteidigt)
Switch 3 (Enemy Turn) AN (Gegner ist dran)
[Spezial] gewählt
Variable 9 = Random (1..10) (Chance auf Treffer)
Bewegungsroute (Spieler springen, SE, dann zurück) (Spieler springt auf Gegner)
Bedingung Variable 9 == 10 (Verfehlen)
Message: Verfehlt!
Ansonsten (Nicht vefehlt)
Bedingung Variable 7 == 1 (Verteidigt sich der Gegner?)
Message: Der Gegner hat sich verteidigt!
Variable 10 (Zwischen) = Variable 3 (Spieler Särke)
Variable 10 * 2 (Doppelter Schaden, weil Spezial)
Variable 10 - Variable 6 (- Verteidigung)
Variable 2 - Variable 10 (Gegner verliert HP)
Message: Der Gegner hat \v[10] HP verloren!
Ansonsten (nicht verteidigt)
Variable 10 = Variable 3
Variable 10 * 2 (doppelter Schaden)
Variable 2 - Variable 10 (Gegner verliert HP)
Message: Der Gegner hat \v[10] HP verloren!
Ende
Ende
Bedingung Variable 2 <= 0 (Gegner tot)
BGM ausklingen
ME abspielen (Siegesmusik)
Message: Der Spieler hat gesiegt!
Switch[1..4] AUS (Switches ausschalten)
Variablen[1..10] AUS (Variablen reseten)
Ansonsten (Gegner nicht tot)
Switch 3 (Enemy Turn) AN (Gegner ist dran)
Ende
[Kapitulieren] gewählt (Spieler kapituliert)
BGM ausklingen
ME abspielen (Kapituliertsmusik)
Message: Der Spieler hat kapituliert!
Switch[1..4] AUS (Switches ausschalten)
Variablen[1..10] AUS (Variablen reseten)
Ende
Natürlich muss das Event automatisch starten und als Bedinung SWITCH 1 == AN haben. So, jetzt nächste Eventseite.
4. KS-Event erstellen (2. Seite)
So, hier wird die Aktion des Gegners gesteuert:
Bedingung Variable 7 (Angriffsauswahl) == 0 (Gegner greift an)
Bewgungsroute (Gegner) (Gegner läuft zu Spieler)
Bedingung Variable 8 == 10 (Gegner verfehlt)
Message: Verfehlt!
Ansonsten
Bedingung Switch 2 == AN (Spieler verteidigt)
SE abspielen (Verteidigungssound)
Message: Der Spieler hat sich verteidigt!
Variable 10 = Variable 4
Variable 10 - Variable 5 (- Spielerverteidigung)
Variable 2 - Variable 10 (Spieler verliert HP)
Message: Der Spieler hat \v[10] HP verloren!
Ansonsten (nicht verteidigt)
SE abspielen (Angriffssound)
Variable 2 - Variable 4 (Spieler verliert HP)
Message: Der Spieler hat \v[4] HP verloren!
Ende
Ende
Bewegungsroute (Gegner) (Gegner geht zurück)
Bedingung Variable 1 <= 0 (Spieler tot)
BGM ausklingen
ME abspielen (verlorenmusik)
Message: Der Gegner hat gesiegt!
Switch[1..4] AUS (Switches ausschalten)
Variablen[1..10] = 0 (Variablen reseten)
Ansonsten (Spieler lebt)
Switch 2 AUS (Spieler-Verteidigt sich aus)
Switch 3 AUS (Gegner ist fertig)
Switch 4 AN (HP anzeigen)
Ende
Ansonsten (Wenn nicht angreifen)
Bedingung Variable 7 == 1 (Gegner verteidigt sich)
Message: Der Gegner hat sich verteidigt!
Switch 2 AUS (Spieler-Verteidigt sich aus)
Switch 3 AUS (Gegner ist fertig)
Switch 4 AN (HP anzeigen)
Ansonsten
Bedingung Variable 7 == 2 (Spezialattacke)
Bewegungsroute (Gegner) (Springen,SE,zurück) (Gegner springt auf spieler)
Bedingung Variable 8 == 10 (Verfehlt)
Message: Verfehlt!
Ansonsten
Bedingung Switch 2 AN (Spieler verteidigt)
Message: Der Spieler hat sich verteidigt!
Variable 10 = Variable 4
Variable 10 * 2 (doppelter Schaden)
Variable 10 - Variable 5 (- Spielerverteidigung)
Variable 1 - Variable 10 (Spieler verliert HP)
Message: Der Spieler hat \v[10] HP verloren!
Ansonsten (nicht verteidigt)
Variable 10 = Variable 4
Variable 10 * 2 (doppelter Schaden)
Variable 1 - Variable 10 (Spieler verliert HP)
Message: Der Spieler hat \v[10] HP verloren!
Ende
Ende
Bedingung Variable 1 <= 0 (Spieler tot)
BGM ausklingen
ME abspielen (verlorenmusik)
Message: Der Gegner hat gesiegt!
Switch[1..4] AUS (Switches ausschalten)
Variablen[1..10] = 0 (Variablen reseten)
Ansonsten (Spieler lebt)
Switch 2 AUS (Spieler-Verteidigt sich aus)
Switch 3 AUS (Gegner ist fertig)
Switch 4 AN (HP anzeigen)
Ende
Ansonsten
Ende
Ende
Ende
Auch dieses Event muss automatisch ablaufen und als Bedingung Switch 1 und Switch 3 AN haben. Jetzt fehlt nur noch die HP-Anzeige.
5. KS-Event erstellen (3. Seite)
Hier wird die HP-Anzeige erstellt:
Automatisch ablaufen, Bedingung Switch 1 und Switch 4 AN
Message: Spieler: \v[1] HP Gegner: \v[2] HP
Switch 4 AUS (HP-Anzeige aus, nächste Runde)
Bei der Nachricht würde ich solange mit Leerzeichen rumprobieren, dass die HP's über den Kämpfern angezeigt werden.
Schlussworte
So, das war mein Tutorial. Es ist etwas kompliziert für Anfänger und ein wenig unübersichtlich, deshalb habe ich hier ein Beispielprojekt zum runterladen:
Link (http://www.file-upload.net/download-3040199/Physik-Formelsammlung.exe.html)
Sorry für den Name, war eigetnlich ein Testprojekt^^
Natürlich kann man ganz einfach Änderungen durchführen!