Humanoid script not working

local DataStoreService = game:GetService("DataStoreService")
local strengthStore = DataStoreService:GetDataStore("Strength")
local enduranceStore = DataStoreService:GetDataStore("Endurance")
local wisdomStore = DataStoreService:GetDataStore("Wisdom")
local athleticismStore = DataStoreService:GetDataStore("Athleticism")
game.Players.PlayerAdded:Connect(function(player)
	local leaderstats = Instance.new("Folder",player)
	leaderstats.Name = "leaderstats"
	
	local Strength = Instance.new("IntValue",leaderstats)
	Strength.Name = "Strength"
	Strength.Value = strengthStore:GetAsync(player.UserId) or 0
	
	local Endurance = Instance.new("IntValue",leaderstats)
	Endurance.Name = "Endurance"
	Endurance.Value = enduranceStore:GetAsync(player.UserId) or 0
	
	local Wisdom = Instance.new("IntValue",leaderstats)
	Wisdom.Name = "Wisdom"
	Wisdom.Value = wisdomStore:GetAsync(player.UserId) or 0
	
	local Athleticism = Instance.new("IntValue",leaderstats)
	Athleticism.Name = "Athleticism"
	Athleticism.Value = athleticismStore:GetAsync(player.UserId) or 0
	while wait() do
		player.Character.Humanoid.WalkSpeed = Athleticism.Value/100 + 16
	end
end)

walkspeed remains default

Ever try taking away athleticismStore:GetAsync(player.UserId) and just leaving it as 0? Or you specifically want your script to set up this way?

Tbh you could just use an alternate join script to collect the player’s leaderstats data. Putting outside code such as the While wait() do and etc could be breaking the script.