骑马与砍杀中文站论坛

 找回密码
 注册(Register!)

QQ登录

只需一步,快速开始

搜索
查看: 719|回复: 13

[求助] 对同一个NPC(自建)怎样触发第二段对话

[复制链接]
鲜花(40) 鸡蛋(1)
发表于 2018-1-12 16:49:28 | 显示全部楼层 |阅读模式


      新增加了一个场景人物
      创建了二段与其的对话
      第一段双方一来一往有五六句,然后结束
     第二段双方一来一往也有五六句,然后结束
     我只会用start   \ close window 来写对话
     结果是与其对话永远都是第一段对话,引发不了第二段对话
     基本要求是,第一段对话结束后,玩家如果再按F键,就引发第二段对话
    再升级问一下,第二段对话如何放入一个条件,即 玩家必须具备一个某物品才会引发第二段对话
    谢谢
鲜花(152) 鸡蛋(1479)
发表于 2018-1-12 20:10:21 | 显示全部楼层
把第一段对话结束的时候 全局变量赋值为1 第二段对话开头全局变量判断是否是1  是就触发啊  

鲜花鸡蛋

jj10  在2018-1-12 20:56  送朵鲜花  并说:感谢指导,但我不会PY, 怎么写成TXT
鲜花(40) 鸡蛋(1)
 楼主| 发表于 2018-1-12 21:05:42 | 显示全部楼层
圣殿骑士的光辉 发表于 2018-1-12 20:10
把第一段对话结束的时候 全局变量赋值为1 第二段对话开头全局变量判断是否是1  是就触发啊

dlga_start:someman 4092  0  0 AAAA…  1000  0 NO_VOICEOVER
dlga_player 69631 1000  0 BBBB…  1001  0 NO_VOICEOVER
dlga_someman:close_window 4092 1001  0 CCCC  6  0 NO_VOICEOVER


dlga_start:someman 4092  0  0 DDDD…  1002  0 NO_VOICEOVER
dlga_player 69631 1002  0 EEEE…  1003  0 NO_VOICEOVER
dlga_someman:close_window 4092 1003  0 FFFF  6  0 NO_VOICEOVER


就是这二段话,怎么付值?
如果第二段话需要一个条件,如上面所述需要身上携带某件物品,如一把剑之类的,又该如何写?
谢谢!
鲜花(287) 鸡蛋(0)
发表于 2018-1-12 22:48:25 | 显示全部楼层
唉,你还真是执着啊,这里的大师们都是按py回答问题的。你只要TXT的话,有种简单的方法,你没必要写两段独立的对话,你应该知道游戏里面有并列的对话,就是让你选择哪句话的那种,但是这些并列的对话都是玩家说的,这样你才能选择。并列的对话的前面那个引导代码是一样的,不同的是后面那个衔接下一句的代码,你把后面那个数字改成不同句子的代码即可。我以前告诉过你这些代表某个句子的代码的。可参考游戏中已经有的并列句。
鲜花(40) 鸡蛋(1)
 楼主| 发表于 2018-1-12 23:35:01 | 显示全部楼层
蒋亚军1990 发表于 2018-1-12 22:48
唉,你还真是执着啊,这里的大师们都是按py回答问题的。你只要TXT的话,有种简单的方法,你没必要写两段独 ...

多谢蒋大指导

   对方/自己说一句,然后下面有很多选项的对话我知道用了
   
  
  现在的问题是,对NPC说一段话,然后结束,再按F,就开始新的下一段对话,内容与上一段无任何联系

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册(Register!)

x
鲜花(287) 鸡蛋(0)
发表于 2018-1-12 23:48:56 | 显示全部楼层
你新加的对话不要用已经用过的句子代码,你上面发的语句里面用1000和1001,而这些在原游戏中已经有了对应语句,因此会混乱。新加对话一定要用原游戏没用过的语句代码。
鲜花(40) 鸡蛋(1)
 楼主| 发表于 2018-1-13 00:29:03 | 显示全部楼层
蒋亚军1990 发表于 2018-1-12 23:48
你新加的对话不要用已经用过的句子代码,你上面发的语句里面用1000和1001,而这些在原游戏中已经有了对应语 ...


     感谢!
     此前的确没注意,就用刚开始的25XX开始编号,结果对话乱得一塌糊涂
     后来直接从8000开始编号,才理清爽,花了几天时间才搞明白
     
    对了,上面的对话还是不知道怎么办?

    设计的对话形式是:

   NPC:hello!
   player: finethinkyou
   NPC: byby

   若再按F键
   NPC:有事请你帮忙
  PLAYER:吗事?
  NPC:帮我找样东西
  PLAYER:好

   后面就更难了,PLAYER若找到(身上有)
   又开始新的对话
鲜花(164) 鸡蛋(67)
发表于 2018-1-13 06:17:13 | 显示全部楼层
start - close_window

这个叫做【一句对话】,有个很大的麻烦就是这类型的对话,标签都是一样的,汉化部分区分不出来只好按照前后顺序来查找汉化。
所以一定不要插在中间,不想调整汉化顺序的话,要放在最后边才行。

鲜花(40) 鸡蛋(1)
 楼主| 发表于 2018-1-13 10:49:16 | 显示全部楼层
Borr 发表于 2018-1-13 06:17
start - close_window

这个叫做【一句对话】,有个很大的麻烦就是这类型的对话,标签都是一样的,汉化部 ...

这个问题已经解决,就是【二句对话】分二次启动(按二次F键)没找到办法
应该还是二楼的办法,但不知道如何赋值(不会py)
鲜花(49) 鸡蛋(0)
发表于 2018-1-14 20:06:37 | 显示全部楼层
txt很简单啊,2133,也就是assign,是赋值的代码

鲜花鸡蛋

jj10  在2018-1-14 20:31  送朵鲜花  并说:谢谢指导
鲜花(40) 鸡蛋(1)
 楼主| 发表于 2018-1-14 20:31:12 | 显示全部楼层
一尾锦鲤 发表于 2018-1-14 20:06
txt很简单啊,2133,也就是assign,是赋值的代码

具体到TXT对话如何写,我试着乱写了一下,你看看是这样吗?

第一句
dlga_start:someman 4092  0  0 AAAA…  1000  2133 1 0 NO_VOICEOVER
dlga_player 69631 1000  0 BBBB…  1001  0 NO_VOICEOVER
dlga_someman:close_window 4092 1001  0 CCCC  6  0 NO_VOICEOVER

再按F后第二句
dlga_start:someman 4092  2133  1 DDDD…  1002  0 NO_VOICEOVER
dlga_player 69631 1002  0 EEEE…  1003  0 NO_VOICEOVER
dlga_someman:close_window 4092 1003  0 FFFF  6  0 NO_VOICEOVER
鲜花(49) 鸡蛋(0)
发表于 2018-1-14 20:43:26 | 显示全部楼层
不对,后面跟一个变量,比如2133 2 144115188075856xxx 1  ,这是把那个全局变量赋值为1,第二句的判断就要写31 2 144115188075856xxx 1,这是判断全局变量是否等于1,等于才会出现这句话

鲜花鸡蛋

jj10  在2018-1-14 22:08  送朵鲜花  并说:我非常同意你的观点,送朵鲜花鼓励一下
鲜花(40) 鸡蛋(1)
 楼主| 发表于 2018-1-14 22:18:27 | 显示全部楼层
2133 2 144115188075856xxx 1
31 2 144115188075856xxx 1
这二段的意思我试着解读一下:

2133  一个赋值代码,准备进行赋值
2       一个参数(不明白是什么参数,为什么是2)
144115188075856xxx   不明白是什么
1    赋值为1

31    一个判断,准备进行判断
2    同上
144115188075856xxx  同上
1  该赋值为1

其144115188075856xxx  后面的XXX是什么?

根据上述意思,修改如下,请指教:

dlga_start:someman 4092  0  0 AAAA…  1000  2133 2 144115188075856xxx 1 0 NO_VOICEOVER
dlga_player 69631 1000  0 BBBB…  1001  0 NO_VOICEOVER
dlga_someman:close_window 4092 1001  0 CCCC  6  0 NO_VOICEOVER

再按F后第二句
dlga_start:someman 4092  31 2 144115188075856xxx 1 DDDD…  1002  0 NO_VOICEOVER
dlga_player 69631 1002  0 EEEE…  1003  0 NO_VOICEOVER
dlga_someman:close_window 4092 1003  0 FFFF  6  0 NO_VOICEOVER
鲜花(49) 鸡蛋(0)
发表于 2018-1-14 22:32:40 | 显示全部楼层
jj10 发表于 2018-1-14 22:18
2133 2 144115188075856xxx 1
31 2 144115188075856xxx 1
这二段的意思我试着解读一下:

2代表后面跟着两个参数,144115那个是一个全局变量,至于xxx是几取决于mod,而且你要新定义一个,还有,把那串大写英文前面的0删了,在2133前面加个1 ,0代表没有代码,既然你加了赋值这句代码就要改成1。最后赶紧翻教程去,你还没入门呢
您需要登录后才可以回帖 登录 | 注册(Register!)

本版积分规则

Archiver|手机版|小黑屋|骑马与砍杀中文站 ( 鄂ICP备07001403号 )

GMT+8, 2018-10-21 13:31 , Processed in 0.121415 second(s), 49 queries , Gzip On, Memcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表