RPG Maker XP Im Kampf soll die Auswahl "Verteidigung" etwas ändern
Hallo miteinander,
im Kampf hat man ja für gewöhnlich die Auswahl zwischen „Angriff“, „Fähigkeit“, „Verteidigung“ und „Item“.
Verteidigung halbiert jeden erlittenen Schaden wenn ausgewählt. Und hier möchte ich, dass wenn Verteidigung gewählt wird, der Charakter außerdem Mana erhält, wenn eine bestimmte Variable auf 1 steht.
Wo und wie kann man in die Option „Verteidigung“ eingreifen um dies hinzuzufügen? Bzw. geht das überhaupt und welchen alternativen Trick könnte man anwenden. Da Verteidigung kein „Zustand“ im spieltechnischen Sinne ist, kann man auch keine Zustandsabfrage per Event machen.
Ich hätte zumindest ein Script hier von "KGC", mit dem du bei Verteidigung MP und HP regenieren kannst (die Menge kannst du gleich oben einstellen).
Wo du nun genau die if-Abfrage für deine Variable einfügen musst, da muss dir ein anderer helfen... ^^;
Danke erst einmal für das Skript. Funktionieren tut es soweit: Eventuell habe ich Glück und es verirrt sich noch jemand mit entsprechenden Kenntnissen in diesen Thread, der weiß wie und wo man dort noch eine Variablenabfrage rein packen kann. Super wäre es, wenn dies für jeden Helden einzeln abgefragt wird (so das es bei manchen geht und bei anderen nicht. Es soll ein passiver Skill sein, den man erlernen kann).
Hm, vielleicht kriege ich es doch noch hin...
Ist zwar sicher keine optimale Lösung, aber könnte funktionieren.
Probieren wir's einfach mal!
Such dir die Zeilen:
und ändere das in
Ich habe hier zwei Actors in die Abfrage eingebaut, wenn du mehr brauchst musst vor die letzte Klammer der Abfrage einfach noch ein || und einen weiteren geklammerten Ausdruck für einen Actor einfügen. @active_battler.actor_id ist die jeweilige ID des Actors, $game_variables das Array für all die Variablen, die du auch über Events ansprechen kannst (da also in den [ ] die ID anpassen und entsprechend den Wert, den du haben willst. Ich würde hierbei aber vielleicht eher zu Switches raten (also dann $game_switches), wenn es eh nur darum geht, ob etwas "ON" oder "OFF" ist. Du also nur fragst, ob der Skill erlernt wurde oder eben nicht.
Wie du vielleicht bemerkst, wenn du dir den Code mal anschaust, ist das jetzt nur für die Bedingung bezüglich der MP.
Willst du das ganze auch noch für die HP, musst du die andere Bedingung im gleichen Sinne wie hier erweitern.
Ich hoffe, das hilft dir etwas... ^^;
Teste aber erstmal, ob das so hinhaut, wie ich es hier geschrieben habe... :x
@Soul96: Dann werde ich es beizeiten bei ihm anfragen. Danke für den Hinweis.
@sorata08: Die benannte Passage habe ich ersetzt und hier hat sich wohl ein Fehler eingeschlichen. Beim Verteidigen wird das Programm mit einer Fehlermeldung beendet. Diese bezieht sich auf die erste Zeile vom umgewandelten Part auf die actor_id das diese nicht richtig definiert sei. Ich kann bei Bedarf die Fehlermeldung hier rein stellen, ansonsten würde ich die vorgeschlagene Person einfach anfragen.
Die Unterscheidung von actor_id und enemy_id gibt es afair erst ab dem RMVX, im XP wird sowohl für Helden- als auch Gegnercharaktere id benutzt.
Die Zeile müsste also etwa so aussehen können:
Oder alternativ wenn du einen passiven Skill verwendest:
Wirkt stattdessen bei allen Helden die den passenden Skill (hier beispielsweise den mit ID 17) erlernt haben.
Ah stimmt, irgendwie verpeilt...
"actor_id" kommt aber durchaus als lokale Variable in den Methoden von Game_Actor und anderen Skripten vor, aber da hatte ich wohl zuviel von den Klassen erwartet... ^^;
Wenn man eure beiden Angaben mit einander kombiniert, funktioniert es so wie gewünscht. Sowohl die Version mit den Variablen als auch die über den Skill.