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.
