1111
This commit is contained in:
@@ -222,20 +222,20 @@ class EquimentUseJewel {
|
||||
}
|
||||
|
||||
|
||||
HackReturnAddSocketToAvatarFalg = null;
|
||||
|
||||
|
||||
function HackReturnAddSocketToAvatar(Code) {
|
||||
//标记flag
|
||||
HackReturnAddSocketToAvatarFalg = Code;
|
||||
|
||||
Cb_PacketBuf_get_short_Leave_Func.EquimentUseJewel <- function(args) {
|
||||
Cb_PacketBuf_get_short_Leave_Func.rawdelete("EquimentUseJewel");
|
||||
return 0;
|
||||
}.bindenv(this);
|
||||
function HackAddSocketToAvatarLogic(Flag) {
|
||||
if (Flag) {
|
||||
Sq_WriteByteArr(S_Ptr("821A449"), [0x90,0x90]);
|
||||
Sq_WriteByteArr(S_Ptr("0x821A44B"), array(36,0x90));
|
||||
} else {
|
||||
Sq_WriteByteArr(S_Ptr("821A449"), [0x74,0x2B]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
function FixFunction() {
|
||||
//称号回包
|
||||
Cb_CTitleBook_putItemData_Leave_Func.EquimentUseJewel <- function(args) {
|
||||
@@ -258,7 +258,9 @@ class EquimentUseJewel {
|
||||
//装备开孔
|
||||
Cb_AddSocketToAvatar_Enter_Func.EquimentUseJewel <- function(args) {
|
||||
local SUser = User(args[1]);
|
||||
local Pack = Packet(args[2]);
|
||||
local PackCopyBuffer = Memory.alloc(10001);
|
||||
Memory.copy(PackCopyBuffer, NativePointer(args[2]), 1000);
|
||||
local Pack = Packet(PackCopyBuffer.C_Object);
|
||||
local equ_slot = Pack.GetShort();
|
||||
local equitem_id = Pack.GetInt();
|
||||
local sta_slot = Pack.GetShort();
|
||||
@@ -276,7 +278,8 @@ class EquimentUseJewel {
|
||||
//如果已开启镶嵌槽则不执行
|
||||
local equ_id = NativePointer(inven_item.C_Object).add(25).readU32();
|
||||
if (api_exitjeweldata(equ_id)) {
|
||||
HackReturnAddSocketToAvatar(0x13);
|
||||
CUser_SendCmdErrorPacket(SUser, 209, 19);
|
||||
HackAddSocketToAvatarLogic(true);
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -285,11 +288,13 @@ class EquimentUseJewel {
|
||||
|
||||
if (ItemType == 10) {
|
||||
SUser.SendNotiBox("装备为武器类型,不支持打孔!", 1)
|
||||
HackReturnAddSocketToAvatar(0x0);
|
||||
CUser_SendCmdErrorPacket(SUser, 209, 0);
|
||||
HackAddSocketToAvatarLogic(true);
|
||||
return null;
|
||||
} else if (ItemType == 11) {
|
||||
SUser.SendNotiBox("装备为称号类型,不支持打孔!", 1)
|
||||
HackReturnAddSocketToAvatar(0x0);
|
||||
CUser_SendCmdErrorPacket(SUser, 209, 0);
|
||||
HackAddSocketToAvatarLogic(true);
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -310,23 +315,12 @@ class EquimentUseJewel {
|
||||
Pack.Finalize(true);
|
||||
SUser.Send(Pack);
|
||||
Pack.Delete();
|
||||
HackReturnAddSocketToAvatar(0x0);
|
||||
HackAddSocketToAvatarLogic(true);
|
||||
return null;
|
||||
}.bindenv(this);
|
||||
|
||||
Cb_AddSocketToAvatar_Leave_Func.EquimentUseJewel <- function(args) {
|
||||
|
||||
local Pack = Packet(args[2]);
|
||||
local equ_slot = Pack.GetShort();
|
||||
print(equ_slot);
|
||||
//跳的错误返回0 正常调用的话不处理返回值
|
||||
if (HackReturnAddSocketToAvatarFalg != null) {
|
||||
local SUser = User(args[1]);
|
||||
// SUser.SendItemSpace(0);
|
||||
CUser_SendCmdErrorPacket(SUser, 209, HackReturnAddSocketToAvatarFalg);
|
||||
HackReturnAddSocketToAvatarFalg = null;
|
||||
return 0;
|
||||
}
|
||||
HackAddSocketToAvatarLogic(false);
|
||||
return null;
|
||||
}.bindenv(this);
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ function _Hook_Enter_Currency_Func_(args, TableObj) {
|
||||
local Ret = null;
|
||||
foreach(Func in TableObj) {
|
||||
local Buf = Func(args);
|
||||
if (Buf) Ret = Buf;
|
||||
if (Buf != null) Ret = Buf;
|
||||
}
|
||||
return Ret;
|
||||
}
|
||||
@@ -18,7 +18,7 @@ function _Hook_Leave_Currency_Func_(args, TableObj) {
|
||||
local Ret = null;
|
||||
foreach(Func in TableObj) {
|
||||
local Buf = Func(args);
|
||||
if (Buf) Ret = Buf;
|
||||
if (Buf != null) Ret = Buf;
|
||||
}
|
||||
return Ret;
|
||||
}
|
||||
@@ -444,4 +444,15 @@ _Hook_Register_Currency_Func_("0x08608C98", ["pointer", "char", "char", "bool"],
|
||||
//检查插入快捷技能槽位
|
||||
Cb_CheckComboSkillInsertQuickSlot_Enter_Func <- {};
|
||||
Cb_CheckComboSkillInsertQuickSlot_Leave_Func <- {};
|
||||
_Hook_Register_Currency_Func_("0x08608D58", ["pointer", "int", "bool"], Cb_CheckComboSkillInsertQuickSlot_Enter_Func, Cb_CheckComboSkillInsertQuickSlot_Leave_Func);
|
||||
_Hook_Register_Currency_Func_("0x08608D58", ["pointer", "int", "bool"], Cb_CheckComboSkillInsertQuickSlot_Enter_Func, Cb_CheckComboSkillInsertQuickSlot_Leave_Func);
|
||||
|
||||
|
||||
//检查每日日程时间 提供者: ZZ
|
||||
Cb_User_CheckDailyScheduleTime_Enter_Func<-{};
|
||||
Cb_User_CheckDailyScheduleTime_Leave_Func<-{};
|
||||
_Hook_Register_Currency_Func_("0x846C0A8",["int","int","int"],Cb_User_CheckDailyScheduleTime_Enter_Func,Cb_User_CheckDailyScheduleTime_Leave_Func);
|
||||
|
||||
//绝望之塔获取上次挑战时间 提供者: ZZ
|
||||
Cb_User_TOD_UserState_getLastClearTime_Enter_Func<-{};
|
||||
Cb_User_TOD_UserState_getLastClearTime_Leave_Func<-{};
|
||||
_Hook_Register_Currency_Func_("0x864387E",["pointer"],Cb_User_TOD_UserState_getLastClearTime_Enter_Func,Cb_User_TOD_UserState_getLastClearTime_Leave_Func);
|
||||
Reference in New Issue
Block a user