Project1

标题: 分享一个方便导出导入RM脚本成RB格式的小东西 [打印本页]

作者: 夜白雪    时间: 2023-5-26 03:21
标题: 分享一个方便导出导入RM脚本成RB格式的小东西
需要先在电脑里安装ruby 否则不能使用

将以下内容放进新建的文本里 然后将后缀改成.RB
(导出)
RUBY 代码复制
  1. # -*- encoding: utf-8 -*-
  2.  
  3. require "kconv"
  4. require "zlib"
  5.  
  6. def export_rxdata(filename)
  7.   File.open(filename, "rb") {|handle|
  8.     script = Marshal.load(handle)
  9.     index = 0
  10.     script.each {|row|
  11.       filename = row[1].tosjis.gsub(/\//, "_") + ".rb"
  12.       no = sprintf("%04d", index)
  13.       index += 10
  14.       File.open("Scripts/#{no}_#{filename}", "wb") {|output|
  15.         output.write Zlib::Inflate.inflate(row[2])
  16.       }
  17.     }
  18.   }
  19. end
  20.  
  21. if !FileTest::exists?("Scripts")
  22.   Dir::mkdir("Scripts")
  23. end
  24.  
  25. export_rxdata("Data/Scripts.rxdata")

其中里面RXDATA 可以改成RVDATA RVDATA2 来导出 VX 和 VA 的脚本 现在这个默认是导出XP的


RUBY 代码复制
  1. # -*- encoding: utf-8 -*-
  2.  
  3. require "kconv"
  4. require "zlib"
  5. require "date"
  6.  
  7. scripts = []
  8. index = 0
  9. Dir.entries("Scripts").sort.each {|file|
  10.   next if file=="." || file==".."
  11.   next if file !~ /\.rb$/
  12.   filename = file.toutf8
  13.   filename.slice!(".rb")
  14.   filename = filename[5..-1]
  15.   script = File.read("Scripts/#{file}")
  16.   raw = [index, filename, Zlib::Deflate.deflate(script)]
  17.   scripts.push(raw)
  18.   index += 1
  19. }
  20.  
  21. if FileTest.exists?("Data/Scripts.rxdata")
  22.         File.rename("Data/Scripts.rxdata", "Data/Scripts.rxdata_"+DateTime.now.strftime("%Y%m%d_%H%M%S"))
  23. end
  24.  
  25. File.open("Data/Scripts.rxdata", "wb") {|output|
  26.   Marshal.dump(scripts, output)
  27. }

使用方法同上
作者: qq634488405    时间: 2023-5-26 08:48
好像有个叫Gemini script editor的,可以打开RMXP/VX/VA脚本,并支持导出为.rb,无需安装ruby
作者: 夜白雪    时间: 2023-5-26 23:28
qq634488405 发表于 2023-5-26 08:48
好像有个叫Gemini script editor的,可以打开RMXP/VX/VA脚本,并支持导出为.rb,无需安装ruby ...

诶诶诶! 发晚了吗,..几年前用过这个 然后一直放角落吃灰来着的...




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1