nut简介(注解)

1.state
state翻译为状态,即人物的状态。
人物处于战立状态,人物状态变量就设定为state_stand
人物处于奔跑状态,人物状态变量就设定为state_dash
 
如果人物要释放技能,就设定人物状态变量为该技能的状态
就是这样了,貌似只有state_stand这个状态可以主动去设(*皿* ) 
 
 
2.一部分函数的解析(常说的灰技能说不定就在这里)
经常出现的主函数
checkExecutableSkill_* 是按下技能键后执行
checkCommandEnable_* 是判断是否能够释放的函数
以上*替换为skl列表里的技能名称
tip:灰技能可能就在上面两个函数,其实,灰技能也和skl文件有关的哦!!
 
------------------------------------------------------------------
onSetState_* 设定状态的
tip:obj.sq_AddSetStatePacket函数执行后会执行这个函数
 
onEndCurrentAni_* 当前帧结束后执行的函数
 
onProc_* 在人物处于技能状态过程中会自动执行的函数
tip:很重要的函数
 
onKeyFrameFlag_* SET FLAG 了解下,懂的人自然懂
tip:这函数我真的很少用,
 
onAttack_* 攻击敌人后执行的函数,可以返回受到伤害的对象
tip:这个就是写抓取技能的基础啊!!!这个函数可是很有用的
 
以上*都是对应了sqr里的pushState函数第三个参数
实际上其他的技能后面的都是对应第三个参数
-------------------------------------------------------------------------
3,obj,damger对象的一部分常用函数(方法)
 
 
obj.sq_IsUseSkill函数,该函数使用后会使技能进入cd,换句话说没有这个函数技能无CD
 
obj.sq_AddSetStatePacket函数,设定状态函数
 
obj.setCurrentPos设定坐标函数,但是人物直接用会卡墙,怪物就不会?
 
obj.sq_SetStaticSpeedInfo是否吃攻速
 
obj.getXPos()获得x轴,把里面的x替换成yz,你懂得
 
obj.sq_timer_.isOnEvent判断时间函数,需要obj.getVar()支持,或者直接obj
 
*.sq_timer_.setParameter方法,*变量设定为时间变量,每隔特定时间触发。
配合 *.sq_timer_.resetInstant(0)才可使用 *.sq_timer_.isOnEvent去检测
是否允许触发
 
obj.setTimeEvent依然是设定时间的函数,但是和主函数onTimeEvent_*有关联
个人推荐用这个函数
 
obj.sq_SetfindNearLinearMovablePos不卡墙的人物坐标设置
 
obj.sq_IsMyControlObject检测是否使用过
 
obj.sq_StopMove停止移动
 
obj.setCurrentDirection设定obj的朝向
 
obj.sq_GetCurrentAni获取当前帧文件,获取帧数和帧时间的必要
 
obj.sq_GetCurrentFrameIndex获取帧数
 
sq_GetCurrentTime帧的时间
 
 
sq_CreatePooledObject生成临时特效函数,第一个参数是ani,第二个默认true
 
sq_GetDirection参数写对象即可获得该对象的朝向,返回值为ENUM_DIRECTION_RIGHT何 ENUM_DIRECTION_LEFT
 
sq_GetCurrentAttackInfo获得特定对象的攻击信息
 
sq_SetChangeStatusIntoAttackInfo吃异常了解下
 
sq_HoldAndDelayDie强控敌人
 
 
onattack
nut基本信息

PHYSICAL_ATTACK <- 0 		  //物理攻击
MAGICAL_ATTACK <- 1 		  //魔法攻击
MAGICAL_DEFENSE <- 2 		  //魔法防御
PHYSICAL_DEFENSE <- 3 		  //物理防御
EQUIPMENT_PHYSICAL_ATTACK <- 4 		  //设备物理攻击
EQUIPMENT_PHYSICAL_DEFENSE <- 5 		  //设备物理防御
PHYSICAL_ATTACK_BONUS <- 6 		  //物理攻击加成
MAGICAL_ATTACK_BONUS <- 7 		  //魔法攻击加成
JUMP_POWER <- 8 		  //跳转功率
JUMP_SPEED_RATE <- 9 		  //更改状态、类型、跳跃、速度、速度
ATTACK_SPEED <- 10 		  //攻击速度
MOVE_SPEED <- 11 		  //移动速度
CAST_SPEED <- 12 		  //施法速度
HP_MAX <- 13 		  //HP_MAX
HP_REGEN_RATE <- 14 		  //HP恢复值
PHYSICAL_CRITICAL_HIT_RATE <- 15 		  //物理命中率
MAGICAL_CRITICAL_HIT_RATE <- 16 		  //魔法命中率
PHYSICAL_BACK_ATTACK_CRITICAL <- 17 		  //物理暴击
MAGICAL_BACK_ATTACK_CRITICAL <- 18 		  //魔法暴击
CRITICAL_TOLERANCE_RATE <- 19 		  //攻击回避率
ELEMENT_TOLERANCE_FIRE <- 20 		  //火属性抗性
ELEMENT_TOLERANCE_WATER <- 21 		  //水属性抗性
ELEMENT_TOLERANCE_DARK <- 22 		  //暗属性抗性
ELEMENT_TOLERANCE_LIGHT <- 23 		  //光属性抗性
ELEMENT_TOLERANCE_ALL <- 24 		  //全属性抗性
ELEMENT_TOLERANCE_ZERO <- 25 		  //减少所有抗性
ACTIVESTATUS_TOLERANCE_ALL <- 26 		  //增加所有抗性
ACTIVEPROPERTY_STUCK <- 27 		  //活动属性
BACK_ATTACK_STUCK_TOLERANCE <- 28 		  //攻击_卡住_容忍度
MP_REGEN_RATE <- 29 		  //状态类型更新率
EXTRA_SPEED_RATE <- 30 		  //状态\类型\额外\速度\费率
EQUIPMENT_MAGICAL_ATTACK <- 31 		  //改变状态类型装备魔法攻击
EQUIPMENT_MAGICAL_DEFENSE <- 32 		  //改变状态类型装备魔法防御
STUCK <- 33 		  //无法移动
HIT_RECOVERY <- 34 		  //恢复移动
MELEE_HIT_DELAY <- 35 		  //更改状态类型近战命中延迟
CAHNGE_STATUS_TYPE_EQUIPMENT_ALL_STAT <- 36 		  //状态_类型_设备_所有_状态
CUSTOM <- 37              //自定义类型
EXP_DOUBLE <- 38 		  //经验值翻倍
EVIL_UP <- 39 		  //抗魔值增加
EVIL_DOWN <- 40 		  //抗魔值减少
RIGIDITY <- 41 		  //硬直
ELEMENT_ATTACK_FIRE <- 42 		  //改变状态类型为火元素攻击
ELEMENT_ATTACK_WATER <- 43 		  //改变状态类型为水元素攻击
ELEMENT_ATTACK_DARK <- 44 		  //改变状态类型为暗元素攻击
ELEMENT_ATTACK_LIGHT <- 45 		  //改变状态类型为光元素攻击
ELEMENT_ATTACK_ALL <- 46 		  //改变状态类型为全元素攻击
DISEASE <- 47 		  //毒
MP_MAX <- 48 		  //MP MAX
COOLTIME_DECLINE <- 49 		  //减少冷却
PHYSICAL_CRITICAL_DAMAGE_RATE <- 50 		  //减少物理防御力
MAGICAL_CRITICAL_DAMAGE_RATE <- 51 		  //减少魔法防御力
BLOODWAR_GROW_ABILITY <- 52 		  //血战_成长_能力
ADDITIONAL_PHYSICAL_GENUINE_ATTACK <- 53 		  //附加物理真伤
ADDITIONAL_MAGICAL_GENUINE_ATTACK <- 54 		  //附加魔法真伤
SUMMON_SKILL_POWER_BONUS_RATE <- 55 		  //召唤兽的属性奖励
ANTIEVIL <- 56 		  //减少邪恶
PHYSICAL_ABSOLUTE_DAMAGE <- 57 		  //物理损伤绝对损伤占
TRAIN_NO_BREATH_TIME <- 58 		  //幽灵列车迷雾时间
LINK <- 59 		  //字符链接
INCREASE <- 60       //金币
MAX <- 61          //类型_MAX
-----------------------------------
checkExecutableSkill
 
*检查技能使用函数,如若不写则导致无法使用技能。
*该函数共(1)个参数
*function checkExecutableSkill_xxx(obj:对象)
-----------------------------------
checkCommandEnable
 
*检查按键是否打开
*该函数共(1)个参数
*function checkCommandEnable_xxx(obj:对象)
-----------------------------------
onSetState
 
*当对象执行到该技能状态时调用的函数,若不写导致人物卡死。
*该函数共(4)个参数
*onSetState_xxx(obj:对象, state:该技能状态, datas:子状态数据, isResetTimer;在重置的时间)
-----------------------------------
onEndCurrentAni
 
*对象Ani演出结束时调用函数,若不写导致人物在技能演出结束后卡死。
*该函数共(1)个参数
*function onEndCurrentAni_xxx(obj:对象)
-----------------------------------
onKeyFrameFlag
 
*对象使用的Ani中有[SET FLAG]时调用函数
*该函数共(2)个参数
*function onKeyFrameFlag_xxx(obj:对象,flagIndex:Ani中写入的数字值)
*范例
*[FRAME005]
*   [IMAGE]
*       `Character/Swordman/Equipment/Avatar/skin/sm_body%04d.img`
*       114
*   [IMAGE POS]
*       -232    -333
*   [DELAY]
*       40
*   [SET FLAG](当人物帧运行到该标志数字下,触发对应函数内容)
*       1
*   [DELAY]
*       40
-----------------------------------
sq_IsUseSkill
 
*判断技能是否可以使用
*该函数共(1)个参数
*obj.sq_IsUseSkill(技能的数字编号);
-----------------------------------
sq_AddSetStatePacket
 
*发送状态,在参数1内填写状态数值可使对象角色进行对应状态
*例如obj.sq_AddSetStatePacket(STATE_STAND, STATE_PRIORITY_USER, false);人物将从任何状态下强制进入状态
*该函数共(3)个参数
*obj.sq_AddSetStatePacket(整数型(状态数值), 整数型(状态优先级), false);
 
*第1个参数的拓展(少部分常用状态指向)
STATE_STAND <- 0               //  站立
STATE_DIE <- 5                 //  死亡
STATE_JUMP <- 6            //  跳跃
STATE_JUMP_ATTACK <- 7         //  跳跃攻击
STATE_ATTACK <- 8              //  普通攻击
STATE_DASH <- 14               //  冲刺 
STATE_DASH_ATTACK <- 15        //  冲刺攻击
*第2个参数的拓展(优先级)
*STATE_PRIORITY_AUTO <- 0              //  根据时间或条件自动调整优先级
STATE_PRIORITY_USER <- 1               //  玩家使用的优先级
STATE_PRIORITY_HALF_FORCE <- 2         //  非正常途径的优先级,比强制要低
STATE_PRIORITY_FORCE <- 3              //  强制进入 (倒下、受伤、死亡、被强制控制下)可转变的优先级
STATE_PRIORITY_IGNORE_FORCE <- 4       //  无视强制进入 (수플렉스로 상대 잡기 등)
-----------------------------------
sq_GetState
 
*获得人物当前的状态值,获得的值为整数
-----------------------------------
sq_StopMove
 
*停止移动
-----------------------------------
sq_SetCurrentAnimation
 
*设置Ani演出
*obj.sq_SetCurrentAnimation(Ani指向编号/整数型);
-----------------------------------
sq_SetStaticSpeedInfo
 
*设置静态速度信息(跟随人物攻速调整Ani演出时间,换句话说攻速越快人物动作越快,反之亦然。)
*该函数共(6)个参数
*1-4为固定基础值,无须修改
*5-6为倍率,浮点数型,填写1.5可获得更为快速的演出时间。
*obj.sq_SetStaticSpeedInfo(SPEED_TYPE_ATTACK_SPEED, SPEED_TYPE_ATTACK_SPEED,SPEED_VALUE_DEFAULT, SPEED_VALUE_DEFAULT, 1.0, 1.0);
-----------------------------------
sq_IsMyControlObject
 
*判断对象是否是玩家的控制对象,用来区分玩家与队友。
-----------------------------------
sq_GetIntData
 
*获取Skl文件内的静态数据
*该函数共(2)个参数
*obj.sq_GetIntData(整数型/技能编号, 整数型/静态数据的对应位置-0号开始计算);
*例子:local xPosMin = obj.sq_GetIntData(SKILL_WIND_STRIKE, 0);
*获取魔法旋风技能的0号位技能静态值
-----------------------------------
sq_GetBonusRateWithPassive
 
*获取百分比伤害
*该函数共(4)个参数
*obj.sq_GetBonusRateWithPassive(整数型/技能编号, 整数型/技能状态, 整数型/技能伤害读取到Skl文件的动态数据值, 浮点数型/调整伤害的倍率);
-----------------------------------
sq_GetPowerWithPassive
 
*获取固定伤害
*该函数共(5)个参数
*obj.sq_GetPowerWithPassive(整数型/技能编号, 整数型/技能状态, 整数型/技能伤害读取到Skl文件的动态数据值, 整数型/技能伤害读取到Skl文件的动态数据值, 浮点数型/调整伤害的倍率);
-----------------------------------
sq_GetLevelData
 
*获取Skl文件内的动态数据
*该函数共(1)个参数
*obj.sq_GetLevelData(整数型/动态数据的对应位置-0号开始计算);
© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容