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

97 lines
3.1 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
文件名:仓库锁.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`));", []);
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, [""]);
//说明有密码
if (result && result.len() > 0) {
NoWarehouseList.rawset(Uid, true);
}
}.bindenv(this);
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);
} 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();
print("我的uid " + Uid);
print(NoWarehouseList);
if (NoWarehouseList.rawin(Uid)) {
return false;
}
return null;
}.bindenv(this);
}
}
Timer.SetTimeOut(function() {
getroottable()._WarehouseLock_ <- WarehouseLockC();
print("双端插件·仓库锁 - 已加载");
}, 1);