This is what I'm using to save, which appears to work pretty quickly & doesn't respond with any kind of error
local OwnData = DataStoreService:GetDataStore(Player.UserId.."-".."OCChar") or {}
local Table = {
Data1aa = CPrim.r;
Data1ab = CPrim.g;
Data1ac = CPrim.b;
Data1ba = CSec.r;
Data1bb = CSec.g;
Data1bc = CSec.b;
Data1ca = CTert.r;
Data1cb = CTert.g;
Data1cc = CTert.b;
Data1da = CQuat.r;
Data1db = CQuat.g;
Data1dc = CQuat.b;
Data1ea = CEye.r;
Data1eb = CEye.g;
Data1ec = CEye.b;
Data1fa = CHair.r;
Data1fb = CHair.g;
Data1fc = CHair.b;
Data1ga = CKi.r;
Data1gb = CKi.g;
Data1gc = CKi.b;
Data1ha = CSkin.r;
Data1hb = CSkin.g;
Data1hc = CSkin.b;
Data2a = Face;
Data2b = Torso;
Data2c = LArm;
Data2d = LLeg;
Data2e = RArm;
Data2f = RLeg;
Data2g = Hair;
Data3a = Attack1;
Data3b = Attack2;
Data3c = Attack3;
Data3d = Attack4;
Data3e = Attack5;
Data3f = Attack6;
Data3g = Attack7;
Data3h = Attack8;
Data3i = Attack9;
Data3j = Attack10;
Data3k = Attack11;
Data3l = Attack12;
Data3m = Attack13;
Data3n = Attack14;
Data3o = Attack15;
Data3p = Attack16;
Data3q = Attack17;
Data3r = Attack18;
Data4a = Form1;
Data4b = Form2;
Data4c = Form3;
Data4d = Form4;
Data4e = Form5;
Data4f = Form6;
Data5a = FormH1;
Data5b = FormH2;
Data5c = FormH3;
Data5d = FormH4;
Data5e = FormH5;
Data5f = FormH6;
}
local success,errormessage = pcall(function()
script.Parent.Parent.Visible = false
OwnData:SetAsync(Player.UserId.."-".."OCChar", Table)
script.Parent.Parent.Visible = true
local Val = Instance.new("StringValue")
Val.Parent = script.Parent.Parent
Val.Name = "SAVED"
end)
if success then
print("Stats saved!")
else
print("ERROR: Stat save unsuccessful!")
warn(errormessage)
end
However when it comes to loading this & trying to get the data out, it becomes nil or the value that was already preset (i.e. for color3 0,0,0):
local OwnData = DataStoreService:GetDataStore(Player.UserId.."-".."OCChar") or {}
local success,errormessage = pcall(function()
script.Parent.Parent.Visible = false
local success, dictionary = pcall(OwnData:GetAsync(Player.UserId.."-".."OCChar"))
local A = dictionary.Data1aa
local A2 = dictionary.Data1ab
local A3 = dictionary.Data1ac
local B = dictionary.Data1ba
local B2 = dictionary.Data1bb
local B3 = dictionary.Data1bc
local C = dictionary.Data1ca
local C2 = dictionary.Data1cb
local C3 = dictionary.Data1cc
local D = dictionary.Data1da
local D2 = dictionary.Data1db
local D3 = dictionary.Data1dc
local E = dictionary.Data1ga
local E2 = dictionary.Data1gb
local E3 = dictionary.Data1gc
local G = dictionary.Data2b
local H = dictionary.Data2c
local I = dictionary.Data2d
local J = dictionary.Data2e
local K = dictionary.Data2f
local L = dictionary.Data3a
local L2 = dictionary.Data3b
local L3 = dictionary.Data3c
local L4 = dictionary.Data3d
local L5 = dictionary.Data3e
local L6 = dictionary.Data3f
local L7 = dictionary.Data3g
local L8 = dictionary.Data3h
local L9 = dictionary.Data3i
local L10 = dictionary.Data3j
local L11 = dictionary.Data3k
local L12 = dictionary.Data3l
local L13 = dictionary.Data3m
local L14 = dictionary.Data3n
local L15 = dictionary.Data3o
local L16 = dictionary.Data3p
local L17 = dictionary.Data3q
local L18 = dictionary.Data3r
local M = dictionary.Data4a
local M2 = dictionary.Data4b
local M3 = dictionary.Data4c
local M4 = dictionary.Data4d
local M5 = dictionary.Data4e
local M6 = dictionary.Data4f
local Mb = dictionary.Data5a
local M2b = dictionary.Data5b
local M3b = dictionary.Data5c
local M4b = dictionary.Data5d
local M5b = dictionary.Data5e
local M6b = dictionary.Data5f
local N = dictionary.Data2a
local O = dictionary.Data1ha
local O2 = dictionary.Data1hb
local O3 = dictionary.Data1hc
local Q = dictionary.Data1fa
local Q2 = dictionary.Data1fb
local Q3 = dictionary.Data1fc
local R = dictionary.Data1ea
local R2 = dictionary.Data1eb
local R3 = dictionary.Data1ec
local S = dictionary.Data2g
--[[--------------------------------------------------------------------------------------]]
--[[--------------------------------------------------------------------------------------]]
--[[--------------------------------------------------------------------------------------]]
if Player:WaitForChild("StandStuff").Colours.Primary:FindFirstChild("Value") then
Player:WaitForChild("StandStuff").Colours.Primary:FindFirstChild("Value"):Destroy()
local Val = Instance.new("Color3Value",Player.StandStuff.Colours.Primary)
local num1 = A
local num2 = A2
local num3 = A3
Val.Value = Color3.new(num1,num2,num3)
Val.Name = "Value"
else
local Val = Instance.new("Color3Value",Player.StandStuff.Colours.Primary)
local num1 = A
local num2 = A2
local num3 = A3
Val.Value = Color3.new(num1,num2,num3)
Val.Name = "Value"
print(Val.Value)
end
