更新仓库锁 和 HOOK
This commit is contained in:
86
_DPS_/_BuiltProject/仓库锁/仓库锁.nut
Normal file
86
_DPS_/_BuiltProject/仓库锁/仓库锁.nut
Normal file
@@ -0,0 +1,86 @@
|
||||
/*
|
||||
文件名:仓库锁.nut
|
||||
路径:MyProject/仓库锁.nut
|
||||
创建日期:2025-12-20 02:19
|
||||
文件用途:
|
||||
*/
|
||||
class WarehouseLockC {
|
||||
|
||||
MysqlObject = null;
|
||||
|
||||
//不允许使用仓库的UID 列表
|
||||
NoWarehouseList = null;
|
||||
|
||||
constructor() {
|
||||
NoWarehouseList = {};
|
||||
MysqlObject = Mysql(Str_Ptr("127.0.0.1"), 3306, Str_Ptr("taiwan_cain"), Str_Ptr("game"), Str_Ptr("uu5!^%jg"));
|
||||
MysqlObject.Exec_Sql(format("SET NAMES %s", "latin1"));
|
||||
|
||||
|
||||
MysqlObject.Select("CREATE TABLE `zyk`.`warehouselock` ( `uid` int NOT NULL, `passwd` varchar(255) NULL, PRIMARY KEY (`uid`));", []);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
ClientSocketPackFuncMap.rawset(21008009, function(SUser, Jso) {
|
||||
local Uid = SUser.GetUID();
|
||||
//查询uid是否存在于数据库中
|
||||
local querySql = "SELECT passwd FROM zyk.warehouselock WHERE uid = " + Uid;
|
||||
local result = MysqlObject.Select(querySql, [""]);
|
||||
|
||||
//说明有密码
|
||||
if (result && result.len() > 0) {
|
||||
SUser.SendJso({
|
||||
op = 21008010
|
||||
});
|
||||
NoWarehouseList.rawset(Uid, true);
|
||||
}
|
||||
}.bindenv(this));
|
||||
|
||||
|
||||
ClientSocketPackFuncMap.rawset(21008001, function(SUser, Jso) {
|
||||
local Uid = SUser.GetUID();
|
||||
//查询uid是否存在于数据库中
|
||||
local querySql = "SELECT passwd FROM zyk.warehouselock WHERE uid = " + Uid;
|
||||
local result = MysqlObject.Select(querySql, ["string"]);
|
||||
|
||||
local passwd = Jso.passwd;
|
||||
//说明有密码
|
||||
if (result && result.len() > 0) {
|
||||
local sqlpasswd = result[0][0];
|
||||
if (passwd == sqlpasswd) {
|
||||
SUser.SendJso({
|
||||
op = 21008002
|
||||
});
|
||||
SUser.SendNotiBox(" 验证成功 账号金库限制成功解除", 1);
|
||||
} else {
|
||||
SUser.SendNotiBox(" 验证失败 请重新登录游戏以重试", 1);
|
||||
NoWarehouseList.rawdelete(Uid);
|
||||
}
|
||||
}
|
||||
}.bindenv(this));
|
||||
|
||||
|
||||
Cb_User_Vend_Item_Leave_Func["毁梦定制仓库锁"] <- function(args) {
|
||||
local CUser = NativePointer(args[0]).readPointer();
|
||||
local SUser = User(CUser);
|
||||
local Uid = SUser.GetUID();
|
||||
if (NoWarehouseList.rawin(Uid)){
|
||||
return false;
|
||||
}
|
||||
return null;
|
||||
}.bindenv(this);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
Timer.SetTimeOut(function() {
|
||||
|
||||
getroottable()._WarehouseLock_ <- WarehouseLockC();
|
||||
|
||||
print("双端插件·仓库锁 - 已加载");
|
||||
}, 1);
|
||||
@@ -666,6 +666,11 @@ Cb_User_Vend_Item_Enter_Func <- {};
|
||||
Cb_User_Vend_Item_Leave_Func <- {};
|
||||
_Hook_Register_Currency_Func_("0x84D7C8E", ["pointer", "pointer", "pointer", "int"], Cb_User_Vend_Item_Enter_Func, Cb_User_Vend_Item_Leave_Func);
|
||||
|
||||
//金库是否可用
|
||||
Cb_Cargo_IsOperatorable_Enter_Func <- {};
|
||||
Cb_Cargo_IsOperatorable_Leave_Func <- {};
|
||||
_Hook_Register_Currency_Func_("0x0850D39C", ["pointer", "int", "bool"], Cb_Cargo_IsOperatorable_Enter_Func, Cb_Cargo_IsOperatorable_Leave_Func);
|
||||
|
||||
function _Hook_Register_Currency_DelayHook_() {
|
||||
//五国时的热点函数
|
||||
//获取Item Rarity
|
||||
|
||||
Reference in New Issue
Block a user