potinho
Advanced OT User
Hello everyone, everything good? My server is growing and I'm getting close to the supportable engine/host limit. I would like that, in case of a day of queue to login, I prioritize the players that have VIP in my OT, how to do it? Follow my VIP system.
Lua:
VIP_ACCOUNT_STORAGE = 30009
function getAccountStorage(cid, key)
local ret = db.getResult("SELECT `value` FROM `account_storage` WHERE `account_id` = ".. getPlayerAccountId(cid) .." AND `key` = "..key)
if ret:getID() == -1 then
return -1
end
return ret:getDataInt("value") or ret:getDataString("value")
end
function setAccountStorage(cid, key, value)
local func = db.executeQuery or db.query
local query = db.getResult("SELECT `value` FROM `account_storage` WHERE `key` = ".. key .." AND `account_id` = ".. getPlayerAccountId(cid))
if query:getID() == -1 then
return func("INSERT INTO `account_storage` (`account_id`, `key`, `value`) VALUES (".. getPlayerAccountId(cid) ..", ".. key ..", ".. value ..")")
end
return func("UPDATE `account_storage` SET `value` = ".. value .." WHERE `key` = ".. key .." AND `account_id` = ".. getPlayerAccountId(cid))
end
function isVIP(cid)
return getAccountVIP(cid) > 0
end
function getAccountVIP(cid)
return (getAccountStorage(cid, VIP_ACCOUNT_STORAGE) - os.time() > 0) and getAccountStorage(cid, VIP_ACCOUNT_STORAGE) - os.time() or 0
end
function setAccountVIP(cid, days)
return setAccountStorage(cid, VIP_ACCOUNT_STORAGE, os.time() + (60 * 60 * 24 * days) + (getAccountVIP(cid) > 0 and getAccountVIP(cid) or 0))
end