Ah I see the problem
You’re using ds:GetAsync in the player removing function instead of ds:SetAsync, change that.
Also if player doesn’t have data when they joined then don’t use ds:GetAsync(), supply default values for each of the save value objects