逗游网:值得大家信赖的游戏下载站!

微信:doyo_game
关注逗游
单机首页 游戏库 排行榜 资讯 攻略 专题 合集 工具补丁 手机游戏 正版商城
所在位置:攻略中心 > 单机攻略 > 轩辕剑5外传:汉之云 > 正文

轩辕剑外传: 汉之云 打1.01补丁后战斗死循环解决方法研究

发布时间:2012-02-27 11:47 来源:互联网  作者:佚名

 

由于玩的是XX版,所以1.01补丁直接打上去是不行的。一般人都是备份原先的 swdhc.exe,打完补丁再复制回去。造成的结果就是主程序仍然是 1.00版,新增剧情可以体现(但有严重问题,见下文),修正后的护国持天等技能也可以看到,但1.00系统的一些bug无法修正。

最严重的问题在于新增战斗死循环。用网上下载的新增剧情战斗存档测试后可以发现,在打完路人轩、二战黑龙后,剧情会回到打死boss之间的地方重新进行,造成死循环,无法继续剧情。

本来这个问题是没办法修正的,除了等1.01的XX补丁。不过,前几天看到 vbvan 大大的强帖:汉之云脚本研究(附带MOD制作工具) ,并且大大已经更新了1.01的原始剧情脚本,顿时看到了希望!

经过数小时的研究,发现通过修改脚本,可以修正死循环的问题。

所以,有兴趣diy的可以跟着我一起修改。当然觉得麻烦的可以直接下载修改好的文件。

研究1:新增战斗死循环解决

通过全文搜索关键字,确定暴走陆的剧情全部在 10804c.lua 文件中。判断战斗前后剧情的关键代码如下:

CODE:
crazylu_2 = function()
   if isfon(4801) == 1 and isfon(2913) == 0 then
      crazylu_2_a()
   else
      if isfon(2913) == 1 and isfon(4803) == 0 then
         crazylu_2_b()
      end
   end
end
判断是否与小陆子战斗过的flag是2913。但是整个代码中并无一处设置 fon(2913) 。因此,可以认为 fon(2913) 是在1.01的主程序里直接给出,而1.00的主程序则不会,导致的结果就是 isfon(2913)永远为0,陷入死循环。

修正方法就是把 fon(2913)  加到战斗开始之前——虽然主程序没有设定2913这个flag,在脚本进行过程中设置的效果也是一样的。可以找到 crazylu_2_a() 函数的合适位置:

CODE:
      chatinfo(80, "少年", "喝啊啊啊啊──")
      story_music_off(0, 0)
      story_music(84, 1, 84, 1, 2, 0)
      call_fightdark(383)
      lock_player(0)
这是原先的代码,修改为

CODE:
      chatinfo(80, "少年", "喝啊啊啊啊──")
      fon(2913)
      story_music_off(0, 0)
      story_music(84, 1, 84, 1, 2, 0)
      call_fightdark(383)
      lock_player(0)
这样就可以了。使用网上流传的小陆子战斗前存档测试,在战胜后可以顺利接下面的剧情。


新增的龙吟事件需要三次战斗,第一场位于葫芦谷的战斗不会死循环。而在巫山和绝命崖的战斗都会死循环,原因和陆承轩战斗的道理是一样的。

解决后两次战斗死循环的方法也是一样的。龙吟事件的完整代码在 10805c.lua 中。第二战的flag是 2915,第三战是 2916 。因此,只需把 fon(2915) 和 fon(2916) 分别加入到 plusevent_3_a 与 plusevent_4_a 两段函数的代码当中任意位置。同样用上述存档测试,可以顺利开展后续剧情。

进入《轩辕剑5外传:汉之云》专区
查看更多《轩辕剑5外传:汉之云》攻略
标签:轩辕剑外传: 汉之云 打1.01补丁后战斗死循环解决方法研究 
https://www.doyo.cn/article/38936复制本文地址
阅读本文后,您的心情是:(选择后可查看结果)
 
恶心
愤怒
强赞
感动
路过
无聊
雷囧
关注
今日关注游戏
游戏专题
IGN 9分以上作品 愿者上钩钓鱼的那点趣事 深冬之寒,来一起看看游戏中精美的雪景吧