CCCPaste

My SaveRoles Leaderstats Main Game

local TeleportService = game:GetService("TeleportService")
local SaveRoles = game:GetService("DataStoreService"):GetDataStore("Role")

game.Players.PlayerAdded:Connect(function(player)
	
	local  Role = Instance.new("StringValue", player)
	Role.Name = "Role"
	Role.Value = player.Role.Value
	
	if player:WaitForChild("Role").Value >= "Default" then
		player:WaitForChild("Role").Value = "Default"
	elseif player:WaitForChild("Role").Value == "Athlete" then
		player:WaitForChild("Role").Value = "Athlete"
	elseif player:WaitForChild("Role").Value == "Super Protector" then
		player:WaitForChild("Role").Value = "Super Protector"
	elseif player:WaitForChild("Role").Value == "Delivery" then
		player:WaitForChild("Role").Value = "Delivery"
		game.ServerStorage.SavedTools:WaitForChild("PizzaBox"):Clone().Parent = player.Backpack
	end
	
end)

game:BindToClose(function()
	for i,player in pairs(game.Players:GetPlayers()) do
		local value = player.Role.Value
		SaveRoles:SetAsync(player.UserId, value)
		print("Saved data for "..player.Name)
	end
end)

game.Players.PlayerRemoving:Connect(function(player)
	local value = player.Role.Value

	if value ~= nil then
		print("Found data to save for "..player.Name.."!")
		SaveRoles:SetAsync(player.UserId, value)
		print("Saved data for "..player.Name)
	else
		print("Did not manage to find data to save for "..player.Name.."!")
	end
end)