| 赞 | 36  | 
 
| VIP | 2 | 
 
| 好人卡 | 3 | 
 
| 积分 | 344 | 
 
| 经验 | 36064 | 
 
| 最后登录 | 2025-10-21 | 
 
| 在线时间 | 611 小时 | 
 
 
 
 
 
Lv5.捕梦者 
	- 梦石
 - 2 
 
        - 星屑
 - 32412 
 
        - 在线时间
 - 611 小时
 
        - 注册时间
 - 2014-7-18
 
        - 帖子
 - 730
 
 
   
 
 | 
	
 本帖最后由 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文件中就好 
 
 
 
 
 |   
 
评分
- 
查看全部评分
 
 
 
 
 
 |