Ergebnis 1 bis 12 von 12

Thema: Frage zu Kazesuis ABS

  1. #1

    Frage zu Kazesuis ABS

    Hallochen. :}



    Ich benutze den RPG Maker 2003.

    Habe eine Frage zum ABS von Kazesui

    Dies ist die Event-Page bei einem Gegner Event, die den Schaden managet, den der Gegner bekommt:
    Code:
    @> Control Variables: [0021] = Variable [0007]
    @> Control Variables: [0022] = Variable [0008]
    @> Control Variables: [0023] = This Event's Screen X
    @> Control Variables: [0024] = This Event's Screen Y
    @> Conditional Branch: Variable [0023] < Variable [0021]
      @> End Event Processing
      @>
     : Branch End
    @> Conditional Branch: Variable [0024] < Variable [0022]
      @> End Event Processing
      @>
     : Branch End
    @> Control Variables: [0021..0022] += 16 
    @> Conditional Branch: Variable [0023] > Variable [0021]
      @> End Event Processing
      @>
     : Branch End
    @> Conditional Branch: Variable [0024] > Variable [0022]
      @> End Event Processing
      @>
     : Branch End
    @> Control Variables: [0050] = Variable [0006]
    @> Control Variables: [0050] += 48 
    @> Control Variables: Variable [0050] += Variable [0013]
    @> Control Variables: [0050] = Variable ID [V[0050]]
    @> Conditional Branch: Variable [0050] > 400
      @> Control Variables: [0050] = Variable [0006]
      @> Control Variables: [0050] += 48 
      @> Control Variables: Variable [0050] = -1 
      @> Play SE: (OFF), 70, 150, 50
      @> Flash Event: This Event, (31,0,0,31), @0.5s
      @> Wait: 0.0 seconds
      @> Wait: 0.0 seconds
      @> Set Move Route: This Event, Decrease Opacity
      @> Wait: 0.0 seconds
      @> Wait: 0.0 seconds
      @> Set Move Route: This Event, Decrease Opacity
      @> Wait: 0.0 seconds
      @> Wait: 0.0 seconds
      @> Set Move Route: This Event, Decrease Opacity
      @> Wait: 0.0 seconds
      @> Wait: 0.0 seconds
      @> Set Move Route: This Event, Decrease Opacity
      @> Wait: 0.0 seconds
      @> Wait: 0.0 seconds
      @> Set Move Route: This Event, Decrease Opacity
      @> Wait: 0.0 seconds
      @> Wait: 0.0 seconds
      @> Set Move Route: This Event, Decrease Opacity
      @> Wait: 0.0 seconds
      @> Wait: 0.0 seconds
      @> Set Move Route: This Event, Decrease Opacity
      @> Wait: 0.0 seconds
      @> Wait: 0.0 seconds
      @> Set Event Location: This Event, Variable [0020][0020]
      @>
     : Else
      @> Conditional Branch: Variable [0050] > 0
        @> Show Animation: This Event, [death slime]
        @> Flash Event: This Event, (31,0,0,31), @0.3s
        @> End Event Processing
        @>
       : Else
        @> End Event Processing
        @>
       : Branch End
      @>
     : Branch End
    @> Change Gold: + 40
    @> Conditional Branch: Switch [0131:Nelu is ALCHEMIST] is ON
      @> Change Gold: + 1
      @>
     : Else
      @> Wait: 0.0 seconds
      @>
     : Branch End
    Wo genau im Code beginnt die Abfrage, wieviel Damage der Held macht & wo endet die Abfrage?

    Für ein bisschen mehr Kontext:
    Ich möchte, dass wenn mein Held ein bestimmtes Item equippt hat, +100 Schaden angerichtet werden, & danach direkt wieder 100 Attack dem Helden abgezogen werden.

    Z.B.:
    Mein Held hat einen Wassermagie-Stab equippt & greift einen Slime an, die sehr anfällig für Wasser-Schaden sind.
    Es sollen dem Slime dann 100 Atk. mehr Schaden abgezogen werden, als hätte der Held keinen Wassermagie-Stab angelegt.


    Danki. ******:

  2. #2
    Es wäre hilfreich, wenn du noch die Namen der Variablen dazuschreiben könntest.

  3. #3
    Ah, sry. :3

    Variable 13 ist der jew. Attacke-Wert einer Klasse.

    Variable 4, 5, 7, 8 sind Koordinaten des Spielers.

    Variable 6 ist die 'Get Event ID' von 4 & 5.

    Variable 50 sind quasi die HPs des Gegners.


    Hoffe, das erklärt alles hinreichend. *:

  4. #4
    Bist du sicher, dass das die richtige Seite ist? Aus dem Stegreif wirkt das eher nach ner Abfrage, ob das Monster besiegt ist.

  5. #5
    Es gibt noch eine Seite als 'Event Touch', die den Stk.-Wert des Gegners berechnet:

    Code:
    @> Control Variables: [0041] = Player's X Coordinate
    @> Control Variables: [0042] = Player's Y Coordinate
    @> Control Variables: [0041] -= This Event's X Coordinate
    @> Control Variables: [0042] -= This Event's Y Coordinate
    @> Control Variables: [0041] *= Variable [0041]
    @> Control Variables: [0042] *= Variable [0042]
    @> Control Variables: [0041] += Variable [0042]
    @> Control Variables: [0276:dmg phlegm] = 26 
    @> Control Variables: [0276:dmg phlegm] -= Variable [0271]
    @> Conditional Branch: Variable [0271:DEF ID] >= 26
      @> Change HP: Entire Party, - 1
      @>
     : Else
      @> Change HP: Entire Party, - Variable [0276]
      @>
     : Branch End
    @> Conditional Branch: Variable [0041] <= 49
      @> Set Move Route: This Event (Skip), Approach Player
      @> Wait: 0.5 seconds
      @> Show Animation: This Event, [pre attack ]
      @> Control Variables: [0041] = Player's X Coordinate
      @> Control Variables: [0042] = Player's Y Coordinate
      @> Control Variables: [0041] -= This Event's X Coordinate
      @> Control Variables: [0042] -= This Event's Y Coordinate
      @> Control Variables: [0041] *= Variable [0041]
      @> Control Variables: [0042] *= Variable [0042]
      @> Control Variables: [0041] += Variable [0042]
      @> Conditional Branch: Variable [0041] > 1
        @> End Event Processing
        @>
       : Branch End
      @> Wait: 0.3 seconds
      @> Control Variables: [0041] = Player's X Coordinate
      @> Control Variables: [0042] = Player's Y Coordinate
      @> Control Variables: [0041] -= This Event's X Coordinate
      @> Control Variables: [0042] -= This Event's Y Coordinate
      @> Control Variables: [0041] *= Variable [0041]
      @> Control Variables: [0042] *= Variable [0042]
      @> Control Variables: [0041] += Variable [0042]
      @> Conditional Branch: Variable [0041] == 1
        @> Conditional Branch: Ship is Driven
          @> Show Animation: Player, [death skel], Wait
          @>
         : Else
          @> Show Animation: Player, [death enemy], Wait
          @> Play SE: 'Damage2', 0, 80, 50
          @>
         : Branch End
        @> Control Switches: [0001] = OFF
        @> Set Move Route: This Event, Jump , Land 
        @> Wait: 0.0 seconds
        @> Wait: 0.0 seconds
        @> Flash Event: Player, (31,0,0,31), @0.3s
        @> Set Move Route: Player, Jump , Land 
        @> Wait: 0.1 seconds
        @> Control Switches: [0001] = ON
        @> Wait: 0.9 seconds
        @>
       : Branch End
      @>
     : Else
      @> Set Move Route: This Event (Skip), Move Randomly
      @> Wait: 1.0 seconds
      @>
     : Branch End
    & noch eine leere Event-Page mit 'Event Touch'.

  6. #6
    Mh, okay. Das zweite isses tatsächlich nicht, damit bleibt dann fast nur das erste. Dann ein paar Fragen:

    Code:
    @> Control Variables: [0050: Gegner-ID] = Variable [0006]
    @> Control Variables: [0050] += 48 
    @> Control Variables: Variable [0050] += Variable [0013]
    @> Control Variables: [0050] = Variable ID [V[0050]]
    Hier verstehe ich nicht ganz, warum der Angriffswert auf die ID addiert wird - kannst du mal schauen, welche Variablen da i.d.R. bei rauskommen? Wenn die Gegner-ID etwa 1 wäre, würde Variable 50 hiermit auf den Wert der Variable 49 zzgl. des Angriffs der Klasse gesetzt werden.

    Code:
    @> Conditional Branch: Variable [0050] > 400
      @> Control Variables: [0050] = Variable [0006]
      @> Control Variables: [0050] += 48 
      @> Control Variables: Variable [0050] = -1 
      (...)
      @> Set Event Location: This Event, Variable [0020][0020]
      @>
     : Else
      @> Conditional Branch: Variable [0050] > 0
        @> Show Animation: This Event, [death slime]
        @> Flash Event: This Event, (31,0,0,31), @0.3s
        @> End Event Processing
        @>
       : Else
        @> End Event Processing
        @>
       : Branch End
      @>
     : Branch End
    Ohne zu wissen, welchen Wert [50] jetzt vermutlich hat, wird das etwas mühseelig, aber anscheinend wird geprüft (aber ich rate mal) ob die HP des Gegners über 400 liegen und - falls ja - die Variable, der diese HP entnommen wurden danach um 1 reduziert wird. Falls das tatsächlich die HP sind, scheint es, als ob hier 1 HP Schaden verursacht wird, aber eher unabhängig von irgendwelchen Angriffswerten. Dagegen spräche, dass ich keine Ahnung habe, warum gerade 400 und dass bei den Beträgen 1 Schaden ne ziemliche Sysiphus-Arbeit für den Spieler wäre.

    Sicher, dass V[13] den Angriffswert enthält? Offenbar wird mit der Variable ja die ID der Zielvariable von V[50] bestimmt. Sofern wir aber nicht wissen, worauf das ganze am Ende zeigt, ist das ein ziemliches Ratespiel.

  7. #7
    https://rpgmaker.net/tutorials/859/
    Steht doch in dem Tutorial genau beschrieben, wie die Events funktionieren. Hast du dir das auch durchgelesen?

    Fall nein - schau es dir mal an.

    Der Schaden wir immer weiter auf summiert. Sobald die 400 überschritten sind, ist das Monster tatsächlich besiegt.
    Für jeden Gegner werden diese HP zwischen V51 und V60 abgelegt. In dem Beispiel, das im Tutorial beschrieben wird, hat das erste Monster die Event-ID 3, weshalb +48 gerechnet, um auf die richtige Variable zu verweisen (so kann die ID des Monsters pro Map unterschiedlich sein, aber maximal 10 Monster pro Map verwendet werden und die Event-IDs müssen fortlaufend sein).

  8. #8
    @Linkey:

    Ja, habe es mir jetzt endlich mal komplett reingezogen. Jetzt erst. *schäm* {:

    Das heißt also, ich muss den extra Schaden dann auf die Variablen 51 bis 60 aufaddieren?


    & wann subtrahiere ich den Wert wieder?

  9. #9
    Eigentlich müsste an der Stelle:
    @> Control Variables: Variable [0050] += Variable [0013]

    noch der extra Schaden hinzugefügt werden.
    Hab jetzt in deinem Event nicht gesehen, wo Variable 13 gesetzt wird, aber wenn ich das beim überfliegen der Anleitung eben richtig gelesen habe, wird die mit der Helden ATK gefüllt.

  10. #10
    @Linkey: Ah, sry.
    Hatte ich vergessen zu erwähnen: in einem CE wird die Variable 13 gleich Heldenklasse ATK gesetzt.
    Außerdem Variable 26 = 1, 27 = 2 & 20 = -2.

    Also müssen dann um den Befehl Variable '50 += Variable 13' herum der Zusatzschaden addiert, bzw. darunter abgezogen werden?

  11. #11
    Du willst doch einfach einen "fixen" Zusatzschaden. Dein Beispiel war doch, du möchtest 100 Schaden mehr machen, wenn eine bestimmte Bedingung erfüllt ist (Wasserstab ausgerüstet war dein Beispiel):
    Code:
    @> Control Variables: Variable [0050] += Variable [0013]
    @>Conditional Branch: Bedingung XYZ
    ---@> Control Variables: Variable [0050] += 100
    @Branch End

  12. #12
    Hmmm...

    Also, ich verstehe das anscheinend noch nicht ganz, weil ich habe das System sowohl mit einem Add-Befehl, als auch einem Sub-Befehl ausprobiert, aber es macht keinen Unterschied.


    Ich versuche es noch mal mit einer Abfrage für den AGI-Wert. Den habe ich eigentlich so aufgebaut, dass er den verschiedenen Schadensklassen entspricht.

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •