| 
 | 
 
 楼主 |
发表于 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也可以改回去 |   
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册 
 
 
 
×
 
 
 
 
 |