Advertisement
Guest User

Untitled

a guest
Jul 1st, 2016
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.56 KB | None | 0 0
  1. require ("mysqloo") // Include the modules
  2.  
  3. local DATABASE_HOST = "localhost" // database host (can be an ip)
  4. local DATABASE_PORT = 3306 // port to the database, you probably wont need to change this unless you get told to
  5. local DATABASE_NAME = "stalkerrp" // name of the database
  6. local DATABASE_USERNAME = "root" // username which you use to access it
  7. local DATABASE_PASSWORD = "" // password of the username
  8.  
  9.  
  10. function connectToDatabase()
  11. databaseObject = mysqloo.connect(DATABASE_HOST, DATABASE_USERNAME, DATABASE_PASSWORD, DATABASE_NAME, DATABASE_PORT)
  12. databaseObject.onConnected = function() print("Database linked!") end
  13. databaseObject.onConnectionFailed = function() print("Failed to connect to the database.") end
  14. databaseObject:connect()
  15. end
  16.  
  17. connectToDatabase()
  18.  
  19. function checkQuery(query)
  20. local playerInfo = query:getData()
  21. if playerInfo[1] ~= nil then
  22. return true
  23. else
  24. return false
  25. end
  26. end
  27.  
  28. function PLAYER:GetPData(key)
  29. local retVal = nil
  30. local id = self:UniqueID()
  31. local key = key
  32.  
  33. MsgN("PData [SQL -> MySQL]: Getting '" .. key .. "' for '" .. id .. "' !")
  34.  
  35. local insertQ = databaseObject:query("SELECT `vvalue` from `players` WHERE `uniqueid` = " .. id .. " AND `vkey` = '" .. key .. "'");
  36. insertQ:start()
  37. insertQ:wait()
  38. local succesQ = insertQ:getData()
  39. retVal = succesQ[1] or nil
  40. if istable(retVal) then retVal = retVal["vvalue"] end
  41. return retVal
  42. end
  43.  
  44. function PLAYER:SetPData(key, value)
  45. -- Don't keep it local why would you keep it local you're globalizing the system for a reason
  46. local rvalue = value
  47. local id = self:UniqueID()
  48. local key = sql.SQLStr(key)
  49. local value = sql.SQLStr(value)
  50. MsgN("PData [SQL -> MySQL]: Updating '" .. key .. "' for '" .. id .. "' with '" .. tostring(value) .. "'!")
  51.  
  52. MsgN("PData [SQL -> MySQL]: Removing data-table '" .. key .. "' for '" .. id .. "' with '" .. tostring(value) .. "'!")
  53.  
  54. local deleteQ = databaseObject:query("DELETE FROM `players` WHERE `uniqueid` = " .. id .. " AND `vkey` = " .. key .. "")
  55. deleteQ.onError = DBError
  56. deleteQ:start()
  57.  
  58. if rvalue != nil and rvalue != "nil" then
  59.  
  60. MsgN("PData [SQL -> MySQL]: Creating key '" .. key .. "' for '" .. id .. "' with '" .. tostring(value) .. "'!")
  61.  
  62. local insertQ = databaseObject:query("INSERT INTO `players` (`uniqueid`, `vkey`, `vvalue`) VALUES (" .. id .. ", " .. key .. ", " .. value .. ")")
  63. insertQ.onError = DBError
  64. insertQ:start()
  65. end
  66. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement