ScriptreMooCow

MissionDatabase

Jun 5th, 2019
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.50 KB | None | 0 0
  1. local MISSION_DATABASE = {}
  2. local DataStore2 = require(1936396537)
  3. local table = require(game.ReplicatedStorage.ModuleScripts.table)
  4. local status = nil
  5. local mission_store = nil
  6. local MISSION_DATA = nil -- @datatype Map
  7.  
  8. function MISSION_DATABASE.new(player)
  9.     mission_store = DataStore2("missionData", player)
  10.     MISSION_DATA = { --this is the value that gets stored
  11.         quests = {},
  12.         campaign_missions = {},
  13.         status = {
  14.             ["inactive"] = "inactive",
  15.             ["completed"] = "completed",
  16.             ["cancelled"] = "cancelled",
  17.             ["in_progress"] = "inprogress"
  18.             }
  19.     }
  20. end
  21.  
  22. function MISSION_DATABASE.get_quests()
  23.     return mission_store:GetTable(MISSION_DATA.quests)
  24. end
  25.  
  26. function MISSION_DATABASE.get_campaign_missions()
  27.     return mission_store:GetTable(MISSION_DATA.campaign_missions)
  28. end
  29.  
  30. function MISSION_DATABASE.update_quests(quest, status)
  31.     status = status:lower()
  32.     if not MISSION_DATA.status[status] then error "status does not exist" return end
  33.     mission_store:Update(
  34.             function(OLD_MISSION_DATA)
  35.                 OLD_MISSION_DATA.quests[quest] = quest
  36.                 OLD_MISSION_DATA.quests[quest].status = status
  37.             end)
  38. end
  39.  
  40. function MISSION_DATABASE.update_campaign_missions(mission, status)
  41.     status = status:lower()
  42.     if not MISSION_DATA.status[status] then error "status does not exist" return end
  43.     mission_store:Update(
  44.             function(OLD_MISSION_DATA)
  45.                 OLD_MISSION_DATA.campaign_missions[mission] = mission
  46.                 OLD_MISSION_DATA.campaign_missions[mission].status = status
  47.             end)
  48. end
  49.  
  50. return MISSION_DATABASE
Advertisement
Add Comment
Please, Sign In to add comment