Advertisement
Guest User

Untitled

a guest
Jun 16th, 2017
167
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.61 KB | None | 0 0
  1. -- NO TOUCHY, IF SOMETHING IS WRONG CONTACT KANERSPS! --
  2. -- NO TOUCHY, IF SOMETHING IS WRONG CONTACT KANERSPS! --
  3. -- NO TOUCHY, IF SOMETHING IS WRONG CONTACT KANERSPS! --
  4. -- NO TOUCHY, IF SOMETHING IS WRONG CONTACT KANERSPS! --
  5.  
  6. -- Constructor
  7. Player = {}
  8. Player.__index = Player
  9.  
  10. -- Meta table for users
  11. setmetatable(Player, {
  12. __call = function(self, source, permission_level, money, bank, identifier, group)
  13. local pl = {}
  14.  
  15. pl.source = source
  16. pl.permission_level = permission_level
  17. pl.money = money
  18. pl.bank = bank
  19. pl.identifier = identifier
  20. pl.group = group
  21. pl.coords = {x = 0.0, y = 0.0, z = 0.0}
  22. pl.session = {}
  23.  
  24. return setmetatable(pl, Player)
  25. end
  26. })
  27.  
  28. -- Getting permissions
  29. function Player:getPermissions()
  30. return self.permission_level
  31. end
  32.  
  33. -- Setting them
  34. function Player:setPermissions(p)
  35. TriggerEvent("es:setPlayerData", self.source, "permission_level", p, function(response, success)
  36. self.permission_level = p
  37. end)
  38. end
  39.  
  40. -- Set bank balance
  41. function Player:setBankBalance(a)
  42. TriggerEvent("es:setPlayerData", self.source, "bank", a, function(response, success)
  43. self.bank = a
  44. end)
  45. end
  46.  
  47. -- No need to ever call this (No, it doesn't teleport the player)
  48. function Player:setCoords(x, y, z)
  49. self.coords.x, self.coords.y, self.coords.z = x, y, z
  50. end
  51.  
  52. -- Kicks a player with specified reason
  53. function Player:kick(reason)
  54. DropPlayer(self.source, reason)
  55. end
  56.  
  57. -- Sets the player money (required to call this from now)
  58. function Player:setMoney(m)
  59. local prevMoney = self.money
  60. local newMoney : double = m
  61.  
  62. self.money = m
  63.  
  64. if((prevMoney - newMoney) < 0)then
  65. TriggerClientEvent("es:addedMoney", self.source, math.abs(prevMoney - newMoney))
  66. else
  67. TriggerClientEvent("es:removedMoney", self.source, math.abs(prevMoney - newMoney))
  68. end
  69.  
  70. TriggerClientEvent('es:activateMoney', self.source , self.money)
  71. end
  72.  
  73. -- Adds to player money (required to call this from now)
  74. function Player:addMoney(m)
  75. local newMoney : double = self.money + m
  76.  
  77. self.money = newMoney
  78.  
  79. TriggerClientEvent("es:addedMoney", self.source, m)
  80. TriggerClientEvent('es:activateMoney', self.source , self.money)
  81. end
  82.  
  83. -- Removes from player money (required to call this from now)
  84. function Player:removeMoney(m)
  85. local newMoney : double = self.money - m
  86.  
  87. self.money = newMoney
  88.  
  89. TriggerClientEvent("es:removedMoney", self.source, m)
  90. TriggerClientEvent('es:activateMoney', self.source , self.money)
  91. end
  92.  
  93. -- Player session variables
  94. function Player:setSessionVar(key, value)
  95. self.session[key] = value
  96. end
  97.  
  98. function Player:getSessionVar(key)
  99. return self.session[key]
  100. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement