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
暂无评论内容