Scripting HelpersARCHIVE
A little piece of Roblox history. Preserved for everyone, one question at a time.Read about the archive →
COMMUNITY QUESTION

Accessing a datastore from a module script? [Solved]

So I made a module script for inventories to make it easier for me & I am trying to use datastore in the module script to save & load inventories but when I try to test it it just comes up with the error "DataStore can't be accessed from client". I looked around but I couldn't find anything saying you couldn't access DataStore from a module script but I still don't know why this error comes up, here is the code (without the parts that don't access datastore):

local InventoryMod = {}
    DataStoreService = game:GetService("DataStoreService")
    InventoryStore = DataStoreService:GetDataStore("InventoryDataStore")
    Refresh = game.StarterGui.ScreenGui.Inventory.Refresh
    Inventories = {}
    
    function InventoryMod.LoadInventory(player)
	    Inventories[player.name] = InventoryStore:GetAsync(player.UserId)
		if Inventories[player.name] == nil then
		    Inventories[player.name] = InventoryMod.NewInventory(player)
	    end
	    Refresh:FireClient(player)
    end
    
    function InventoryMod.SaveInventory(player)
	    if Inventories[player.name] ~= nil then
		    InventoryStore:SetAsync(player.UserId, Inventories[player.name])
	    end
    end
    
    function InventoryMod.PlayerLeaving(player)
	    InventoryMod.SaveInventory(player)
	    Inventories[player.name] = nil
    end
    
    return InventoryMod

BTW Refresh is the remote event that I use to tell the inventory GUI script to refresh & InventoryMod.NewInventory is the function to make a new inventory with some items.

1 answer

Never mind I found out that it was giving me the error because I was requiring the module script in a local script so the error was coming from it thinking that I was trying to access datastore in the local script through the module script.

This discussion is preserved as it was. New answers, comments, and votes are closed.