DP-S_Script/_DPS_/_BuiltProject/仓库锁/仓库锁.nut

95 lines
3.1 KiB
Plaintext
Raw Normal View History

2025-12-20 16:51:59 +08:00
/*
文件名:仓库锁.nut
路径:MyProject/仓库锁.nut
创建日期:2025-12-20 02:19
文件用途:
*/
class WarehouseLockC {
MysqlObject = null;
2025-12-25 23:54:06 +08:00
//不允许使用仓库的UID 列表
NoWarehouseList = null;
2025-12-20 16:51:59 +08:00
constructor() {
2025-12-25 23:54:06 +08:00
NoWarehouseList = {};
2025-12-20 16:51:59 +08:00
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`));", []);
2025-12-26 14:53:55 +08:00
Cb_History_MileageSet_Func["WarehouseLockC"] <- function(SUser, Data) {
local Uid = SUser.GetUID();
//查询uid是否存在于数据库中
local querySql = "SELECT passwd FROM zyk.warehouselock WHERE uid = " + Uid;
local result = MysqlObject.Select(querySql, [""]);
2025-12-20 16:51:59 +08:00
2025-12-26 14:53:55 +08:00
//说明有密码
if (result && result.len() > 0) {
NoWarehouseList.rawset(Uid, true);
}
2025-12-26 15:03:06 +08:00
}.bindenv(this);
2025-12-20 16:51:59 +08:00
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
});
}
}.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);
2025-12-26 15:14:38 +08:00
NoWarehouseList.rawdelete(Uid);
2025-12-25 23:54:06 +08:00
} else {
2025-12-20 16:51:59 +08:00
SUser.SendNotiBox(" 验证失败 请重新登录游戏以重试", 1);
}
}
}.bindenv(this));
2025-12-25 23:54:06 +08:00
2025-12-26 15:06:47 +08:00
Cb_Cargo_IsOperatorable_Leave_Func["毁梦定制仓库锁"] <- function(args) {
2025-12-25 23:54:06 +08:00
local CUser = NativePointer(args[0]).readPointer();
local SUser = User(CUser);
local Uid = SUser.GetUID();
2025-12-26 14:53:55 +08:00
if (NoWarehouseList.rawin(Uid)) {
2025-12-25 23:54:06 +08:00
return false;
}
return null;
}.bindenv(this);
2025-12-20 16:51:59 +08:00
}
}
Timer.SetTimeOut(function() {
getroottable()._WarehouseLock_ <- WarehouseLockC();
print("双端插件·仓库锁 - 已加载");
}, 1);