How should I store player data

Im trying to store player datas (like tables [Player1] = {money = 1}) to be used across different scripts.

However, im not very experienced in OOP and it could cause some issues.

I’ven thinking of just doing it like Module[plr] or Module:GetPlayerTable(plr), but I want to know what the best way of doing it might be.

Yeah, I think you’re right, a moduleScript would probably be the best for a money system, or any system used across multiple scripts for that matter.

what is OOP
aedfewg ay4grrewtgeaEWygh JTXANCHAQXWREsADRBHJ

OOP is object oriented programming, think class:new() or class.set()

My favorite way for synchronized values is using Value-type objects like NumberValue or StringValue. If you create a Configuration in the Player object when they join and put value objects in it, it is far easier to use.
NumberValue | Documentation - Roblox Creator Hub
List of value objects:
image

The reason I think it is easier is because of the Changed event. This event allows server and client scripts alike to act immediately when the value changes.
One important thing to remember is that only the server should be changing the value if they are synchronized. That is because if the client does it, it will only be different for that client.