Try this instead,
local gui = script.Parent.Parent.StarterGui.TheWholePC.Frame
local DataStoreService = game:GetService("DataStoreService")
local color3 = gui.BackgroundColor3
local DataStore = DataStoreService:GetDataStore("DataStore")
local function convertColor3ToTable(color3)
return {
["R"] = color3.R,
["G"] = color3.G,
["B"] = color3.B,
}
end
local data
local success, whoops = pcall(function()
data = DataStore:GetAsync("BgColor-")
end)
if success then
local savedColor = data
DataStore:SetAsync("BgColor-", convertColor3ToTable(color3))
print("Colors have been saved!")
else
warn("An error occurred:", whoops)
end