1. I'm coding a plugin that is able to store and load data.

    The plugin is successfully able to store the required data, and it can be loaded/modified/saved as intended while the server is running. As soon as I restart my server and it loads the plugin, I see an error like this:

    Code:
    [Oxide] 6:45 PM [Error] Failed to initialize plugin 'Admin v1.0.0'
    attempt to index a nil value:
      at NLua.Lua.ThrowExceptionFromError (Int32 oldTop) [0x00000] in <filename unkn
    own>:0
      at NLua.Lua.CallFunction (System.Object function, System.Object[] args, System
    .Type[] returnTypes) [0x00000] in <filename unknown>:0
      at NLua.Lua.CallFunction (System.Object function, System.Object[] args) [0x000
    00] in <filename unknown>:0
      at NLua.LuaFunction.Call (System.Object[] args) [0x00000] in <filename unknown
    >:0
      at Oxide.Ext.Lua.Plugins.LuaPlugin.OnCallHook (System.String hookname, System.
    Object[] args) [0x00000] in <filename unknown>:0
      at Oxide.Ext.Lua.Plugins.LuaPlugin.HandleAddedToManager (Oxide.Core.Plugins.Pl
    uginManager manager) [0x00000] in <filename unknown>:0
      at Oxide.Core.Plugins.PluginManager.AddPlugin (Oxide.Core.Plugins.Plugin plugi
    n) [0x00000] in <filename unknown>:0
      at Oxide.Core.OxideMod.PluginLoaded (Oxide.Core.Plugins.Plugin plugin) [0x0000
    My code looks like this:

    Code:
    PLUGIN.Title        = "Title"
    PLUGIN.Description  = "D"
    PLUGIN.Author       = "A"
    PLUGIN.Version      = V(1,0,0)
    PLUGIN.HasConfig    = truedata = {}function PLUGIN:Init()    command.AddChatCommand( "admin", self.Object, "cmdAdmin" )   
       
        self:LoadSavedData()
       
    endfunction PLUGIN:LoadSavedData()
       
        data = datafile.GetDataTable( "AdminData" )
        data = data or {}
        data["master"] = data["master"] or {}
       
    end
    I save my data using:
    Code:
    datafile.SaveDataTable( "AdminData" )
    Examples of how I modify the data file:
    Code:
    data[steamID]["status"] = true
    Code:
    data["master"]["belt"][tostring( beltCount )] = { name = tostring( beltItems.Current.info.shortname ), amount = beltItems.Current.amount, condition = beltItems.Current.condition, bp = beltItems.Current:IsBlueprint() }
    Does anyone know what I might be doing wrong?