feat: 添加获取和设置攻击信息伤害值的函数
添加 sq_GetCurrentAttackInfoDamage 和 sq_SetCurrentAttackInfoDamage 函数,用于读取和修改攻击信息的伤害值,扩展对象能力操作功能
This commit is contained in:
parent
2f20020a01
commit
1194db30b3
|
|
@ -14,47 +14,56 @@ function sq_GetCNRDObjectToSQRPassiveObject(obj) {
|
|||
return L_Sq_ObjectAddressToSqrObject(L_Sq_GetObjectAddress(obj), "CNSquirrelPassiveObject", 0);
|
||||
}
|
||||
|
||||
function sq_GetObjectAbilityInteger(obj, ObjectAddressOffset)
|
||||
{
|
||||
function sq_GetObjectAbilityInteger(obj, ObjectAddressOffset) {
|
||||
return NativePointer(L_Sq_GetObjectAddress(obj) + ObjectAddressOffset).readInt();
|
||||
}
|
||||
|
||||
function sq_SetObjectAbilityInteger(obj, ObjectAddressOffset, Value)
|
||||
{
|
||||
function sq_SetObjectAbilityInteger(obj, ObjectAddressOffset, Value) {
|
||||
NativePointer(L_Sq_GetObjectAddress(obj) + ObjectAddressOffset).writeInt(Value);
|
||||
}
|
||||
|
||||
function sq_GetObjectAbilityFloat(obj, ObjectAddressOffset)
|
||||
{
|
||||
function sq_GetObjectAbilityFloat(obj, ObjectAddressOffset) {
|
||||
return NativePointer(L_Sq_GetObjectAddress(obj) + ObjectAddressOffset).readFloat();
|
||||
}
|
||||
|
||||
function sq_SetObjectAbilityFloat(obj, ObjectAddressOffset, Value)
|
||||
{
|
||||
function sq_SetObjectAbilityFloat(obj, ObjectAddressOffset, Value) {
|
||||
NativePointer(L_Sq_GetObjectAddress(obj) + ObjectAddressOffset).writeFloat(Value);
|
||||
}
|
||||
|
||||
function sq_GetObjectAbilityIntegerWithDecrypt(obj, ObjectAddressOffset)
|
||||
{
|
||||
function sq_GetObjectAbilityIntegerWithDecrypt(obj, ObjectAddressOffset) {
|
||||
return MemoryTool.DecodeMemoryData(L_Sq_GetObjectAddress(obj) + ObjectAddressOffset);
|
||||
}
|
||||
|
||||
function sq_SetObjectAbilityIntegerWithDecrypt(obj, ObjectAddressOffset, Value)
|
||||
{
|
||||
function sq_SetObjectAbilityIntegerWithDecrypt(obj, ObjectAddressOffset, Value) {
|
||||
MemoryTool.EncodeMemoryData(L_Sq_GetObjectAddress(obj) + ObjectAddressOffset, Value);
|
||||
}
|
||||
|
||||
function sq_GetObjectAbilityFloatWithDecrypt(obj, ObjectAddressOffset)
|
||||
{
|
||||
function sq_GetObjectAbilityFloatWithDecrypt(obj, ObjectAddressOffset) {
|
||||
local Res = MemoryTool.DecodeMemoryData(L_Sq_GetObjectAddress(obj) + ObjectAddressOffset);
|
||||
local B = blob();
|
||||
B.writen(Res, 'i');
|
||||
return B.readn('f');
|
||||
}
|
||||
|
||||
function sq_SetObjectAbilityFloatWithDecrypt(obj, ObjectAddressOffset, Value)
|
||||
{
|
||||
function sq_SetObjectAbilityFloatWithDecrypt(obj, ObjectAddressOffset, Value) {
|
||||
local B = blob();
|
||||
B.writen(Value, 'f');
|
||||
MemoryTool.EncodeMemoryData(L_Sq_GetObjectAddress(obj) + ObjectAddressOffset, B.readn('i'));
|
||||
}
|
||||
|
||||
|
||||
|
||||
function sq_GetCurrentAttackInfoDamage(attackInfo) {
|
||||
local AtkC = L_sq_P2I(attackInfo["__ot"][28259608]);
|
||||
local Res = MemoryTool.DecodeMemoryData(AtkC + 0x0);
|
||||
local B = blob();
|
||||
B.writen(Res, 'i');
|
||||
return B.readn('f');
|
||||
}
|
||||
|
||||
function sq_SetCurrentAttackInfoDamage(attackInfo, damage) {
|
||||
local AtkC = L_sq_P2I(attackInfo["__ot"][28259608]);
|
||||
local B = blob();
|
||||
B.writen(damage, 'f');
|
||||
MemoryTool.EncodeMemoryData(AtkC + 0x0, B.readn('i'));
|
||||
}
|
||||
Loading…
Reference in New Issue