Project1
标题:
不依赖VX/VA导出事件文本的方法
[打印本页]
作者:
辰落九缈
时间:
2022-5-1 22:42
标题:
不依赖VX/VA导出事件文本的方法
本帖最后由 辰落九缈 于 2022-5-1 23:15 编辑
大概99%的人都没有这个需求。
问题描述
暂时用不了Windows或不想用VX/VA,要怎么导出事件文本。
相关方法
如何读取data文件夹的rvdata2为文本文件?
包括事件搜索器、加入导入导出文本的插件等。
DICE2000/rvdata2json
缺点:需要先写好RPG模块,存在字符串编码问题。
本文方法
基于
ChronoMonochrome/rvdata2json
修改,通过rubymarshal读取ruby序列化对象,再进行后续的解析,rvdata和rvdata2做不同处理,遇到编码问题或未知错误就跳过。
用法
github地址
python >= 3.6
额外的包:rubymarshal, pyyaml
装包,
pip install rubymarshal pyyaml
复制代码
拉仓库,
git clone https://github.com/Tsianmy/parse_rvdata
复制代码
执行,
cd parse_rvdata
python main.py -d </path/to/Data> [-o </path/to/output>] [-m <mode>]
复制代码
"[]"是可选项,</path/to/Data>是存放.rvdata的Data文件夹,</path/to/output>是指定的输出目录,不填就输出到rvdata相同目录,<mode>可填1,2,分别是将rvdata转成yaml和将map.rvdata里的事件文本输出到txt,默认是1。
例子:提取事件文本,解析~/Project/Data/Map001.rvdata,保存到Map001.txt
python main.py -d ~/Project/Data -m 2
复制代码
额外功能:*.rvdata转*.yml
python main.py -d ~/Project/Data
复制代码
缺陷:目前Scripts.rvdata提取不了,
DICE2000/rvdata2json
也忽略了这个文件。
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1