Advertisement
Alscara

achievements.lua

Jun 19th, 2015
519
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.00 KB | None | 0 0
  1. achievements = {
  2.     ["50kpots"] = {storage = 60001, value = 50000, points = 2, secret = false, name = "The Thirst Is Real", description = "Consume 50000 potions."},
  3.     ["demonset"] = {storage = 60002, value = 1, points = 5, secret = false, name = "Demonized", description = "Craft a demon helmet, demon armor, demon legs and demon shield."},
  4. }
  5.  
  6. local pointsStorage = 60000
  7.  
  8. function Player.getAchievements(self)
  9.     local t = {}
  10.     for key, value in pairs(achievements) do
  11.         if self:getStorageValue(achievements[key].storage) >= achievements[key].value and not achievements[a].secret then
  12.             t[value] = key
  13.         end
  14.     end
  15.     return t
  16. end
  17.  
  18. function Player.getAchievementStatus(self, a)
  19.     if self:getStorageValue(achievements[a].storage) < 0 then
  20.         self:setStorageValue(achievements[a].storage, 0)
  21.     end
  22.     return self:getStorageValue(achievements[a].storage)
  23. end
  24.  
  25. function Player.setAchievementStatus(self, a, value)
  26.     return self:setStorageValue(achievements[a].storage, value)
  27. end
  28.  
  29. function Player.addAchievementStatus(self, a, value)
  30.     if self:getAchievementStatus(a) + value == achievements[a].value then
  31.         return self:addAchievement(a)
  32.     else
  33.         return self:setAchievementStatus(a, self:getAchievementStatus(a) + value)
  34.     end
  35. end
  36.  
  37. function Player.addAchievement(self, a)
  38.     return self:setStorageValue(achievements[a].storage, achievements[a].value), self:addAchievementPoints(achievements[a].points), self:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You have unlocked the achievement \"" .. achievements[a].name .. "\"")
  39. end
  40.  
  41. function Player.getAchievementPoints(self)
  42.     return self:getStorageValue(pointsStorage)
  43. end
  44.  
  45. function Player.addAchievementPoints(self, points)
  46.     return self:setStorageValue(pointsStorage, self:getStorageValue(pointsStorage) + points)
  47. end
  48.  
  49. function Player.removeAchievementPoints(self, points)
  50.     return self:setStorageValue(pointsStorage, self:getStorageValue(pointsStorage) - points)
  51. end
  52.  
  53. function Player.setAchievementPoints(self, points)
  54.     return self:setStorageValue(pointsStorage, points)
  55. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement