diff --git a/Base/CallBack/DrawMain.nut b/Base/CallBack/DrawMain.nut index e94e5f1..db72114 100644 --- a/Base/CallBack/DrawMain.nut +++ b/Base/CallBack/DrawMain.nut @@ -97,20 +97,20 @@ function L_drawMainCustomUI_All() { - local attackInfo = sq_GetCustomAttackInfo(obj, 0); - sq_SetAttackInfoHitDelayRateDamager(attackInfo, 4.2); - // sq_SetCurrentAttackBonusRate(attackInfo, 4812); - // sq_SetCurrentAttacknUpForce(attackInfo, 41918); - // sq_GetAttackInfoHitDelayRateDamager(attackInfo); - local AtkC = L_sq_P2I(attackInfo["__ot"][28259608]); + // local attackInfo = sq_GetCustomAttackInfo(obj, 0); + // sq_SetAttackInfoHitDelayRateDamager(attackInfo, 4.2); + // // sq_SetCurrentAttackBonusRate(attackInfo, 4812); + // // sq_SetCurrentAttacknUpForce(attackInfo, 41918); + // // sq_GetAttackInfoHitDelayRateDamager(attackInfo); + // local AtkC = L_sq_P2I(attackInfo["__ot"][28259608]); // sq_SetChangeStatusIntoAttackInfoWithEtc(attackInfo, 0, 10, 50, 150, 140, 49, 0); // print(attackInfo["__ot"][28259608]) // for (local i = 0; i< 8000; i++) { - // local Ret = DATK(AtkC, i).readFloat(); - // if (Ret == 50.0) + // local Ret = DATK(AtkC, i).readInt(); + // if (Ret == 21567) // { // print("找到了! " + format("当前遍历: 0x%02x\n", i)); // } diff --git a/Base/UI/Lenheart_Event_Class.nut b/Base/UI/Lenheart_Event_Class.nut index 29bb27c..21505b0 100644 --- a/Base/UI/Lenheart_Event_Class.nut +++ b/Base/UI/Lenheart_Event_Class.nut @@ -170,6 +170,7 @@ class Rindro_EventList { local Jso = Json.Decode(Chunk); X = Jso.YosinEventIconInfoXpos; Y = Jso.YosinEventIconInfoYpos; + getroottable()["LenheartEventOffset"] <- { x = X - 456, @@ -228,30 +229,6 @@ function Lenheart_EventList_Fun(obj) { } } -//获取活动图标坐标 在活动图标变动时会被调用 -function Sq_Get_Event_Pos_X() { - if (getroottable().rawin("LenheartEventOffset")) { - return getroottable()["LenheartEventOffset"].x; - } else { - getroottable()["LenheartEventOffset"] <- { - x = 277, - y = 530 - }; - return getroottable()["LenheartEventOffset"].x; - } -} - -function Sq_Get_Event_Pos_Y() { - if (getroottable().rawin("LenheartEventOffset")) { - return getroottable()["LenheartEventOffset"].y; - } else { - getroottable()["LenheartEventOffset"] <- { - x = 277, - y = 530 - }; - return getroottable()["LenheartEventOffset"].y; - } -} diff --git a/Base/_Tool/MemoryClass.nut b/Base/_Tool/MemoryClass.nut index badb867..5578fa7 100644 --- a/Base/_Tool/MemoryClass.nut +++ b/Base/_Tool/MemoryClass.nut @@ -158,6 +158,7 @@ class NativePointer { // if(L_sq_Test(L_sq_P2I(this.C_Object))){ // return read('i'); // } + // } // return 0; return read('i'); diff --git a/Project/CustomPlugins/lulu/ObjectConvert.nut b/Project/CustomPlugins/lulu/ObjectConvert.nut index 3b4b20b..21f826a 100644 --- a/Project/CustomPlugins/lulu/ObjectConvert.nut +++ b/Project/CustomPlugins/lulu/ObjectConvert.nut @@ -257,4 +257,57 @@ function sq_GetCurrentAttackInfoDamageReaction(attackInfo) local AtkC = L_sq_P2I(attackInfo["__ot"][28259608]); local Res = MemoryTool.DecodeMemoryData(AtkC + 0x4C); return Res; +} + +function sq_GetCurrentAttackeHitStunTime(attackInfo) +{ + local AtkC = L_sq_P2I(attackInfo["__ot"][28259608]); + local Res = MemoryTool.DecodeMemoryData(AtkC + 0x138); + return Res; +} + +function sq_GetCurrentAttackInfoKnuckBackType(attackInfo) +{ + local AtkC = L_sq_P2I(attackInfo["__ot"][28259608]); + local Res = MemoryTool.DecodeMemoryData(AtkC + 0x8C); + return Res; +} + +function sq_SetCurrentAttackInfoKnuckBackType(attackInfo, type) +{ + local AtkC = L_sq_P2I(attackInfo["__ot"][28259608]); + MemoryTool.EncodeMemoryData(AtkC + 0x8C, type); +} + +function sq_GetCurrentAttackInfoStuckRate(attackInfo) +{ + local AtkC = L_sq_P2I(attackInfo["__ot"][28259608]); + local Res = MemoryTool.DecodeMemoryData(AtkC + 0x74); + local B = blob(); + B.writen(Res, 'i'); + B.seek(0); + return B.readn('f'); +} + +function sq_SetCurrentAttackInfoStuckRate(attackInfo, rate) +{ + local AtkC = L_sq_P2I(attackInfo["__ot"][28259608]); + local B = blob(); + B.writen(rate, 'f'); + B.seek(0); + MemoryTool.EncodeMemoryData(AtkC + 0x74, B.readn('i')); +} + +function sq_GetCurrentAttackUpForce(attackInfo) +{ + local AtkC = L_sq_P2I(attackInfo["__ot"][28259608]); + local Res = MemoryTool.DecodeMemoryData(AtkC + 0x5c); + return Res; +} + +function sq_GetCurrentAttackBackForce(attackInfo) +{ + local AtkC = L_sq_P2I(attackInfo["__ot"][28259608]); + local Res = MemoryTool.DecodeMemoryData(AtkC + 0x50); + return Res; } \ No newline at end of file diff --git a/Project/HudUi/HudUi.nut b/Project/HudUi/HudUi.nut index 823f213..6d3e0dd 100644 --- a/Project/HudUi/HudUi.nut +++ b/Project/HudUi/HudUi.nut @@ -654,6 +654,33 @@ class HudUiC extends LenheartNewUI_Windows { } +//获取活动图标坐标 在活动图标变动时会被调用 +function Sq_Get_Event_Pos_X() { + if (getroottable().rawin("LenheartEventOffset")) { + return getroottable()["LenheartEventOffset"].x; + } else { + getroottable()["LenheartEventOffset"] <- { + x = 275, + y = 530 + }; + return getroottable()["LenheartEventOffset"].x; + } +} + +function Sq_Get_Event_Pos_Y() { + if (getroottable().rawin("LenheartEventOffset")) { + return getroottable()["LenheartEventOffset"].y; + } else { + getroottable()["LenheartEventOffset"] <- { + x = 275, + y = 530 + }; + return getroottable()["LenheartEventOffset"].y; + } +} + + + L_Windows_List <- []; getroottable().rawdelete("LenheartPluginsInitFlag"); getroottable().rawdelete("EventList_Obj")