Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
0

Loading DataStore value to a StringValue?

Asked by 6 years ago

Hi all,

I'm new to using DataStoreService. I'm having an issue where I'm unable to set a StringValue's Value to the data loaded from a DataStore. I'm probably being exceedingly stupid here, but I can't figure it out. The function is being called correctly via pcall at the end of the definition.

coroutine.resume(coroutine.create(function ()
    game.Players.PlayerAdded:connect(function(player)

    local function getData()
    local uid = player.UserId
    local DataStoreService = game:GetService("DataStoreService")
    local FirstName = DataStoreService:GetDataStore("FirstName")
    local LastName = DataStoreService:GetDataStore("LastName")
    local dobs = DataStoreService:GetDataStore("DOBs")
    local charSlot1 = DataStoreService:GetDataStore("Char1")
    fstr = FirstName:GetAsync(uid)

    local cg = Instance.new("BoolValue")
    cg.Parent = player
    cg.Name = "hasChar"
    cg.Value = charSlot1:GetAsync(uid) --this works

    local g = Instance.new("StringValue")
    g.Parent = player
    g.Name = "fname"
    g.Value = fstr --and this doesnt?

Output: http://prntscr.com/iif5cy

Any help would be greatly appreciated.

0
this is saying that your FirstName variable is not returning anything. The player's id (uid) I suppose is a key in the datastore, but you have not set a value to that key. Legoman654 100 — 6y
0
@Legoman How can I catch this error so it will load something like "Blank" if there's nothing to load? Riley_Johnson 0 — 6y
0
g.Value = fstr or "Blank" . This will make it "Blank" if fstr doesn't exist UgOsMiLy 1074 — 6y
0
You should not be getting a new data store for each value you are trying to save User#5423 17 — 6y

Answer this question