nut修改实例3:完成血爆-第一部分

  1. 基本部分:

①人物动作:

首先准备人物的动作文件(ani)。

nut修改实例3:完成血爆-第一部分

 

将动作文件导入pvf内相应文件夹。

nut修改实例3:完成血爆-第一部分

 

再打开chr文件。

nut修改实例3:完成血爆-第一部分

chr文件

 

找到[etc motion]栏。

nut修改实例3:完成血爆-第一部分

 

注册导入的动作文件。

nut修改实例3:完成血爆-第一部分

 

②特效文件:

首先准备特效文件(obj)。

nut修改实例3:完成血爆-第一部分

 

将特效文件导入pvf内。比如我导入在图中的位置:

nut修改实例3:完成血爆-第一部分

 

再打开特效的lst文件进行注册:

nut修改实例3:完成血爆-第一部分

特效lst文件

 

nut修改实例3:完成血爆-第一部分

注册特效

 

  1. Skl部分:

准备血爆的skl文件并在lst内注册:在 “1.主动技能添加“ 部分已经讲述。

 

  1. Nut部分:

第1和第2部分完成后,技能的基本部件都已经备齐,现在需要的是将它们组合到一起。

①添加nut并注册:

在 “1.主动技能添加“ 部分已经讲述。

nut修改实例3:完成血爆-第一部分

注册nut

 

②nut脚本代码:

在 “2.主动技能基本结构部分“ 已经讲述过部分function的作用。参考代码如下:

function checkExecutableSkill_BloodBoom(obj)

{

if (!obj) return false;

local isUse = obj.sq_IsUseSkill(SKILL_BLOOD_BOOM);

if (isUse)

{

//设置人物状态,设置后立即调用onSetState_BloodBoom(obj, state, datas, isResetTimer)

obj.sq_AddSetStatePacket(STATE_BLOOD_BOOM , STATE_PRIORITY_USER, false);

return true;

}

 

return false;

}

 

function checkCommandEnable_BloodBoom(obj)

{

if (!obj) return false;

//人物站立时亮技能

local state = obj.sq_GetState();

if (state == STATE_STAND)

return true;

 

return false;

}

 

function onSetState_BloodBoom(obj, state, datas, isResetTimer)

{

if(!obj) return;

//禁止方向键控制人物移动

obj.sq_StopMove();

//设置人物动作为血爆动作

obj.sq_SetCurrentAnimation(CUSTOM_ANI_BLOODBOOM);

//动作速度受攻击速度影响

obj.sq_SetStaticSpeedInfo(SPEED_TYPE_ATTACK_SPEED, SPEED_TYPE_ATTACK_SPEED, SPEED_VALUE_DEFAULT, SPEED_VALUE_DEFAULT, 1.0, 1.0);

}

 

function onEndCurrentAni_BloodBoom(obj)

{

//动作结束,人物站立

obj.sq_AddSetStatePacket(STATE_STAND, STATE_PRIORITY_USER, false);

}

 

function onKeyFrameFlag_BloodBoom(obj,flagIndex)

{

if(!obj)

return false;

//关键帧

if (flagIndex == 10001)

{

//创建特效

obj.sq_SendCreatePassiveObjectPacket(2020011001, 0, 0, 0, 0);

 

//定义变量 “z“

local z = sq_GetZPos(obj) + obj.getObjectHeight()/2;

obj.sq_SendCreatePassiveObjectPacket(2020011002, 0, 0, 0, z);

}

return true;

}

 

  1. 裸体修复:

人物放技能时裸体是常见的问题,原因在于equipment文件夹内缺少与新动作对应的时装/武器动作。

修复方法就是添加对应的皮肤/武器动作并在lay文件内注册。

①时装/武器动作制作:

一个人物动作对应的时装/武器动作繁多,直接手写费时费力,下面介绍一下批量生成时装/武器动作工具的用法。

 

首先在pvfUtility内搜索。

nut修改实例3:完成血爆-第一部分

 

在搜索结果中打开equipment文件夹找到swordman并提取。

nut修改实例3:完成血爆-第一部分

nut修改实例3:完成血爆-第一部分

提取之后

 

打开裸体修复工具,点击浏览后选择刚刚提取出来的sworman文件夹,然后单击确定。

nut修改实例3:完成血爆-第一部分

 

将血爆的人物动作文件拖到开始生成按钮上方的白框内:

nut修改实例3:完成血爆-第一部分

 

最后点击开始生成,得到生成好的时装/武器动作文件。

nut修改实例3:完成血爆-第一部分

 

②时装/武器动作注册:

打开lay文件,找到[etc motion]:

nut修改实例3:完成血爆-第一部分

nut修改实例3:完成血爆-第一部分

 

在与chr文件内对应的位置(比如:chr文件内血爆动作是[etc motion]下的第100个动作,那么在lay内[etc motion]下也要在第100的位置注册时装/武器动作)注册时装/武器动作。

nut修改实例3:完成血爆-第一部分

注册完成后人物放技能时就不会裸体了。

 

相关代码文件下载:https://www.123pan.com/s/tJCtVv-hm5EH.html提取码:wzZk

© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容