鱼尾里一些小功能的分享[基本都是来自别的大佬提供]
其实是教程,没有导入包,但是有pvf,我楼下大概说一下提取方法1,修复贴吧里拔刀重写后,攻击敌人只有伤害没有判定的问题。还有是光剑太刀拔刀第一击不应该使敌人倒地而第二击应该击倒敌人,钝器溜溜球被我删了,太丑了,修不好。[来自大佬baynk]
2,血剑瞬爆手感优化,神迹的瞬爆爆炸后会立刻站立,经常按反,我删掉了爆炸后站立的代码,手感更像原国服
3,参数控制剑舞、血剑大小,技能放大函数应该是贴吧大佬提供的,不过是baynk大佬帮我加的,下面也介绍一下具体如何放大一个有特效的任意技能。
4,贴吧分享的修罗波动刻印剑气伤害始终固定,技能参数没有生效的问题
我对nut只是一知半解,因此说错也别笑我 1,拔刀重写
对应的加载的文件在剑士loadstate里这几行,这应该是贴吧分享出来的bang叔的拔刀如果我没猜错的话。具体文件可以从加载的nut里自己提取,sqr里应该是如下图这几个,如果你的版本老,缺少函数也没啥,反正我的pvf里都有,根据error一个一个定义就好了。passiveobject里面要提取的是编号24399,这个是重写后拔刀的obj
下面来说说是怎么改的
passiveobject/baynk/swordman_baynk.obj首先找到这个文件,27,28行就是特效的攻击判定,显然,不同武器的拔刀判定是不一致的,比如太刀光剑第一下应该使敌人僵直,第二下使得敌人倒地,原来的拔刀这里的atk只有一个,就是27行的atk,让敌人倒地,而且好像还有bug,根本没触发。
我的修改就是27行对应的atk是僵直,28行是倒地,然后还要在nut里调用它。
sqr/baynk/swordman/setcustomdata.nut来到这个文件,第22行执行的是第一次拔刀攻击的atk,可以看到函数里写的是1,对应27行的atk(26,27,28分别对应012),表示第一下是僵直。
转到第46行,这里是太刀的 第二下,可以看到函数里调用的是atk2,也就是倒地的atk,这样太刀第二下就可以让敌人倒地。63行光剑也同理 2,血剑瞬爆优化,这个没啥好说的
删掉蓝色框里的让自己站立代码就行。
红色框是我自己写的,根据参数控制是否自动爆炸,不需要的也删掉就行 3,技能放大
首先你要有这个函数,随便找个通用函数的地方丢进去,有这个定义就好办。
然后找到你要放大的技能编号,以及他的state编号,这个就自己取吧,我的pvf里有banyk大佬给的调试的功能,在地下城里放技能就能得到状态。这个自己搞。很多pvf也有
然后在职业的load state里加载一个
IRDSQRCharacter.pushState(ENUM_CHARACTERJOB_SWORDMAN, "character/swordman/IllusionSlash/IllusionSlash.nut", "swordman_illusionSlash", 40, 73);//剑舞舞大小
函数里分别是:职业编号,放大nut文件,自己起的后缀名,技能状态,技能编号。定义了后转到这个文件,不存在就新建
function onProc_swordman_illusionSlash(obj)
{
if(!obj) return;
local sizeRate1 = sq_GetLevelData(obj, 73, 3,sq_GetSkillLevel(obj, 73));
if(sizeRate1 != 100){
SkillSizeSettings(obj , 20033 , sizeRate1);
SkillSizeSettings(obj , 20034 , sizeRate1);
SkillSizeSettings(obj , 20035 , sizeRate1);
SkillSizeSettings(obj , 20036 , sizeRate1);
}
local sizeRate2 = sq_GetLevelData(obj, 73, 4,sq_GetSkillLevel(obj, 73));
if(sizeRate2 != 100){
SkillSizeSettings(obj , 20037 , sizeRate2);
}
}
文件里的内容如上,on proc 下划线后跟的名字一定要同步loadstate起的后缀名,下面就是根据技能参数来设置特效的大小。如上,获取幻影剑舞的参数,然后设置20033-20336的大小,这个20033-20036就是斩击剑气的obj编号,这个也要自己找。最下面的20037就是最后的剑气的obj编号,这样你就完成了剑舞的放大
其他技能同理,比如大怒气,状态是13,obj编号是20102-20104,血剑状态是60,编号是20066 4,剑气固定
这个就好说了,主要是给那些和我用了一样的包的人,包我都忘了在哪了
这个文件sqr/character/swordman/wavemark/po_wavemark_wave.nut
sq_SetCurrentAttackBonusRate(curAtk, damage);
sq_SetCurrentAttackInfo(obj, curAtk);
这两个函数,atk放到这个damage后面即可,我不懂,反正大佬这么跟我讲的,改了就对了 pvf在我的鱼尾帖子里 顶 想起来鱼头里还有个东西
IRDSQRCharacter.pushState(ENUM_CHARACTERJOB_SWORDMAN, "character/swordman/weaponmaster/flowmind/flowmind.nut", "FlowMind", 61, 105);//流占쏙옙占쏙옙占쏙옙
在swordman load state里我修复了个极神剑术的霸体,这个nut里加了这个
local level = sq_GetSkillLevel(obj, 248);//获取极神剑术霸体时间
if(level){
local sqrChr = sq_GetCNRDObjectToSQRCharacter(obj);
local time1 = sq_GetLevelData(sqrChr, 248, 1, level);
obj.sq_SetSuperArmorUntilTime(obj, time1);//设置霸体
}
这个函数在进入流心时就执行,这样就修好了 顶顶顶,好东西,下次记得直接帮我改好吧
补一下4楼
3,技能放大
首先你要有这个函数,随便找个通用函数的地方丢进去,有这个定义就好办。
然后找到你要放大的技能编号,以及他的state编号,这个就自己取吧,我的pvf里有banyk大佬给的调试的功能,在地下城里放技能就能得到状态。这个自己搞。很多pvf也有
然后在职业的load state里加载一个
IRDSQRCharacter.pushState(ENUM_CHARACTERJOB_SWORDMAN, "character/swordman/IllusionSlash/IllusionSlash.nut", "swordman_illusionSlash", 40, 73);//剑舞舞大小
函数里分别是:职业编号,放大nut文件,自己起的后缀名,技能状态,技能编号。定义了后转到这个文件,不存在就新建
文件里的内容如上,on proc 下划线后跟的名字一定要同步loadstate起的后缀名,下面就是根据技能参数来设置特效的大小。如上,获取幻影剑舞的参数,然后设置20033-20336的大小,这个20033-20036就是斩击剑气的obj编号,这个也要自己找。最下面的20037就是最后的剑气的obj编号,这样你就完成了剑舞的放大
其他技能同理,比如大怒气,状态是13,obj编号是20102-20104,血剑状态是60,编号是20066 哪里有鱼尾哪里就有我 顶 来舔包包大人了
太好了 一直都感觉拔刀手感很难受
大佬,请教个问题 我加了一个奶爸小锤子,然后普通攻击跟z,还有落凤锤都没有动画范围特效,但是伤害又有,是哪里少了什么
页:
[1]