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

Attempting to save a vector3 value but script is impossible to make!!??

Asked by 6 years ago
Edited 6 years ago

I am trying to make it so that when the player places an object, there will be an instance called SaveRequest, its parent is in

game.Players.LocalPlayer.HiddenStats.ItemPos

and I am trying to save the value and load it when the player joins back in the game but it is LITERALLY IMPOSSIBLE, Someone, come on, please help me D:

local DataStore = game:GetService("DataStoreService"):GetDataStore("ForSnapToGrid")

_G["Inventory"] = {}
game.Players.PlayerAdded:connect(function(player)
    print("Found player")

    local stats = Instance.new("Folder", player)
    stats.Name = "HiddenStats"
    ObjectPos = Instance.new("Folder", stats)
    ObjectPos.Name = "ItemPos"
    local Gold = Instance.new("IntValue", stats)
    Gold.Name = "Item Data Store Name"
    Gold.Value = 0
    local key = "player-"..player.userId

    if game:GetService("RunService"):IsStudio() then

    -- else
    savedValues = DataStore:GetAsync(_G["Inventory"], key)
    print(_G["Inventory"].Value)
    print("Finding saved items")
    if savedValues then
        print("Getting items")
        --Save format: {points, coins}
        Gold.Value = savedValues[1]
        a = 1
        for _, v in pairs(_G["Inventory"]) do
            local newVector3Value = Instance.new("Vector3Value", ObjectPos)
            newVector3Value = Vector3.new(v)
        end
        print("Fetched items")
    else
        print("Making storage")
        local valuesToSave = {Gold.Value, _G["Inventory"]}
        DataStore:SetAsync(key, valuesToSave)
    end

    end
end)



game.Players.PlayerRemoving:connect(function(player)
    for _, v in pairs(ObjectPos:GetChildren()) do
            v.Value = Vector3.new(savedValues[a]) -- Reminder: Since the folder gets emptied when the player leaves, this won't work!
            a = a + 1
            print(a)
            table.insert(_G["Inventory"], v.Value)
    end
    local key = "player-"..player.userId
    for _, v in pairs(_G["Inventory"]) do
        print(Vector3.new(v))
    end
    DataStore:SetAsync(_G["Inventory"], key)
end)

Attempted script ^

And there is no errors :(

0
Line 55. there is an IntValue named "Item Data Store Name" as a child of ItemPos, It won't do anything since it's not a Vector3Value. thesit123 509 — 6y
0
actually it is a child of hidden stats greatneil80 2647 — 6y
0
and I am posting a new script because I figured _G is better greatneil80 2647 — 6y

Answer this question