找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 931|回复: 16

【详细】【给任意技能添加强制】【nut】

  [复制链接]

4523

主题

4万

回帖

13万

积分

出神入化

积分
139649
发表于 2025-4-8 09:37:27 | 显示全部楼层 |阅读模式
首先特别感谢@15501qq
这里写的方法就是来自这位大大分享的PVF,我只是把它说的更清楚点。
详情可以转去大大的帖子。
可能有不合适的地方,仅供参考吧。
楼下继续。
阿荣社区欢迎你(bbs.vul7.com)
回复

使用道具 举报

4523

主题

4万

回帖

13万

积分

出神入化

积分
139649
 楼主| 发表于 2025-4-8 09:38:07 | 显示全部楼层
总的说,这种方法涉及四个文件,分别是:
(都是以鬼剑为例)
第一个:sqr\loadstate.nut
第二个:sqr\test_loop_qiangzhi.nut
第三个:sqr\character\swordman\test_qiangzhi_swordman.nut
第四个:clientonly\cancelskilllist.co
下面分开说吧。
阿荣社区欢迎你(bbs.vul7.com)
回复 支持 反对

使用道具 举报

4523

主题

4万

回帖

13万

积分

出神入化

积分
139649
 楼主| 发表于 2025-4-8 09:38:55 | 显示全部楼层
第一个
这个nut一般在PVF里都有,需要添加下面一行:
sq_RunScript("test_loop_qiangzhi.nut");
阿荣社区欢迎你(bbs.vul7.com)
回复 支持 反对

使用道具 举报

4523

主题

4万

回帖

13万

积分

出神入化

积分
139649
 楼主| 发表于 2025-4-8 09:39:49 | 显示全部楼层
第二个
这是要新建的nut,里面写:
IRDSQRCharacter.pushState(ENUM_CHARACTERJOB_SWORDMAN, "character/swordman/test_qiangzhi_swordman.nut", "qiangzhiswordman", STATE_ATTACK, -1);
IRDSQRCharacter.pushState(ENUM_CHARACTERJOB_SWORDMAN, "character/swordman/test_qiangzhi_swordman.nut", "qiangzhiswordman", STATE_DASH, -1);
IRDSQRCharacter.pushState(ENUM_CHARACTERJOB_SWORDMAN, "character/swordman/test_qiangzhi_swordman.nut", "qiangzhiswordman", STATE_STAND, -1);
阿荣社区欢迎你(bbs.vul7.com)
回复 支持 反对

使用道具 举报

4523

主题

4万

回帖

13万

积分

出神入化

积分
139649
 楼主| 发表于 2025-4-8 09:40:00 | 显示全部楼层
第三个
这是要新建的nut,里面写:
function onProc_qiangzhiswordman(obj)
{
if (!obj) return false;
if (sq_getJob(obj) == ENUM_CHARACTERJOB_SWORDMAN)
{
obj.setSkillCommandEnable(65, true);
obj.setSkillCommandEnable(64, true);
obj.setSkillCommandEnable(77, true);
obj.setSkillCommandEnable(20, true);
if (sq_getGrowType(obj) == 1)
{
obj.setSkillCommandEnable(9, true);
obj.setSkillCommandEnable(72, true);
obj.setSkillCommandEnable(73, true);
obj.setSkillCommandEnable(86, true);
obj.setSkillCommandEnable(97, true);
obj.setSkillCommandEnable(81, true);
obj.setSkillCommandEnable(79, true);
obj.setSkillCommandEnable(85, true);
obj.setSkillCommandEnable(31, true);
}
if (sq_getGrowType(obj) == 3)
{
obj.setSkillCommandEnable(81, true);
obj.setSkillCommandEnable(79, true);
obj.setSkillCommandEnable(85, true);
obj.setSkillCommandEnable(9, true);
obj.setSkillCommandEnable(72, true);
obj.setSkillCommandEnable(73, true);
obj.setSkillCommandEnable(86, true);
obj.setSkillCommandEnable(97, true);
}
if (sq_getGrowType(obj) == 4)
{
obj.setSkillCommandEnable(50, true);
obj.setSkillCommandEnable(57, true);
obj.setSkillCommandEnable(74, true);
}
}
}
再附一张图

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
阿荣社区欢迎你(bbs.vul7.com)
回复 支持 反对

使用道具 举报

4523

主题

4万

回帖

13万

积分

出神入化

积分
139649
 楼主| 发表于 2025-4-8 09:40:23 | 显示全部楼层
第四个
这里是在技能说明和技能栏加上可强制的文字显示,不加也可以用的。
附图





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
阿荣社区欢迎你(bbs.vul7.com)
回复 支持 反对

使用道具 举报

4523

主题

4万

回帖

13万

积分

出神入化

积分
139649
 楼主| 发表于 2025-4-8 09:41:13 | 显示全部楼层
【特别注意】
检查一下你的sqr\character目录是否有swordman_load_state.nut
如果有的话,看里面有没有一句:
IRDSQRCharacter.pushState(0, "character/swordman/attack/attack.nut", "swordmanattack", STATE_ATTACK, -1);
如果有的话会和上面写的强制冲突。
OK,写完了。
阿荣社区欢迎你(bbs.vul7.com)
回复 支持 反对

使用道具 举报

4659

主题

4万

回帖

14万

积分

出神入化

积分
140049
发表于 2025-4-8 09:41:22 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
阿荣社区欢迎你(bbs.vul7.com)
回复 支持 反对

使用道具 举报

4523

主题

4万

回帖

13万

积分

出神入化

积分
139649
 楼主| 发表于 2025-4-8 09:42:08 | 显示全部楼层
卧槽!!!!666啊,感谢大佬分享,有时间研究研究!
顺便问一下,可以中断其他技能吗?
阿荣社区欢迎你(bbs.vul7.com)
回复 支持 反对

使用道具 举报

4435

主题

3万

回帖

13万

积分

管理员

积分
136564
发表于 2025-4-8 09:42:29 | 显示全部楼层
教程贴必须顶
阿荣社区欢迎你(bbs.vul7.com)
回复 支持 反对

使用道具 举报

4523

主题

4万

回帖

13万

积分

出神入化

积分
139649
 楼主| 发表于 2025-4-8 09:42:53 | 显示全部楼层
感谢大家帮顶

附带一个别的点,这两天测出来的,鬼剑的格挡的skl文件里的静态数据,第一项默认500的是最短格挡时间,把它改小可以让格挡变得更灵活

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
阿荣社区欢迎你(bbs.vul7.com)
回复 支持 反对

使用道具 举报

4590

主题

4万

回帖

14万

积分

出神入化

积分
141495
发表于 2025-4-8 09:43:04 | 显示全部楼层
这很难么

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
阿荣社区欢迎你(bbs.vul7.com)
回复 支持 反对

使用道具 举报

发表于 2025-4-8 09:43:23 | 显示全部楼层
厉害呀
阿荣社区欢迎你(bbs.vul7.com)
回复 支持 反对

使用道具 举报

4431

主题

4万

回帖

13万

积分

出神入化

积分
138447
发表于 2025-4-8 09:43:41 | 显示全部楼层
帮顶
阿荣社区欢迎你(bbs.vul7.com)
回复 支持 反对

使用道具 举报

4659

主题

4万

回帖

14万

积分

出神入化

积分
140049
发表于 2025-4-8 09:44:39 | 显示全部楼层
牛啤





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
阿荣社区欢迎你(bbs.vul7.com)
回复 支持 反对

使用道具 举报

0

主题

2

回帖

6

积分

初学乍练

积分
6
发表于 2025-10-6 18:31:15 | 显示全部楼层
不好意思,我太笨了,完全失败了。我想改女漫游的强制技能,所有首先在sqr\loadstate.nut里写入了sq_RunScript("test_loop_qiangzhi.nut");   这个完全照搬的,应该没问题的。而且完全可以索引到test_loop_qiangzhi.nut这个文件里。test_loop_qiangzhi.nut里我写入了IRDSQRCharacter.pushState(ENUM_CHARACTERJOB_ATGUNNER, "character/atgunner/test_qiangzhi_atgunner.nut", "qiangzhiATGUNNER", STATE_ATTACK, -1);
IRDSQRCharacter.pushState(ENUM_CHARACTERJOB_ATGUNNER, "character/atgunner/test_qiangzhi_atgunner.nut", "qiangzhiATGUNNER", STATE_DASH, -1);
IRDSQRCharacter.pushState(ENUM_CHARACTERJOB_ATGUNNER, "character/atgunner/test_qiangzhi_atgunner.nut", "qiangzhiATGUNNER", STATE_STAND, -1);
这么看,是没有问题的,就是把swordman改为了atgunner而已。最关键的第三个文件来了,我写入的是function onProc_qiangzhiatgunner(obj) {
        if (!obj) return false;
        if (sq_getJob(obj) == ENUM_CHARACTERJOB_ATGUNNER) {
                obj.setSkillCommandEnable(30, true);
                if (sq_getGrowType(obj) == 1) {
                        obj.setSkillCommandEnable(9, true);
                        obj.setSkillCommandEnable(51, true);
                        obj.setSkillCommandEnable(15, true);
                        obj.setSkillCommandEnable(72, true);
                        obj.setSkillCommandEnable(10, true);
                }
        }
}
这里是不是哪儿有问题,按照UP主的第四步进入游戏后,技能上面显示可以强制,但是就是不生效,头大,盼望UP主解答。万分感激,祝你长命百岁!
阿荣社区欢迎你(bbs.vul7.com)
回复 支持 反对

使用道具 举报

0

主题

2

回帖

6

积分

初学乍练

积分
6
发表于 2025-10-6 18:35:34 | 显示全部楼层
363325970 发表于 2025-10-6 18:31
不好意思,我太笨了,完全失败了。我想改女漫游的强制技能,所有首先在sqr\loadstate.nut里写入了sq_RunScr ...

大佬,请看图,更客观一点,万望解答疑惑!谢谢!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
阿荣社区欢迎你(bbs.vul7.com)
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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