|
楼主 |
发表于 2025-8-1 09:46:29
|
显示全部楼层
到现在我们已经学会了动态调试nut(外置文件)
控制台输出信息实时反馈代码信息
接下来讲讲对象!这里所的对象是具体到哪一个目标
我们回到一开始的代码!
// 检查 appendage 对象是否存在
// 如果 appendage 为空或未定义,则退出当前函数
if (!appendage) return;
// 获取 appendage 对象的父对象
local parentObj = appendage.getParent();
// 从父对象中获取对应的 SQR 角色对象
// sq_GetCNRDObjectToSQRCharacter 是一个自定义函数,用于将 CNRD 对象转换为 SQR 角色对象
local obj = sq_GetCNRDObjectToSQRCharacter(parentObj);
重点看前面的几行。第一行就是有一个判断(if)有写过equ的应该都不陌生
意思是如果怎么怎么样后面就怎么怎么样的意思
if (!appendage) return;
如果ap不存在就不执行下面的内容
如果ap存在就接着往下执行
// 获取 appendage 对象的父对象
local parentObj = appendage.getParent();
// 从父对象中获取对应的 SQR 角色对象
// sq_GetCNRDObjectToSQRCharacter 是一个自定义函数,用于将 CNRD 对象转换为 SQR 角色对象
local obj = sq_GetCNRDObjectToSQRCharacter(parentObj);
获取到ap的源对象,其实也是角色本身。下面一行是转化为角色对象
换成人话就是只要我们在这个代码下面调用obj这个代码系统就知道obj是角色本身!
代码里最难的就是准确的获取到精准的对象这个后面也会提及
再往下看
local power = 100;
这个power是我们自己定义的。所有的定义都是为了代码的可读性 这个 power完全可以不写
包括上面的obj也是为了可读性让我们写后续的东西提高可读性
// 尝试从 appendage 对象中获取状态标识为 "100301495" 的变化状态
// sq_getChangeStatus 是一个自定义函数,用于获取特定标识的变化状态
local change_appendage = appendage.sq_getChangeStatus("100301495");
// 检查是否成功获取到变化状态
if (!change_appendage) {
// 如果没有获取到变化状态,则创建一个新的变化状态
// 调用 appendage 对象的 sq_AddChangeStatus 方法添加新的变化状态
// 参数解释:
// "100301495": 状态标识,唯一标识这个变化状态
// obj: 目标对象,变化状态将应用于此对象
// obj: 源对象,变化状态的来源对象
// 5000: 持续时间,单位可能是毫秒,表示变化状态的持续时间为5000毫秒(5秒)
// CHANGE_STATUS_TYPE_COOLTIME_DECLINE: 变化状态类型,这里表示冷却时间递减类型
// true: 布尔值参数,可能表示变化状态是否可叠加
// -power: 变化值,这里为 -100,表示减少100点力量或能量值
change_appendage = appendage.sq_AddChangeStatus("100301495", obj, obj, 5000,
CHANGE_STATUS_TYPE_COOLTIME_DECLINE, true, -power);
}
再到下面如果状态有变化的话附加一个属性给角色本身
change_appendage = appendage.sq_AddChangeStatus("100301495", obj, obj, 5000,
CHANGE_STATUS_TYPE_COOLTIME_DECLINE, true, -power);
这个属性就是冷却时间减少附加对象是我们角色自己obj
附加的对象也是我们自己obj
这里后面的power上面我们定义的100
如果不是为了可读性完全可以不写直接改成
change_appendage = appendage.sq_AddChangeStatus("100301495", sq_GetCNRDObjectToSQRCharacter(parentObj), sq_GetCNRDObjectToSQRCharacter(parentObj), 5000,
CHANGE_STATUS_TYPE_COOLTIME_DECLINE, true, -100);
obj也可以改回去 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|