Ergebnis 1 bis 5 von 5

Thema: [RPGM VX ACE] Script - MP abfragen bei Waffenwechsel?

  1. #1

    [RPGM VX ACE] Script - MP abfragen bei Waffenwechsel?

    Hallo Leute!

    Ich habe heute eine Frage an die mehr oder weniger versierten Scripter unter euch!

    In einem meiner aktuellen Projekte hat das Mana also MP den Zweck von Munition für Schusswaffen.
    Bedeutet:
    Das maximale Mana wird Anhand der Kapazität der Waffe bestimmt.

    Problem: Wechselt man eine Waffe, verliert man zwangsläufig Munition, was dazu führt, dass ein Waffen- und Ausrüstungswechsel sehr frustrierend sein kann.

    Deswegen wollte ich euch mal fragen:

    Ist es möglich per Script die Menge der aktuellen MP/ Munition abzufragen, wenn über das Standardmenü die Waffe gewechselt wird?
    Das natürlich für eine ganze Party von (gleichbleibend) 4 Mitgliedern.

    Im Grunde müsste ja nur abgefragt werden, ob sich die Max-MP von Actor 1-4 geändert haben, um ihnen dann nach dem Wechsel der Ausrüstung die gleiche Menge MP zurückzuführen die sie vorher hatten.

    Über Events ist das natürlich auch mehr oder weniger möglich, allerdings habe ich so im Gefühl, dass es per Script wesentlich einfacher zu lösen wäre.
    Nur habe ich leider keine Ahnung vom Scripten und benötige deswegen dringend eure Hilfe!

    In freudiger Erwartung auf hilfreiche Antworten:
    ~Räbbit!

  2. #2
    Hey Räbbit,

    ich verstehe gerade deine Anforderung nicht so ganz.

    Die Methode, die beim Wechseln der Ausrüstung aufgerufen wird ist folgende:

    Code:
    class Game_Actor < Game_Battler
      def change_equip(slot_id, item)
        return unless trade_item_with_party(item, equips[slot_id])
        return if item && equip_slots[slot_id] != item.etype_id
        @equips[slot_id].object = item
        refresh
      end
    end
    Die MaxMP kannst du über die Methode mmp abfragen. Was genau brauchst du jetzt noch?

  3. #3
    Simpel:
    Ich weiß weder was, noch wo ich Codezeilen einsetzen müsste, da ich keine Ahnung von Ruby habe.

    Ich würde ein Script benötigen, bei dem die MP vor dem Ausrüsten abgefragt und nach dem Ausrüsten wieder zurückgeführt werden.
    Sie müssten sozusagen zwischengespeichert werden.

    Da ich keine Ahnung habe wie ich das schreiben, oder wo ich das einsetzen müsste, versuche ich es mal so zu erklären.

    1. Held trägt Waffe - Waffe bestimmt MaxMP

    2. Held legt Waffe ab - Davor muss ein Script den MP Wert abfragen und Zwischenspeichern (Variable)

    3. Wenn nun wieder eine Waffe ausgerüstet wird, müssten die zwischengespeicherten MP Werte zurückgeführt werden, bzw. an den MaxMP angepasst werden, wenn dieser niedriger ist, als der MP Wert aus der Variable der von Waffe

    4. Ich müsste wissen, wo es eingesetzt werden soll und wie man das für 4 Actors einrichtet
    (welche immer in der Party sind)

    Ich hoffe das ist verständlich : )

    Geändert von Mr.Räbbit (11.06.2014 um 16:30 Uhr)

  4. #4
    Auf die schnelle würde ich sagen, dass es in etwa so funktionieren sollte (einfach über main einfügen):

    Code:
    class Game_Actor < Game_Battler
      @lmp  #last mp
      def change_equip(slot_id, item)
        return unless trade_item_with_party(item, equips[slot_id])
        return if item && equip_slots[slot_id] != item.etype_id
        @lmp = mp if(mmp > 0)  #aktuellen mp wert auf @lmp zwischenspeichern
        @equips[slot_id].object = item
        @mp= [@lmp,mmp].min if(@lmp) #mp auf alten Wert oder max_mp setzen
        refresh
      end
    end
    Nicht wirklich getestet und quick&dirty gemacht.

  5. #5
    Cool! : D
    Wird gleich mal getestet!

    Edit: Yeah!
    Sieht gut aus ~ Vielen, vielen Dank und herzlichen Glückwunsch, Sie haben sich einen Credit-Platz ergattert ; D
    Für Quick&Dirty war das genau das was ich gebraucht habe!

    Geändert von Mr.Räbbit (11.06.2014 um 17:44 Uhr)

Berechtigungen

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