Advertisement
HowToRoblox

MarkersServer

Apr 30th, 2022
1,897
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.39 KB | None | 0 0
  1. local dss = game:GetService("DataStoreService")
  2. local ds = dss:GetDataStore("MarkersDataStore")
  3.  
  4.  
  5. function saveData(plr)
  6.    
  7.     local markersClaimed = {}
  8.    
  9.     for i, marker in pairs(plr.MarkersClaimed:GetChildren()) do
  10.        
  11.         table.insert(markersClaimed, marker.Name)
  12.     end
  13.    
  14.     pcall(function()
  15.         ds:SetAsync(plr.UserId, markersClaimed)
  16.     end)
  17. end
  18.  
  19.  
  20. game.Players.PlayerAdded:Connect(function(plr)
  21.    
  22.     local markersFolder = Instance.new("Folder", plr)
  23.     markersFolder.Name = "MarkersClaimed"
  24.    
  25.     local data = nil
  26.    
  27.     pcall(function()
  28.         data = ds:GetAsync(plr.UserId)
  29.     end)
  30.    
  31.     if data then
  32.         for i, marker in pairs(data) do
  33.            
  34.             local value = Instance.new("StringValue")
  35.             value.Name = marker
  36.             value.Parent = markersFolder
  37.         end
  38.     end
  39. end)
  40.  
  41.  
  42. game.Players.PlayerRemoving:Connect(saveData)
  43.  
  44. game:BindToClose(function()
  45.    
  46.     for i, plr in pairs(game.Players:GetPlayers()) do
  47.        
  48.         saveData(plr)
  49.     end
  50. end)
  51.  
  52.  
  53. for i, marker in pairs(workspace.Markers:GetChildren()) do
  54.    
  55.     marker.PrimaryPart.Touched:Connect(function(part)
  56.        
  57.         if game.Players:GetPlayerFromCharacter(part.Parent) then
  58.            
  59.             if not game.Players:GetPlayerFromCharacter(part.Parent).MarkersClaimed:FindFirstChild(marker.Name) then
  60.                
  61.                 local value = Instance.new("StringValue")
  62.                 value.Name = marker.Name
  63.                 value.Parent = game.Players:GetPlayerFromCharacter(part.Parent).MarkersClaimed
  64.             end
  65.         end
  66.     end)
  67. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement