Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- arcemu core using ALE
- ACCDATA = {} -- Table that contains all data
- function LoadAccDataFromDB()
- ACCDATA = {} -- For reload case, empty table
- local Q = WorldDBQuery("SELECT acct, login, vip, votes, mg FROM logon.accounts;");
- if(Q)then
- repeat
- -- Save account data under account name in ACCDATA lua table
- local name = Q:GetColumn(1):GetString() -- (vip column) num value 1-20
- ACCDATA[name] = {
- acct = Q:GetColumn(0):GetULong(), -- (vip column) num value 1-20
- vip = Q:GetColumn(2):GetULong(), -- (vip column) num value 1-20
- votes = Q:GetColumn(3):GetULong(), -- (vote column) total votes count
- mg = Q:GetColumn(4):GetULong(), -- (mg column) total magic gold
- }
- until not Q:NextRow()
- end
- end
- LoadAccDataFromDB()
- function GetAcct(player)
- -- Returns acct or 0
- local name = player:GetAccountName()
- return ACCDATA[name] and ACCDATA[name].acct or 0
- end
- function GetVip(player)
- -- Returns vip or 0
- local name = player:GetAccountName()
- return ACCDATA[name] and ACCDATA[name].vip or 0
- end
- local function Viptest(event, pPlayer, msg, type, language)
- local command = ".vip"
- if (msg == command)then
- local name = pPlayer:GetAccountName()
- print("acctid direct request value")
- print(ACCDATA[name]) -- table that contains the account data
- print(ACCDATA[name].acct) -- accessing data inside the table
- print(ACCDATA[name].vip)
- print(ACCDATA[name].votes)
- print(ACCDATA[name].mg)
- print()
- print("custom function request values")
- print(GetAcct(player))
- print(GetVip(player))
- print()
- print("Alternate way to print contents")
- for k, v in pairs(ACCDATA[name] or {}) do
- print(k, v)
- end
- end
- end
- RegisterServerHook(16, Viptest)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement