台服dnf吧 关注:118,760贴子:1,909,557

【教程贴】关于新增技能文件的梳理及大题含义

只看楼主收藏回复



IP属地:重庆来自Android客户端1楼2021-02-20 00:23回复
    首先一个完整的主动技能应该有他的技能参数文件skl,技能所调用的特效obj,技能和谐执行文件nut,人物技能动作ani,放技能是对应动作的时装equ,当然最后还要上技能树


    IP属地:重庆来自Android客户端2楼2021-02-20 00:26
    回复
      一个完整的技能,这里以魔法旋风为例子,首先建立他的skl文件写好相关数据,写上技能树,重跑五国,五国后技能能学上,进图灰技能即为成功


      IP属地:重庆来自Android客户端3楼2021-02-20 00:28
      回复
        然后来到nut,这里先在header里面写上skill编号(这里为skl技能编号),state编号(随意,不重复即可),ani编号,chr里面ani文件的编号,聪第一个ani为0开始计数,atk编号同理ani


        IP属地:重庆来自Android客户端4楼2021-02-20 00:30
        回复
          然后再load里面写好声明格式职业,路径,header里面的skill,state,技能名(同技能skl名,同是也是nut函数名,严格区分大小写),


          IP属地:重庆来自Android客户端5楼2021-02-20 00:32
          回复
            然后来到nut主文件里面,这里一个完整的技能nut分为四个阶段,检测按键是否可用,能用则亮按键,检测状态是否满足技能释放,两者都满足即进入下一个状态(即按下按键后执行到函数onstart),最后为onend,即技能执行结束后执行的函数


            IP属地:重庆来自Android客户端6楼2021-02-20 00:37
            回复
              看文字对照魔法旋风来看


              IP属地:重庆来自Android客户端7楼2021-02-20 00:37
              回复
                然后是po函数,po在技能中启到了skl到特效atk的参数传递,首先在load里面声明po路径,实现传递的obj编号


                IP属地:重庆来自Android客户端8楼2021-02-20 00:40
                收起回复
                  这里有一点特殊性,技能obj编号必须为242xx-243xx之间否则参数传递失败


                  IP属地:重庆来自Android客户端9楼2021-02-20 00:41
                  收起回复
                    插楼顶一波大佬!小白学习了!感谢!!


                    IP属地:江苏来自Android客户端11楼2021-02-20 00:45
                    回复
                      首先在nut主文件为定义一个量local attack ,然后获取skl参数赋值给attack,然后开始写入startwrite,writedword的位置是0,1,就是说你这里是以你写入到dword里面的顺序来的,比如第一个写入数据,如果你想在po里面读取数据那么你想读取也一定是第一个读取他,顺序不能错


                      IP属地:重庆来自Android客户端12楼2021-02-20 00:45
                      回复
                        下面来到po,既然写入了,那么肯定要读取,在po创建一个量local attact,然后读取你刚刚写入的参数赋值给这个量,然后获取atk,设置攻击


                        IP属地:重庆来自Android客户端13楼2021-02-20 00:47
                        回复
                          这样skl参数就有nut获取到attack这个量中,然后这个量写入了dword里面,在由po读取到了po的attact这个量里面,再由load里面关联的编号在传递到了对应obj编号的atk里面,就是这么一个传输传递的过程


                          IP属地:重庆来自Android客户端14楼2021-02-20 00:49
                          回复
                            这里分享一点经验,po的参数名字必须与obj命名一致,obj编号必须为242xx到243xx,否则数据传递失败


                            IP属地:重庆来自Android客户端15楼2021-02-20 00:51
                            回复
                              百分比就这样写 local attackInfo = sq_GetCurrentAttackInfo(obj); sq_SetCurrentAttackBonusRate(attackInfo, bonus);


                              IP属地:重庆来自Android客户端16楼2021-02-20 00:51
                              回复