DNF阿拉德游戏论坛

 找回密码
 立即注册
查看: 2957|回复: 0
打印 上一主题 下一主题

[教程] dnf台服怎么给任意技能添加强制nut中断普通攻击动作的方法

[复制链接]

签到天数: 1 天

[LV.1]无主之魂

3

主题

3

帖子

14

积分

初入阿拉德

Rank: 1

积分
14
怒气
1
声望
5
战力
0
跳转到指定楼层
楼主
发表于 2020-10-22 12:56:43 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
添加技能强制nut:可中断普通攻击,总的说,这种方法涉及四个文件,分别是:
(都是以鬼剑为例)
第一个:sqrloadstate.nut
第二个:sqr        est_loop_qiangzhi.nut
第三个:sqrcharacterswordman        est_qiangzhi_swordman.nut
第四个:clientonlycancelskilllist.co
下面分开说吧。


第一个
这个nut一般在PVF里都有,需要添加下面一行:
  1. sq_RunScript("test_loop_qiangzhi.nut");
复制代码



第二个
这是要新建的nut,里面写:
  1. IRDSQRCharacter.pushState(ENUM_CHARACTERJOB_SWORDMAN, "character/swordman/test_qiangzhi_swordman.nut", "qiangzhiswordman", STATE_ATTACK, -1);
  2. IRDSQRCharacter.pushState(ENUM_CHARACTERJOB_SWORDMAN, "character/swordman/test_qiangzhi_swordman.nut", "qiangzhiswordman", STATE_DASH, -1);
  3. IRDSQRCharacter.pushState(ENUM_CHARACTERJOB_SWORDMAN, "character/swordman/test_qiangzhi_swordman.nut", "qiangzhiswordman", STATE_STAND, -1);
复制代码



第三个
这是要新建的nut,里面写:
  1. function onProc_qiangzhiswordman(obj)
  2. {
  3. if (!obj) return false;
  4. if (sq_getJob(obj) == ENUM_CHARACTERJOB_SWORDMAN)
  5. {
  6. obj.setSkillCommandEnable(65, true);
  7. obj.setSkillCommandEnable(64, true);
  8. obj.setSkillCommandEnable(77, true);
  9. obj.setSkillCommandEnable(20, true);
  10. if (sq_getGrowType(obj) == 1)
  11. {
  12. obj.setSkillCommandEnable(9, true);
  13. obj.setSkillCommandEnable(72, true);
  14. obj.setSkillCommandEnable(73, true);
  15. obj.setSkillCommandEnable(86, true);
  16. obj.setSkillCommandEnable(97, true);
  17. obj.setSkillCommandEnable(81, true);
  18. obj.setSkillCommandEnable(79, true);
  19. obj.setSkillCommandEnable(85, true);
  20. obj.setSkillCommandEnable(31, true);
  21. }
  22. if (sq_getGrowType(obj) == 3)
  23. {
  24. obj.setSkillCommandEnable(81, true);
  25. obj.setSkillCommandEnable(79, true);
  26. obj.setSkillCommandEnable(85, true);
  27. obj.setSkillCommandEnable(9, true);
  28. obj.setSkillCommandEnable(72, true);
  29. obj.setSkillCommandEnable(73, true);
  30. obj.setSkillCommandEnable(86, true);
  31. obj.setSkillCommandEnable(97, true);
  32. }
  33. if (sq_getGrowType(obj) == 4)
  34. {
  35. obj.setSkillCommandEnable(50, true);
  36. obj.setSkillCommandEnable(57, true);
  37. obj.setSkillCommandEnable(74, true);
  38. }
  39. }
  40. }
复制代码

再附一张图






第四个
这里是在技能说明和技能栏加上可强制的文字显示,不加也可以用的。
附图








【特别注意】
检查一下你的sqrcharacter目录是否有swordman_load_state.nut
如果有的话,看里面有没有一句:
  1. IRDSQRCharacter.pushState(0, "character/swordman/attack/attack.nut", "swordmanattack", STATE_ATTACK, -1);
复制代码

如果有的话会和上面写的强制冲突。


OK,写完了。
“我还是从前那个少年,没有一丝丝改变!”——阿拉德勇士
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|DNF阿拉德游戏论坛 ( 渝ICP备13007431号1 )

GMT+8, 2024-5-3 16:43 , Processed in 0.189029 second(s), 38 queries .

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

阿拉德大陆的勇士们!今天也会是充满希望的一天!