Advertisement
Rochet2

Untitled

Dec 14th, 2013
396
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. -- arcemu core using ALE
  2.  
  3. ACCDATA = {} -- Table that contains all data
  4.  
  5. function LoadAccDataFromDB()
  6.     ACCDATA = {} -- For reload case, empty table
  7.     local Q = WorldDBQuery("SELECT acct, login, vip, votes, mg FROM logon.accounts;");
  8.     if(Q)then
  9.         repeat
  10.             -- Save account data under account name in ACCDATA lua table
  11.             local name = Q:GetColumn(1):GetString() -- (vip column) num value 1-20
  12.             ACCDATA[name] = {
  13.                 acct = Q:GetColumn(0):GetULong(), -- (vip column) num value 1-20
  14.                 vip = Q:GetColumn(2):GetULong(), -- (vip column) num value 1-20
  15.                 votes = Q:GetColumn(3):GetULong(), -- (vote column) total votes count
  16.                 mg = Q:GetColumn(4):GetULong(), -- (mg column) total magic gold
  17.             }
  18.         until not Q:NextRow()
  19.     end
  20. end
  21. LoadAccDataFromDB()
  22.  
  23. function GetAcct(player)
  24.     -- Returns acct or 0
  25.     local name = player:GetAccountName()
  26.     return ACCDATA[name] and ACCDATA[name].acct or 0
  27. end
  28.  
  29. function GetVip(player)
  30.     -- Returns vip or 0
  31.     local name = player:GetAccountName()
  32.     return ACCDATA[name] and ACCDATA[name].vip or 0
  33. end
  34.  
  35. local function Viptest(event, pPlayer, msg, type, language)
  36.     local command = ".vip"
  37.     if (msg == command)then
  38.         local name = pPlayer:GetAccountName()
  39.         print("acctid direct request value")
  40.         print(ACCDATA[name]) -- table that contains the account data
  41.         print(ACCDATA[name].acct) -- accessing data inside the table
  42.         print(ACCDATA[name].vip)
  43.         print(ACCDATA[name].votes)
  44.         print(ACCDATA[name].mg)
  45.         print()
  46.         print("custom function request values")
  47.         print(GetAcct(player))
  48.         print(GetVip(player))
  49.         print()
  50.         print("Alternate way to print contents")
  51.         for k, v in pairs(ACCDATA[name] or {}) do
  52.             print(k, v)
  53.         end
  54.     end
  55. end
  56.  
  57. RegisterServerHook(16, Viptest)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement