local TeleportService = game:GetService("TeleportService")
local SaveCurrency = game:GetService("DataStoreService"):GetDataStore("Rounds")
local SaveCurrency2 = game:GetService("DataStoreService"):GetDataStore("Wins")
local SavesCurrency3 = game:GetService("DataStoreService"):GetDataStore("Coins")
local SavesCurrency4 = game:GetService("DataStoreService"):GetDataStore("Lives")
local SaveRole = game:GetService("DataStoreService"):GetDataStore("Role")
local SaveTags = game:GetService("DataStoreService"):GetDataStore("Tag")
game.Players.PlayerAdded:Connect(function(player)
local Folder = Instance.new("Folder",player)
Folder.Name = "leaderstats"
local Currency = Instance.new("NumberValue",Folder)
Currency.Name = "Rounds"
Currency.Value = SaveCurrency:GetAsync(player.UserId) or 0
local Currency2 = Instance.new("NumberValue",Folder)
Currency2.Name = "Wins"
Currency2.Value = SaveCurrency2:GetAsync(player.UserId) or 0
local Currency3 = Instance.new("NumberValue",player)
Currency3.Name = "Coins"
Currency3.Value = SavesCurrency3:GetAsync(player.UserId) or 0
local Currency4 = Instance.new("NumberValue",player)
Currency4.Name = "Lives"
Currency4.Value = SavesCurrency4:GetAsync(player.UserId) or 0
end)
game.Players.PlayerRemoving:Connect(function(player)
SaveCurrency:SetAsync(player.UserId,player.leaderstats.Rounds.Value)
SaveCurrency2:SetAsync(player.UserId,player.leaderstats.Wins.Value)
SavesCurrency3:SetAsync(player.UserId,player.Coins.Value)
SavesCurrency4:SetAsync(player.UserId,player.Lives.Value)
end)
game.Players.PlayerAdded:Connect(function(player)
local PreviousData = SaveTags:GetAsync(player.UserId)
local Tag
local previousData2 = SaveRole:GetAsync(player.UserId)
local Role
if PreviousData ~= nil then
Tag = PreviousData
else
Tag = player.Tag.Value
end
if previousData2 ~= nil then
Role = previousData2
else
Role = player.Role.Value
end
local TagValue = Instance.new("StringValue", player)
TagValue.Name = "Tag"
TagValue.Value = Tag
local RoleValue = Instance.new("StringValue", player)
RoleValue.Name = "Role"
RoleValue.Value = Role
end)
game:BindToClose(function()
for i,player in pairs(game.Players:GetPlayers()) do
local value = player.Tag.Value
SaveTags:SetAsync(player.UserId, value)
local value2 = player.Role.Value
SaveRole:SetAsync(player.UserId, value2)
print("Saved data for "..player.Name)
end
end)
game.Players.PlayerRemoving:Connect(function(player)
local value = player.Tag.Value
local value2 = player.Role.Value
if value ~= nil then
print("Found data to save for "..player.Name.."!")
SaveTags:SetAsync(player.UserId, value)
SaveRole:SetAsync(player.UserId, value2)
print("Saved data for "..player.Name)
else
print("Did not manage to find data to save for "..player.Name.."!")
end
end)