Project1
标题:
RPG Maker MV 能把对话放在TXT里面读取吗?
[打印本页]
作者:
swin1234
时间:
2018-8-9 11:44
标题:
RPG Maker MV 能把对话放在TXT里面读取吗?
我现在想做个AVG黄油,但是不想每次都要打字啊,能不能建个TXT文本,把所有对话都排列好,然后游戏里面自动读取对话啊,那样就不用那么麻烦了吧!,有可能实现吗?最好就是能自动读取头像,那样就哪个头像说什么话就一目了然啊
作者:
xjzsq
时间:
2018-8-9 12:53
本帖最后由 xjzsq 于 2018-8-9 12:56 编辑
人物的对话实际上都是储存在所在地图中的json中,格式是:
会被包在"list"这一项中。之后会有更换人物图像的记录:{"code":101,"indent":0,"parameters":["L",0,0,2]}
这句话的意思就是下面的所有对话的头像都是图片"L.png"中0,0位置的脸图,code:101的意思是这条记录用来改变脸图,其他的不用管(实际上是我不知道);之后就会跟着一些对话。{"code":401,"indent":0,"parameters":["text"]},401的意思是这条记录是用来表示对话的,然后会显示text对话,而脸图用最后一次设置的脸图(也就是上面的L,0,0,2)。搞明白了这个就可以随便找个语言写个程序,把写好的对话转换成标准的json格式,这样应该还是比复制粘贴到MV快的。
大概这个程序珂以像下面这样写:(cpp)
#include<bits/stdc++.h>
using namespace std;
const int maxn=100000001;
char name[maxn],text[maxn];
int main()
{
freopen("a.txt","r",stdin);
freopen("solution.json","w",stdout);
while(1)
{
int top=0;
while(name[top-1]!=':')name[top++]=getchar();
//cout<<name<<endl;
name[top-1]=0;top=0;
while(text[top-1]!='\n')text[top++]=getchar();
text[top-1]=0;
printf("{\"code\":101,\"indent\":0,\"parameters\":[\"%s\",0,0,2]},{\"code\":401,\"indent\":0,\"parameters\":[\"%s\"]},",name,text);
}
}
复制代码
这个就珂以读取a.txt中的剧本,然后输出到solution.json中,要求a.txt中的文本格式是
人物脸图文件名:人物对话,注意冒号必须是英文冒号(这个珂以用替换功能替换),之后每行一句人物对话,最后复制到地图的json文件中就好
作者:
若得
时间:
2018-8-9 14:01
本帖最后由 若得 于 2018-8-9 14:08 编辑
补充楼上,indent是缩进,2是对话框位置。楼上写的脚本是默认不透明,下方的。如果想要改变其他参数就改这两个数值了。
嘛,c加加太难了,其实感觉用vb简单点。。。
不过有更简单方法,用excel表格,第一列是
{"code":101,"indent":0,"parameters":
第二列自己写,第三列等于第一列加第二列。说不太明白,有不懂的再问我。
@xjzsq 楼上应该能听懂,我和你思想是一样的,帮解释下。
作者:
swin1234
时间:
2018-8-9 14:51
若得 发表于 2018-8-9 14:01
补充楼上,indent是缩进,2是对话框位置。楼上写的脚本是默认不透明,下方的。如果想要改变其他参数就改这 ...
我也觉得C++太难了,你的那个简单点的是如何操作啊,用excel如何能实现呢,求指教啊!
作者:
若得
时间:
2018-8-9 16:34
本帖最后由 若得 于 2018-8-9 16:50 编辑
新建 WinRAR 压缩文件.rar
(2.5 KB, 下载次数: 95)
2018-8-9 16:33 上传
点击文件名下载附件
excel
直接把excel给你了,拿到手里就看懂了。记住粘贴到list里
对话框如果不要face,直接""就可以
还有,每一行都是一个code101,code401是换一个对话框。我给你的excel只支持一个对话框一行。。。
这个略复杂,但绝对好用。此问题很有价值,我认为甚至可以到发布区发布。
举例:没有face,显示两次两行字。实际情况不是三行,为了方便看写成了三行。
{"code":101,"indent":0,"parameters":["",0,0,2]}, //该对话框的属性,包括脸图等
{"code":401,"indent":0,"parameters":["床前明月光"]}, //第一行是一段
{"code":401,"indent":0,"parameters":["疑是地上霜"]} //第二行是一段
{"code":101,"indent":0,"parameters":["",0,0,2]}, //这是第二个对话框
{"code":401,"indent":0,"parameters":["床前明月光"]}, //第一行是一段
{"code":401,"indent":0,"parameters":["疑是地上霜"]} //第二行是一段
作者:
白嫩白嫩的
时间:
2018-8-9 22:37
可能回答不怎么贴切,但是这个帖子里的工具你应该用得到
对白提取器
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1