Guest User

Untitled

a guest
Nov 24th, 2017
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.38 KB | None | 0 0
  1. /*---------------------------------------------------------
  2. Leveling system
  3. ----------------------------------------------------------*/
  4.  
  5. function saveStat ( ply )
  6. level = ply:GetNWInt("level")
  7. currentxp = ply:GetNWInt("currentxp")
  8. unique_id = ply:GetNWString ("steamID")
  9. levelxp = ply:GetNWInt ("levelxp")
  10.  
  11. DB.Query("UPDATE darkrp_level SET level = "..level.." WHERE unique_id = '"..unique_id.."'")
  12. DB.Query("UPDATE darkrp_level SET currentxp = "..currentxp.." WHERE unique_id = '"..unique_id.."'")
  13. --ply:ChatPrint("Stats updated!\n")
  14. end
  15.  
  16.  
  17. function checkifLeveled( ply )
  18. ply:GetNWInt("currentxp", currentxp)
  19. ply:GetNWInt("levelxp", levelxp)
  20. ply:GetNWInt("level", level)
  21. if (currentxp >= levelxp) then
  22. ply:SetNWInt("level", level+1)
  23. ply:SetNWInt("currentxp", 0)
  24. DB.QueryValue("SELECT levelxp FROM darkrp_xpforlevel WHERE level = " .. sql.SQLStr(level+1) .. ";", function(lvlxp)
  25. if lvlxp then
  26. ply:SetNWInt("levelxp", lvlxp)
  27. end
  28. end)
  29. end
  30. end
  31.  
  32. function load_stats ( ply )
  33.  
  34. DB.QueryValue("SELECT level FROM darkrp_level WHERE unique_id = " .. sql.SQLStr(ply:SteamID()) .. ";", function(lvl)
  35. if lvl then
  36. Msg("Loading Stats!\n")
  37.  
  38. ply:SetNWInt("level", lvl)
  39. DB.QueryValue("SELECT currentxp FROM darkrp_level WHERE unique_id = " .. sql.SQLStr(ply:SteamID()) .. ";", function(currxp)
  40. if currxp then
  41. ply:SetNWInt("currentxp", currxp)
  42. end
  43. end)
  44.  
  45. DB.QueryValue("SELECT levelxp FROM darkrp_xpforlevel WHERE level = " .. sql.SQLStr(lvl) .. ";", function(lvlxp)
  46. if lvlxp then
  47. ply:SetNWInt("levelxp", lvlxp)
  48. end
  49. end)
  50.  
  51. else
  52. Msg("Player Doesnt exist!\n")
  53. DB.Query( "INSERT INTO darkrp_level (`unique_id`, `level`)VALUES (" .. sql.SQLStr(ply:SteamID()) .. ", '1');", function(r) end)
  54. ply:SetNWInt("level", 1)
  55. ply:SetNWInt("currentxp", 1)
  56. ply:SetNWInt("levelxp", 2500)
  57. end
  58. end)
  59. end
  60.  
  61. function PlayerInitialSpawn( ply )
  62. timer.Create("Steam_id_delay", 5, 1, function()
  63. steamID = ply:SteamID()
  64. ply:SetNWString("steamID", steamID)
  65. timer.Create("SaveStat", 10, 0, function() saveStat( ply ) end)
  66. timer.Create("checkifLeveled", 10, 0, function() checkifLeveled( ply ) end)
  67. load_stats( ply )
  68. end)
  69. end
  70.  
  71. hook.Add( "PlayerInitialSpawn", "PlayerInitialSpawn", PlayerInitialSpawn )
  72.  
  73. hook.Add( "PlayerDisconnected", "playerdisconnected", saveStat )
Add Comment
Please, Sign In to add comment