Advertisement
Prior_

Untitled

Jan 5th, 2018
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.30 KB | None | 0 0
  1. // Love Manolis Vrondakis. @vrondakis
  2. function DarkRPInit()  
  3.         MySQLite.query([[CREATE TABLE IF NOT EXISTS darkrp_levels(
  4.                 uid VARCHAR(32) NOT NULL,
  5.                 level int NOT NULL,
  6.                 xp int NOT NULL,
  7.                 UNIQUE(uid)
  8.             );
  9.         ]])
  10. end
  11. hook.Add("DarkRPDBInitialized", "manolis:MVLevels:DarkRPDBInitializedBB", DarkRPInit)
  12.  
  13. function DarkRP.retrievePlayerLevelXP(ply, callback)
  14.     MySQLite.query("SELECT level,xp FROM darkrp_levels WHERE uid = ".. MySQLite.SQLStr(ply:UniqueID())..";", function(r)callback(r)end)
  15. end
  16.  
  17. function DarkRP.createPlayerLevelData(ply)
  18.     MySQLite.query([[REPLACE INTO darkrp_levels VALUES(]]..MySQLite.SQLStr(ply:UniqueID()) .. [[,'1','0')]])
  19. end
  20.  
  21.  
  22. function DarkRP.retrievePlayerLevelData(ply)
  23.     DarkRP.retrievePlayerLevelXP(ply,function(data)
  24.         if not IsValid(ply) then return end
  25.         local info = data and data[1] or {}
  26.         info.xp = (info.xp or 0)
  27.         info.level = (info.level or 1)
  28.         ply:setDarkRPVar('xp', tonumber(info.xp))
  29.         ply:setDarkRPVar('level', tonumber(info.level))
  30.         if not data then DarkRP.createPlayerLevelData(ply) end
  31.     end)
  32. end
  33.  
  34.  
  35.  
  36. function DarkRP.storeXPData(ply, level, xp)
  37.     xp = math.max(xp,0)
  38.     MySQLite.query("UPDATE darkrp_levels SET level = " ..MySQLite.SQLStr(level) ..", xp = "..MySQLite.SQLStr(xp).." WHERE uid = "..MySQLite.SQLStr(ply:UniqueID()))
  39. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement