The function LoadData(Player, Character) works fine when the player joins, but not when the player respawns. Any idea why?
Function:
-- Load function
local function LoadData(Player, Character)
local key = Player.UserId
local data
local success, err = pcall(function()
data = DataStore:GetAsync(key)
end)
if success and data then
Player.Droids.Owned.Value = data[1]
if Player.Droids.Owned.Value == true then
local NewDroid = ReplicatedStorage.Droids:FindFirstChild(tostring(data[2][1])):Clone()
for i,primary in (NewDroid.Body.Primary:GetChildren()) do
primary.Color = Color3.fromRGB(data[2][2], data[2][3], data[2][4])
end
for i,secondary in (NewDroid.Body.Secondary:GetChildren()) do
secondary.Color = Color3.fromRGB(data[2][5], data[2][6], data[2][7])
end
for i,tertiary in (NewDroid.Body.Tertiary:GetChildren()) do
tertiary.Color = Color3.fromRGB(data[2][8], data[2][9], data[2][10])
end
NewDroid.DroidName.Value = tostring(data[2][11])
NewDroid.Parent = Character
NewDroid.HumanoidRootPart.CFrame = Character.HumanoidRootPart.CFrame * CFrame.new(-5, 0, 0)
end
print("Data loaded: " .. Player.Name)
end
end
Character added:
game.Players.PlayerAdded:Connect(function(Player)
local Character = Player.CharacterAdded:Wait()
local DroidModel
LoadData(Player, Character)
Player.CharacterAdded:Connect(function()
LoadData(Player, Character)
end)
Credits.Changed:Connect(function()
for i,v in pairs(DroidModule) do
if Character:FindFirstChild(v.Title) then
DroidModel = Character:FindFirstChild(v.Title)
end
end
SaveData(Player, Character, DroidModel)
end)
end)