台服dnf吧 关注:124,793贴子:2,074,766

【教程贴】如何从0开始优化版本

只看楼主收藏回复


看贴吧也挺长时间了,也没发过言,最近一直在优化神迹版本,所以想着以教程的方式记录所有的修改。
玩过神迹和朝暮的同学应该都有自己的理解和想法。
神迹副本机制很全,内容完善,nut的功能非常强大,但是技能有点卡顿。
朝暮的技能非常流畅,而且柔滑到位,比较舒服。
本帖将以神迹版本(2022.2.4)为底,通过不断修复bug和缝合其他版本优点,详细的一步一步完善版本。


IP属地:广东1楼2022-03-12 00:05回复
    首先是大家最关心的技能
    如何将朝暮的技能和柔化缝合进神迹呢?
    首先得分析明白两个版本的特点
    神迹的nut伤害也是读写169技能的静态数据来实现,这个跟其他版本类似
    同时神迹给每个职业添加254号被动技能“唤醒”,通过读写此技能的静态数据来实现其他的伤害词条,具体nut路径为sqr/character/gunner/latentability/ap_latentability.nut
    朝暮的柔化通过给每个职业添加254号被动技能“体术逆转”,通过ap来实现角色状态变更(柔化)
    也就是说两个版本都是以254号被动技能为载体实现功能,那么有的同学如果直接无脑导入肯定是不可以的
    那么该怎么将朝暮的柔化加入到神迹当中呢?
    根据上面的分析,可以发现,两个版本的254号技能都是被动技能,学习该技能之后,在sqr/character/xxx/passive_skill_xxx.nut中的ProcPassiveSkill_XXX函数中可以定义这个被动技能的功能

    以鬼剑士的函数为例,学习254号被动技能之后,将会附加一个ap,神迹将全职业的伤害词条类型都写到了同一个nut中character/gunner/latentability/ap_latentability.nut
    那么最简单的加入朝暮柔化的方法就是将朝暮中的柔化功能添加到这个nut当中并调用


    IP属地:广东2楼2022-03-12 00:07
    收起回复
      2026-02-04 15:42:21
      广告
      不感兴趣
      开通SVIP免广告
      好!前排等白嫖版本


      IP属地:广东来自Android客户端3楼2022-03-12 00:14
      回复
        朝暮的柔化功能具体路径为sqr/character/xxx/appendage/ap_xxx_comminterrupt.nut,每个职业都有对应的nut
        然而神迹使用的是共用的nut,那么我们只需要将朝暮每个职业的comminterrupt中的函数加以整合,通过写一个角色判断+职业判断,整合全职业的柔化,就可以添加进神迹的character/gunner/latentability/ap_latentability.nut中,在proc_appendage_latentability函数中进行调用。
        具体形式如下
        function comminterrupt(appendage)//朝暮柔化
        {
        local parentObj = appendage.getParent();
        local sourceObj = appendage.getSource();
        if(!sourceObj || !parentObj) { return; }
        local obj = sq_GetCNRDObjectToSQRCharacter(parentObj);//角色对象
        local job = sq_getJob(obj);//获取角色类型
        local type = sq_getGrowType(obj);//获取职业
        local mystate = obj.sq_GetState();
        local isTower = sq_IsTowerDungeon();//修復死亡之塔柔化閃退
        if(isTower) return;//修復死亡之塔柔化閃退
        switch (job) //嵌套一个switch来判断角色
        {
        case ENUM_CHARACTERJOB_SWORDMAN: //如果是鬼剑士
        相应的一些函数
        switch (type) //再嵌套一个switch来判断职业
        {
        case 1://劍魂
        EnableSoften(obj,67,8);//里鬼劍術
        SetSkillState(obj,67,8,[0,67]);
        and so on
        整合好的函数我会发出来(没发过贴 我不知道怎么上传)


        IP属地:广东4楼2022-03-12 00:18
        回复
          好!前排等白嫖版本


          IP属地:广东来自Android客户端5楼2022-03-12 00:18
          回复
            通过完成以上操作,我们实现了不需要新增技能,即可实现朝暮的柔化效果
            将神迹的254号特色被动“唤醒”与朝暮的254号特色被动“体术逆转”相结合
            做到这里,其实神迹的技能还是有不小的卡顿存在,虽然可以柔化,但是手感不对劲
            原因是神迹原作者对部分技能进行了修改,导致不太流畅
            那么下一步,如何将朝暮的技能覆盖进神迹中呢?
            这里用一个简单粗暴的方法,提取朝暮sqr/character/目录下的所有文件,然后删除掉所有loadstate.nut和每个职业文件夹目录下的common和header等等入口文件,只保留技能的nut。
            然后将所有文件一股脑导入神迹之中覆盖即可
            上游戏发现确实丝滑流畅,verygood


            IP属地:广东6楼2022-03-12 00:25
            收起回复
              牛俾,学到了学到了


              IP属地:广东来自Android客户端7楼2022-03-12 00:27
              回复
                接下来稍微说两个朋友在玩的时候遇到的神迹本身的bug如何修复
                第一个是红眼的大崩技能,释放之后抬手,然后人物消失,然后突然出现并完成最后一击
                动作的缺失首先去看一下ani文件
                pvfedit内搜索outrage并找到character/swordman/animation/outragebreakready.ani
                对比朝暮技能(剑圣二觉)可以发现神迹的此ani多了一帧

                删除第二帧并将上方的framemax改为1
                上游戏后继续测试,发现人物缺失的问题解决了,但是动作还是不对,无法选方向,而且瞬间砸地
                意识到可能神迹的作者重写了此技能,于是去sqr中翻找,确实重写了大崩
                那么我们只需要在sqr/character/swordman_load_state.nut中将重写大崩nut的调用删除或者注释掉即可

                再次上号测试,问题解决


                IP属地:广东8楼2022-03-12 00:33
                回复
                  2026-02-04 15:36:21
                  广告
                  不感兴趣
                  开通SVIP免广告
                  然后就是一个简单的礼包bug,索西亚的秘密礼包,如果暗夜去打开,会闪退
                  这个就没什么技术难度了,打开这个礼包
                  [booster category num]
                  15
                  发现这个礼包内含5个类型
                  但具体只有四个职业有这个时装
                  也就是不小心多写了一个类型进去
                  只需要将最后一个[booster select category]下的内容删掉
                  然后把[booster category num]中的5改成4即可


                  IP属地:广东9楼2022-03-12 00:37
                  回复
                    暂时就这么多,如果大家在玩的时候遇到什么bug和问题,可以在发帖留言,之后我会统一修复并写下详细过程


                    IP属地:广东10楼2022-03-12 00:42
                    收起回复
                      大佬,女鬼剑的技能好像第二排拉不到第一排


                      IP属地:上海来自Android客户端11楼2022-03-12 00:59
                      收起回复
                        啊.你这是要成精的节奏啊


                        IP属地:广东来自Android客户端12楼2022-03-12 01:05
                        回复
                          我前几天被黄金增幅使用的时候,界面不对卡住了,还不会解决,先插个眼,白天找到界面截图给大佬看下


                          IP属地:上海来自Android客户端13楼2022-03-12 01:06
                          回复
                            感谢分享,很厉害


                            IP属地:云南来自Android客户端14楼2022-03-12 01:12
                            回复
                              2026-02-04 15:30:21
                              广告
                              不感兴趣
                              开通SVIP免广告
                              虽然没看懂,但是感觉就很厉害


                              来自iPhone客户端15楼2022-03-12 01:14
                              回复