potinho
Advanced OT User
Hi, I have a VIP by accounts system that works perfectly for me, based on these functions:
I have two requests: how do I get all accounts created to start with two days of VIP? Another question is, how to give two days of VIP to all accounts already created?
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
I have two requests: how do I get all accounts created to start with two days of VIP? Another question is, how to give two days of VIP to all accounts already created?