赞 | 34 |
VIP | 2 |
好人卡 | 3 |
积分 | 308 |
经验 | 36064 |
最后登录 | 2024-11-7 |
在线时间 | 607 小时 |
Lv5.捕梦者
- 梦石
- 0
- 星屑
- 30800
- 在线时间
- 607 小时
- 注册时间
- 2014-7-18
- 帖子
- 729
|
本帖最后由 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文件中就好
|
评分
-
查看全部评分
|