collapse collapse

 Community


 User Info




Willkommen Gast. Bitte einloggen oder registrieren.

 Partnerseiten

rpgvx.net

Das Forum ist offline

Autor Thema: PDM's Event-Kampsystem  (Gelesen 834 mal)

Offline PDM

  • Bibliothekar
  • Global Mod
  • VX-Kenner
  • ****
  • Beiträge: 468
    • Mein Blog
PDM's Event-Kampsystem
« am: Dezember 11, 2010, 14:54:09 »
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.
Spoiler for Hiden:
  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:
 
Spoiler for Hiden:
  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
Sorry für den Name, war eigetnlich ein Testprojekt^^

Natürlich kann man ganz einfach Änderungen durchführen!
PDM's Gameplays
Skype-Name: lordpdm

Re: PDM's Event-Kampsystem

Offline Leviathan

  • RTP-Mapper
  • *
  • Beiträge: 26
Re: PDM's Event-Kampsystem
« Antwort #1 am: Dezember 11, 2010, 21:09:21 »
Das ist mal ein sehr gutes Tutorial, danke dafür.
Mit den Events ist es auch ein bisschen leichter, als sich jetzt
die ganze Scriptsprache für ein KS anzueignen.

Re: PDM's Event-Kampsystem

Offline PDM

  • Bibliothekar
  • Global Mod
  • VX-Kenner
  • ****
  • Beiträge: 468
    • Mein Blog
Re: PDM's Event-Kampsystem
« Antwort #2 am: Dezember 11, 2010, 21:57:04 »
Danke für das Feedback.
Dachte schon, dass keiner das versteht^^
Ich bin momentan auch an erweiterten Versionen dran, da sonst wahrscheinlich jeder immer nur Spezialattacke macht. Zum Beispiel, dass man MP hat oder das die Spezialattacke erst aufgeladen werden muss.
Ich persönlich mag auch solche Event-Kampsysteme, da man einfach schnell ein KS hat, das den eigenen Wünschen entspricht.
PDM's Gameplays
Skype-Name: lordpdm

Re: PDM's Event-Kampsystem

Offline Leviathan

  • RTP-Mapper
  • *
  • Beiträge: 26
Re: PDM's Event-Kampsystem
« Antwort #3 am: Dezember 11, 2010, 22:47:00 »
Man kann es ja noch komplexer ausbauen und mehrere Helden bzw. Gegner einbauen.

Re: PDM's Event-Kampsystem

Offline Colonios

  • Maker Nerd
  • VX-Kenner
  • ****
  • Beiträge: 596
  • Events <3
Re: PDM's Event-Kampsystem
« Antwort #4 am: Dezember 16, 2010, 12:24:20 »
Das Problem mit deinem KS ist, dass du keine Werte wie z.B. Agilität etc. berechnest. Sowas macht ein Spiel spannender. Ansonsten eine Solide Basis, fehlen nur noch Items, Magie/Spezalattacken, MP und mehrere Spieler/Gegner auf einmal... Ist viel Arbeit, dass weiß ich, aber es macht Spaß. Das ganze würde ich dann auch noch Graphisch besser unterlegen.

Viel Spaß und weiter so!

 


 Bild des Monats

rooftop party

Views: 3165
By: papilion

 Umfrage

  • Wer soll das BdM gewinnen?
  • Dot Kandidat 1
  • 3 (25%)
  • Dot Kandidat 2
  • 1 (8%)
  • Dot Kandidat 3
  • 2 (16%)
  • Dot Kandidat 4
  • 0 (0%)
  • Dot Kandidat 5
  • 6 (50%)
  • Stimmen insgesamt: 12
  • View Topic

 Schnellsuche





SimplePortal 2.3.3 © 2008-2010, SimplePortal