RXDATA layout?
#1
I'm curious how the databases are layed out in the RXDATA files.
If there is any utility that would just decrypt the databases, that would be helpful.
Reply }
#2
I am pretty sure Text to RGSS can convert the default databases into a text file. http://save-point.org/thread-3276.html?h...xt+to+RGSS

Really though, most if not all of the database information is in the help file.
Reply }
#3
Narzew has a simple script that will dump the whole thing to a text file.
[Image: cautionary.png]
Reply }
#4
Simply parse it.

This is code that extract language and dictionary from .rxdata to many .ini files. You can use any values you want .

Code:
module Language
  module Utility
    def self.export_data
      $export_tables = ["$names_list = {\n","$classes_list = {\n","$skills_list = {\n", "$skills_descriptions = {\n", "$items_list = {\n", "$items_descriptions = {\n", "$weapons_list = {\n", "$weapons_descriptions = {\n", "$armors_list = {\n", "$armors_description = {\n", "$enemies_list = {\n", "$troops_list = {\n", "$states_list = {\n", "$animations_list = {\n", "$tilesets_list = {\n", "$common_events_list = {\n", "$dictionary = {\n"]
      $edb_names = ["$names_list", "$classes_list","$skills_list","$skills_descriptions", "$items_list", "$items_descriptions", "$weapon_list", "$weapon_descriptions", "$armor_list", "$armor_descriptions","$enemies_list", "$troops_list", "$states_list", "$animations_list", "$tilesets_list", "$common_events_list", "$dictionary"]
      $system_words_tables = ["gold","hp","sp","str","dex","agi","int","atk","pdef","mdef", "weapon", "armor1","armor2","armor3","armor4","attack","skill","guard","item","equip"]
      $export_filelist = ["Names", "Classes", "Skills", "SkillsDesc", "Items", "ItemsDesc", "Weapons", "WeaponsDesc", "Armors", "ArmorsDesc", "Enemies", "Troops", "States", "Animations", "Tilesets", "CommonEvents", "Dictionary"]
      $dict_text = ""
      1000.times{|x|
      y = x+1
      $export_tables[0] = $export_tables[0] << "#{y} => \"#{$data_actors[y].name}\",\n" unless $data_actors[y] == nil rescue $nrgss.do_nothing
      $export_tables[1] = $export_tables[1] << "#{y} => \"#{$data_classes[y].name}\",\n" unless $data_classes[y] == nil rescue $nrgss.do_nothing
      $export_tables[2] = $export_tables[2] << "#{y} => \"#{$data_skills[y].name}\",\n" unless $data_skills[y] == nil rescue $nrgss.do_nothing
      $export_tables[3] = $export_tables[3] << "#{y} => \"#{$data_skills[y].description}\",\n" unless $data_skills[y] == nil rescue $nrgss.do_nothing
      $export_tables[4] = $export_tables[4] << "#{y} => \"#{$data_items[y].name}\",\n" unless $data_items[y] == nil rescue $nrgss.do_nothing
      $export_tables[5] = $export_tables[5] << "#{y} => \"#{$data_items[y].description}\",\n" unless $data_items[y] == nil rescue $nrgss.do_nothing
      $export_tables[6] = $export_tables[6] << "#{y} => \"#{$data_weapons[y].name}\",\n" unless $data_weapons[y] == nil rescue $nrgss.do_nothing
      $export_tables[7] = $export_tables[7] << "#{y} => \"#{$data_weapons[y].description}\",\n" unless $data_weapons[y] == nil rescue $nrgss.do_nothing
      $export_tables[8] = $export_tables[8] << "#{y} => \"#{$data_armors[y].name}\",\n" unless $data_armors[y] == nil rescue $nrgss.do_nothing
      $export_tables[9] = $export_tables[9] << "#{y} => \"#{$data_armors[y].description}\",\n" unless $data_armors[y] == nil rescue $nrgss.do_nothing
      $export_tables[10] = $export_tables[10] << "#{y} => \"#{$data_enemies[y].name}\",\n" unless $data_enemies[y] == nil rescue $nrgss.do_nothing
      $export_tables[11] = $export_tables[11] << "#{y} => \"#{$data_troops[y].name}\",\n" unless $data_troops[y] == nil rescue $nrgss.do_nothing
      $export_tables[12] = $export_tables[12] << "#{y} => \"#{$data_states[y].name}\",\n" unless $data_states[y] == nil rescue $nrgss.do_nothing
      $export_tables[13] = $export_tables[13] << "#{y} => \"#{$data_animations[y].name}\",\n" unless $data_animations[y] == nil rescue $nrgss.do_nothing
      $export_tables[14] = $export_tables[14] << "#{y} => \"#{$data_tilesets[y].name}\",\n" unless $data_tilesets[y] == nil rescue $nrgss.do_nothing
      $export_tables[15] = $export_tables[15] << "#{y} => \"#{$data_common_events[y].name}\",\n" unless $data_common_events[y] == nil rescue $nrgss.do_nothing
      }
      16.times{|c|
      $export_tables[c] = $export_tables[c] << "}\n"
      }
      $cwords = []
      $system_words_tables.each{|z|
      eval("$cwords << $data_system.words.#{z}")
      }
      cnt = 0
      $cwords.each{|o|
      $dict_text << "\"#{o}\", \# #{cnt}\n"
      cnt += 1
      }
      $dict_text << "}"
      $export_tables[16] = $export_tables[16] << $dict_text
      count = 0
      $export_filelist.each{|a|
      file = File.open("LangConfig/Auto/#{a}.ini", "wb")
      file.write($export_tables[count])
      file.close
      count += 1
      }
    end
  end
end
Skills: Android, Ruby, PHP, Linux
Reply }
#5
Thank you! I got what I was looking for :-)

Reply }


Possibly Related Threads…
Thread Author Replies Views Last Post
   Need help with my menu - Current issue is item grid layout LilyFrog 41 39,490 09-24-2018, 02:03 AM
Last Post: LilyFrog
   How to get class name from Scripts.rxdata? MechanicalPen 2 6,708 08-13-2013, 05:50 PM
Last Post: MechanicalPen



Users browsing this thread: 1 Guest(s)