From c89ce27768427a09a18db4534954d6e48fad290a Mon Sep 17 00:00:00 2001 From: lenheart Date: Sun, 28 Dec 2025 23:29:22 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E6=AF=81=E6=A2=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- MyProject/分级机重写逻辑.nut | 28 +++++++++++-------- .../毁梦定制战力系统/毁梦定制战力系统.nut | 2 +- 2 files changed, 18 insertions(+), 12 deletions(-) diff --git a/MyProject/分级机重写逻辑.nut b/MyProject/分级机重写逻辑.nut index 1bb9fb8..80b4a5d 100644 --- a/MyProject/分级机重写逻辑.nut +++ b/MyProject/分级机重写逻辑.nut @@ -2,6 +2,7 @@ ChaFuCustomDecompositionFixFlag <- false; + Cb_MyDisPatcher_DisJointItem_disjoint_Enter_Func["茶服自定义分解机"] <- function(args) { //原逻辑 if (args[3] != 239) { @@ -81,19 +82,24 @@ function HandleDisjointRequest(MyUser, EquStol, Inventype, HeadId, ObjUser, Chan local index = Sq_CallFunc(S_Ptr("0x8110B4C"), "int", ["pointer"], PackObject.C_Object) PackObject.Put_Byte(0); - local equdata = Memory.alloc(1000); //装备数据 - local needslot = Memory.alloc(4); //需要的空白格子 - needslot.writeInt(0); + // local equdata = Memory.alloc(1000); //装备数据 + // local needslot = Memory.alloc(4); //需要的空白格子 + // needslot.writeInt(0); - //初始化装备数据 - Sq_CallFunc(S_Ptr("0x80CB854"), "void", ["pointer"], equdata.C_Object); - print("MyUser.C_Object: " + MyUser.C_Object + "EquStol: " + EquStol + "InvenTypeFromItemSpace: " + InvenTypeFromItemSpace + "equdata.C_Object: " + equdata.C_Object + "needslot.C_Object: " + needslot.C_Object + "ObjUser.C_Object: " + ObjUser.C_Object + "ChannelIdentification: " + ChannelIdentification); - Sq_CallFunc(S_Ptr("0x81F8BA1"), "int", ["pointer", "int", "int", "pointer", "pointer", "pointer", "short"], MyUser.C_Object, EquStol, InvenTypeFromItemSpace, equdata.C_Object, needslot.C_Object, ObjUser.C_Object, ChannelIdentification); + local InvenObject = MyUser.GetInven(); - local itemid = equdata.add(2).readS32(); //装备代码 - local amptype = equdata.add(17).readS8(); //红字类型 - local upgrade_level = equdata.add(6).readU8(); //强化等级 + // //初始化装备数据 + // Sq_CallFunc(S_Ptr("0x80CB854"), "void", ["pointer"], equdata.C_Object); + + // print("MyUser.C_Object: " + MyUser.C_Object + "EquStol: " + EquStol + "InvenTypeFromItemSpace: " + InvenTypeFromItemSpace + "equdata.C_Object: " + equdata.C_Object + "needslot.C_Object: " + needslot.C_Object + "ObjUser.C_Object: " + ObjUser.C_Object + "ChannelIdentification: " + ChannelIdentification); + // Sq_CallFunc(S_Ptr("0x81F8BA1"), "int", ["pointer", "int", "int", "pointer", "pointer", "pointer", "short"], MyUser.C_Object, EquStol, InvenTypeFromItemSpace, equdata.C_Object, needslot.C_Object, ObjUser.C_Object, ChannelIdentification); + + local ItemObject = InvenObject.GetSlot(InvenTypeFromItemSpace, EquStol); + + local itemid = ItemObject.GetIndex(); //装备代码 + local amptype = ItemObject.GetAmplification(); //红字类型 + local upgrade_level = ItemObject.GetUpgrade(); //强化等级 local ItemData = PvfItem.GetPvfItemById(itemid); local Rarity = ItemData.GetRarity(); @@ -327,7 +333,7 @@ function HandleDisjointRequest(MyUser, EquStol, Inventype, HeadId, ObjUser, Chan indexPointer.writeInt(index); Sq_CallFunc(S_Ptr("0x8110B28"), "int", ["pointer", "pointer", "int"], PackObject.C_Object, indexPointer.C_Object, itemlist.len()); - local InvenObject = MyUser.GetInven(); + if (Sq_CallFunc(S_Ptr("0x850400C"), "int", ["pointer", "int", "int", "int", "int", "int"], InvenObject.C_Object, InvenTypeFromItemSpace, EquStol, 1, 7, 1) != 1) { Sq_CallFunc(S_Ptr("0x0867bf42"), "int", ["pointer", "int", "char"], MyUser.C_Object, HeadId, 19); return 0; diff --git a/_DPS_/_BuiltProject/毁梦定制战力系统/毁梦定制战力系统.nut b/_DPS_/_BuiltProject/毁梦定制战力系统/毁梦定制战力系统.nut index 94cb0a0..6a35b04 100644 --- a/_DPS_/_BuiltProject/毁梦定制战力系统/毁梦定制战力系统.nut +++ b/_DPS_/_BuiltProject/毁梦定制战力系统/毁梦定制战力系统.nut @@ -25,7 +25,7 @@ class DreamDestroyerCustomizedCombatPowerSystemC { local InvenObj = SUser.GetInven(); local Weapon = InvenObj.GetSlot(Inven.INVENTORY_TYPE_BODY, 10); local Upgrade = Weapon.GetUpgrade(); - if (Upgrade >= 15 && Upgrade <= 31) { + if (Upgrade >= 15) { WorldNoti(SUser, -1); } }