Ergebnis 1 bis 3 von 3

Thema: *.rvdata editieren?

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Wenn in einer Datei nur ein Objekt gespeichert ist, kannst du es so herauslesen:
    Code:
    objekt = File.open("./data/bla.vxdata") {|io| Marshal.load(io)}
    Bei mehreren Objekten in einer Datei (z.B. Savedateien) holst du die Objekte so heraus
    Code:
    objekte = File.open("./data/bla.vxdata") {|io|
      objs = []
      objs << Marshal.load(io) until io.eof?
      objs
    }
    Das Abspeichern funktioniert eigentlich ähnlich:
    Code:
    File.open("./data/bla.vxdata") {|io|
      Marshal.dump(mein_objekt, io)
    }
    Zum Bearbeiten brauchst du dir eigentlich nur die Helpfile anschauen. Dort sind die Datentypen und ihre Attribute erklärt.

    Die Messagebefehle kannst du natürlich erweitern. In deinem Fall würde das so aussehen:

    Code:
    class Window_Message < Window_Selectable
      alias convert_special_characters_without_varname convert_special_characters
      def convert_special_characters
        @text.gsub!(/\\VN\[(\d+)\]/i) {$data_system.variables[Integer($1)]}
        @text.gsub!(/\\SN\[(\d+)\]/i) {$data_system.switches[Integer($1)]}
        convert_special_characters_without_varname
      end
    end
    Danach kannst du in der Message die Befehle \vn[4] den Namen der Variable 4, und mit \sn[7] den Namen des Switchs 7 ausgeben.

  2. #2
    Vielen Dank! Funktioniert wunderbar.

    Gruß,
    WangXu

    Edit:
    Tausend Dank noch einmal. Ich habe eben geschafft, wofür ich die *.rvdata editieren wollte! Ich habe eine eigene rvdata für Munition geschrieben.







    Gruß,
    WangXu

    Geändert von WangXu (17.03.2009 um 22:45 Uhr)

Berechtigungen

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