Here's the code for when a player enters:

nensaves = game:GetService("DataStoreService"):GetDataStore("NenCharacterSaves")

game.Players.PlayerAdded:connect(function(plr)
	local playerkey = "user_"..plr.userId
	
	
	local SaveOne = Instance.new("StringValue",plr)
	SaveOne.Name = "Save1"
	
	local statsz = Instance.new("IntValue")
	statsz.Name = "leaderstats"
	statsz.Parent = plr
	
	local RunSpeed = Instance.new("NumberValue",SaveOne)
	RunSpeed.Name = "RunSpeed"
	RunSpeed.Value = "45"
	
	local CharaHealth = Instance.new("NumberValue",SaveOne)
	CharaHealth.Name = "Health"
	CharaHealth.Value = "100"
	
	local NenMastery = Instance.new("NumberValue",SaveOne)
	NenMastery.Name = "NenMastery"
	NenMastery.Value = "0"
	
	local Strength = Instance.new("NumberValue",SaveOne)
	Strength.Name = "Strength"
	Strength.Value = "0"
	
	local NenCapacity = Instance.new("NumberValue",SaveOne)
	NenCapacity.Name = "NenCapacity"
	NenCapacity.Value = "100"
	
	local Jenny = Instance.new("NumberValue",SaveOne)
	Jenny.Name = "Jenny"
	Jenny.Value = "0"
	
	local Enhancer = Instance.new("NumberValue",SaveOne)
	Enhancer.Name = "Enhancer"
	Enhancer.Value = "1"
	
	local Transmuter = Instance.new("NumberValue",SaveOne)
	Transmuter.Name = "Transmuter"
	Transmuter.Value = "1"
	
	local Conjurer = Instance.new("NumberValue",SaveOne)
	Conjurer.Name = "Conjurer"
	Conjurer.Value = "1"
	
	local Manipulator = Instance.new("NumberValue",SaveOne)
	Manipulator.Name = "Manipulator"
	Manipulator.Value = "1"
	
	local Emitter = Instance.new("NumberValue",SaveOne)
	Emitter.Name = "Emitter"
	Emitter.Value = "1"
	
	local Specialist = Instance.new("NumberValue",SaveOne)
	Specialist.Name = "Specialist"
	Specialist.Value = "1"
	
	local DailyBonus = Instance.new("NumberValue",SaveOne)
	DailyBonus.Name = "DailyBonus"
	DailyBonus.Value = "0"
	
	local Rank = Instance.new("StringValue",statsz)
	Rank.Name = "Rank"
	Rank.Value = "Trainee"
	
	
	
-- 
	
	if nensaves:GetAsync(playerkey) then
    	local statsload = SaveOne:GetChildren()
	for i = 1, #statsload do			
	statsload[i].Value = nensaves:GetAsync(statsload[i].Name)
	
	end
	end
	
  
	
	
end)

And when they leave:

nensaves = game:GetService("DataStoreService"):GetDataStore("NenCharacterSaves")

game.Players.PlayerRemoving:connect(function(plr)
	
	
	
	
	
	
	
    	local statstorage = plr:FindFirstChild("Save1"):GetChildren()
for i = 1, #statstorage do
	nensaves:SetAsync(statstorage[i].Name, statstorage[i].Value)

	
end
print("saved 'em")	
end)

For some reason, the stats will not save. Everything else works fine. I've already checked to make sure that DataStores were enabled on the game's page.