Module script only shows updated value in a specific function

I’m working on a data handler system in my game, but whenever I update a value in the module, it only shows as upated in the function that updated the value. The first print(PlayerObject)
shows credtis as 2000, but the one at the bottom shows at as 0. Why is this happening?

Server Script

Players.PlayerAdded:Connect(function(Player)
	Player.CharacterAdded:Connect(function(Character)
		local PickAxe = Player.Backpack:FindFirstChildOfClass('Tool')
		task.wait(1)
		Character.Humanoid:EquipTool(PickAxe)
	end)
	
	
	local PlayerObject = dataModule.LoadPlayer(Player)
	PlayerObject:UpdateData(2000)
    print(PlayerObject)
end)


Players.PlayerRemoving:Connect(function()
	
end)


task.wait(10)
local PlayerObject = dataModule.LoadPlayer(Players:FindFirstChild('janpieterkes'))
print(PlayerObject)

Module

local Data = {}
local Players = {}
Data.__index = Data


function Data.LoadPlayer(Player : Player)
	local playerObject = Players[Player.UserId]
	if playerObject then
		return Players[Player.UserId]
	end
	local newPlayer = {}
	setmetatable(newPlayer,Data)
	
	newPlayer.Object = Player
	
	newPlayer.Stats = {}
	newPlayer.Stats.Credits = 0
	newPlayer.Stats.TimePlayed = 0
	newPlayer.Stats.CrystalsCollected = 0
	newPlayer.Stats.DamageDealt = 0
	
	newPlayer.OwnedPickaxes = {}
	newPlayer.OwnedBackpacks = {}
	newPlayer.UsedCodes = {}
	
	newPlayer.EquipedPickaxe = false
	newPlayer.EquipedBackpack = false
	return newPlayer
end


function Data:UpdateData(Value)
	self.Stats.Credits = Value
end


function Data:LoadPlayerStats(DS : da)
	
end



return Data

The printed PlayerObject is a new player object because when you are making the first PlayerObject it doesn’t save to the Players table try adding Players[Player.UserId] = newPlayer to the Data.LoadPlayer function

I feel so stupid now. Thanks for helping me out!

1 Like

No worries don’t feel stupid for missing a line of code

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.