藏宝湾网游单机站

 找回密码
 注册

QQ登录

只需一步,快速开始

★【黑暗之光SF★我是大主宰SF】【神将三国SF】★

★【0.1折】★【变态网页游戏私服】★

★神将三国网页版上线送V5 5w元宝 5000w铜币 我是大主宰上线满v,80万元宝,小怪都爆元宝,耐玩长久稳定★

【原始传奇SF/维京传奇SF】【GM包站手游】

★【原始传奇SF/维京传奇SF】【GM包站手游】★

★『战online+原始传奇+维京传奇+伏魔者+魔域永恒+混沌战域』一刀99999999999刀刀光柱★

★全网独家 可以单机 可以互动的传奇!★

★全网独家 可以单机 可以互动的传奇!★

★全网唯一持续更新的可单机游戏!每15-25天更新一次内容,保持游戏新鲜度!! 众多独家的功能特色,众多你没见过的全新玩法,有能力的赚点烟钱,还能偶尔沙城战斗!★

神武端游源码泄露08年神武2复古1比1原版
★08年神武2复古1比1原版金币翼龙免费4月10日新开2区★

★神武端游源码泄露08年神武2复古1比1原版金币翼龙免费4月10日新开2区★

☆五一活动开放放置传奇☆

★五一活动开放放置传奇★

★可白嫖 上班摸鱼类 放置文字传奇游戏(放置休闲)qq群756025698★

【独家RPG文字梦幻】【摸鱼搬砖不氪不肝】

★【独家RPG文字梦幻】【摸鱼搬砖不氪不肝】★

★新区开放,三端互通,适合上班挂机、摸鱼。 休闲放置,不占时间,玩熟了一天只需十几分钟就能轻松搞定。★

★承接推广★

★承接推广★

★承接推广★

★承接推广★

★承接推广★

★承接推广★

★DNF★全职业平衡★公益服★
★DNF★全职业平衡★公益服★

【dnf86版本】【怀旧服】【全职业平衡】【非变态服】【非商业服】【775016356】

★完美国际纯防六职业,4月18号正式开区★

★完美国际纯防六职业,4月18号正式开区 ,上线赠送飞机坐骑,红蓝符★

★本服为纯06版本,1比1匹配,为大长期版本。半年一个新区。。上线1级生活技能全满,包裹仓库全开★

★梦幻16门派全新大唐九黎★

★梦幻16门派全新大唐九黎★

★★新增全新门派九黎城,★不做垃圾,力争什么都做到最好★持续更新,长久稳定★

★承接推广★

★承接推广★

★承接推广★

三职业复古★开局送神装★爆率100%★散人逆袭
★三职业复古★开局送神装★爆率100%★散人逆袭★

★〖双线〗〖无忧传奇〗〖每日新区〗〖开局送神装 100%高爆率 装备元宝打怪爆〗★

★《天使之战MU》经典奇迹重现★

★《天使之战MU》经典奇迹重现★

★2025年热门手游推荐:所有游戏充值永久0.1折,648只需6.48元!原版物价不膨胀★

★真实六职业-战-法-道-弓-刺-僧★

★独家传奇体验RPG玩法真实六职业-战-法-道-弓-刺-僧★

★转生属性,六格装备,称号种类,超多的道士BB,生肖技能 各种全新玩法等你来玩★

★彩虹岛s6独家玩法肝帝天堂★

★彩虹岛s6独家玩法肝帝天堂★

★s6彩虹岛,新服开区,来就送死霸脚底龙晶诸多特效。独家玩法护肝不杆不克,可刷一切★

查看: 1493|回复: 4

[分享] 分享自己修改天龙网单技能脚本

[复制链接]
 楼主| 发表于 2023-5-7 17:00:38 | 显示全部楼层 |阅读模式
本帖最后由 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

评分

参与人数 1金币 +1 收起 理由
落花有意我无情 + 1 『宝湾是我家,维护靠大家』

查看全部评分

发表于 2023-5-7 17:23:22 | 显示全部楼层
感谢分享
我原先玩天龙就是简单的改一下cd没有涉及过这么底层的东西。。
发表于 2023-5-7 18:32:27 | 显示全部楼层
感谢分享
发表于 2023-5-8 09:28:23 | 显示全部楼层
谢谢分享
发表于 2023-5-8 09:54:22 | 显示全部楼层
『宝湾是我家,维护靠大家』
您需要登录后才可以回帖 登录 | 注册

本版积分规则

本站内容如若侵犯到您的权益,请来电来函告知,我们会尽快处理!
联系QQ:1953150286,2251387361,123784736,免责申明

排行榜|联系我们|小黑屋|手机版|Archiver|游戏藏宝湾 |

GMT+8, 2025-4-29 14:03 , Processed in 0.074454 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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