- 精华
- 阅读权限
- 90
- 好友
- 相册
- 分享
- 听众
- 收听
- 注册时间
- 2023-3-4
- 在线时间
- 小时
- 最后登录
- 1970-1-1
|
本帖最后由 andon 于 2023-5-7 17:11 编辑
谨以此贴献给爱好天龙的朋友们
最近在某宝上毛毛的店里买了个万紫千红5,玩了一下发现一些小bug,于是尝试修复,此贴记录了修复明教【怒火连斩】bug的过程
(读书人的事能说是bug吗,这叫特性,别问是故意的还是不小心,问就是故意不小心的)
本次修复的bug如下↓↓↓↓↓↓↓↓
bug1:不进阶和进阶效果相同
bug2:砍完18刀后,怒火效果会从第一刀重新生效(本来应该是砍完以后怒火效果就失效了,这里成了循环生效)
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
下面记录修复的过程↓↓↓↓↓↓↓↓
首先查看服务器上的文件,文件传输工具可以用Xftp或者WinSCP,建议打开txt用excel,建议打开lua用notepad++,工具请自行解决
1.在【/Public/Config】中找到【SkillTemplate.txt】和【SkillData.txt】,把他们复制到电脑上
2.在【/Server/Config】中找到【StandardImpact.txt】,把他复制到电脑上
3.打开【SkillTemplate.txt】后找到【怒火连斩】和【怒火连斩·绝杀】找到它们在【SkillData.txt】对应的条目(另外发现这两个技能的【心法ID】是【56】,这个后面会用到)
4.在【SkillData.txt】中,发现【怒火连斩】和【怒火连斩·绝杀】都指向了【StandardImpact.txt】中的同一个条目,打开【StandardImpact.txt】,
找到这个条目(因为不同版本技能对应的索引不同,下面用拼音缩写代替),发现与与此技能有关的条目共有21个:
效果a:nhzt--这是是一个状态,【怒火连斩】和【怒火连斩·绝杀】都指向了这个效果,在此状态持续期间,每次攻击都会对自己触发一次nhcf
效果b:nhcf--这是一个数据索引,因为nhzt那个条目的属性限制每次只能触发一个效果,而怒火状态下每次攻击需要触发两个状态(加速和加伤害),
所以必须引入nhcf,nhcf可以触发很多个效果,此处触发了下面的nhjs(加速)和nhjb(脚本)
效果c:nhjs--这是一个加速状态,持续时间5秒,怒火每砍一刀都会给自己一个加速5秒的状态
效果d:nhjb--脚本,用于赋予每一刀不同的伤害加成,这个条目后面写的脚本号为808233
效果e:nh1、nh2、nh3。。。nh17--一共有17条,都是5秒的加伤害状态,加成依次提高,供nhjb对应的脚本调用
5.在【Public/Data】中找到【Script.dat】,打开后搜索【808233】,找到这个脚本的路径为【/Script/MyNew/Skill】,在此路径找到【NuHuoLianZhan.lua】,复制到电脑上
(此文件目录不保证在所有版本都适用,具体位置请自行查找)
6.打开这个lua,分析代码后获得如下信息:
① 在函数function x808233_OnImpactFadeOut( sceneId, selfId, impactId )中的bug:
此处代码砍完15刀后直接给自己下一个加伤害状态,没有区分是否进阶,都能砍到第18刀
elseif LuaFnHaveImpactOfSpecificDataIndex(sceneId, selfId, 332) == 1 then --第14刀,这一刀是在hn13状态下砍的
LuaFnSendSpecificImpactToUnit( sceneId, selfId, selfId, selfId, 333, 0 ) --给自己的nh14状态
elseif LuaFnHaveImpactOfSpecificDataIndex(sceneId, selfId, 333) == 1 then --第15刀,这一刀是在nh14状态下砍的
LuaFnSendSpecificImpactToUnit( sceneId, selfId, selfId, selfId, 32693, 0 ) --直接给了自己hn15状态,没有判断是否进阶
只需要在砍第15刀时检查一下自身是否已经学习了进阶技能就好了,如果没进阶,砍完第15刀就结束了,如果进阶了,那就继续
-------------------------------------这个函数可以判断你的角色是否学习了【怒火连斩·绝杀】--------------------------------------------------------------------
HaveSkill( sceneId, selfId, 1697 ) == 1 --注意,1697为【怒火连斩·绝杀】在【SkillTemplate.txt】中的号码,不同版本的游戏可能有区别
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
以下为部分代码(完整脚本模板在最后):
elseif LuaFnHaveImpactOfSpecificDataIndex(sceneId, selfId, 332) == 1 then --第14刀
LuaFnSendSpecificImpactToUnit( sceneId, selfId, selfId, selfId, 333, 0 ) --给自己nh14状态
elseif LuaFnHaveImpactOfSpecificDataIndex(sceneId, selfId, 333) == 1 and HaveSkill( sceneId, selfId, 1697 ) == 1 then --【未进阶】的第15刀
LuaFnCancelSpecificImpact(sceneId,selfId,333) --立即取消自身当前的伤害加成状态
LuaFnCancelSpecificImpact(sceneId,selfId,315) --立即取消怒火状态,防止循环触发伤害加成
elseif LuaFnHaveImpactOfSpecificDataIndex(sceneId, selfId, 333) == 1 and HaveSkill( sceneId, selfId, 1697 ) == 1 then --【已进阶】的第15刀
LuaFnSendSpecificImpactToUnit( sceneId, selfId, selfId, selfId, 32693, 0 ) --给自己hn15状态
elseif LuaFnHaveImpactOfSpecificDataIndex(sceneId, selfId, 32693) == 1 then --第16刀
LuaFnSendSpecificImpactToUnit( sceneId, selfId, selfId, selfId, 32694, 0 ) --给自己nh16状态
elseif LuaFnHaveImpactOfSpecificDataIndex(sceneId, selfId, 32694) == 1 then --第17刀
LuaFnSendSpecificImpactToUnit( sceneId, selfId, selfId, selfId, 32695, 0 ) --给自己nh17状态
elseif LuaFnHaveImpactOfSpecificDataIndex(sceneId, selfId, 32695) == 1 then --第18刀
LuaFnCancelSpecificImpact(sceneId,selfId,32695) --18刀砍完收工,取消nh17强化状态
LuaFnCancelSpecificImpact(sceneId,selfId,315) --18刀砍完收工,取消怒火状态,防止循环触发强化状态
② 在函数function x808233_XinFaAddition( sceneId, selfId )中的bug:
此代码想要获取心法等级,以此对技能进行进行心法加成,但是他获取的心法是错的,70号心法在此版本中是慕容的的第七本书,明教的第七本书是56
local nXinfaLevel = LuaFnGetXinFaLevel(sceneId, selfId, 70)
此处应当改为(仅针对我的这个版本噢,心法ID在【SkillTemplate.txt】里找,前面提到过的)
local nXinfaLevel = LuaFnGetXinFaLevel(sceneId, selfId, 56)
貌似怒火连斩不受这种函数的心法加成影响,因为我把这个函数删了一点问题都没有,但是这里确实引用错了
在下能力有限,此贴仅供参考,哪位大神有各种更好的代码,请指点我一下
脚本的模板
本贴到此结束,另外求鬼谷和桃花岛全部技能的明文脚本,仅个人研究学习使用,我玩的这个服务端桃花岛所有技能脚本都是加密的,
我不会破解,想优化一下技能都太难了
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册
x
评分
-
查看全部评分
|