I spent an hour this afternoon having a look at LUA and writing a very basic plugin that just writes some data to a file. This is all it is at the moment:

import "Turbine";
import "Turbine.Gameplay";

player = Turbine.Gameplay.LocalPlayer:GetInstance();

name = player:GetName();
equip = player:GetEquipment();
savedata = {};
savedata["Name"] = name;
savedata["Shoulders"] = equip:GetItem(Turbine.Gameplay.Equipment.Shoulder):GetName();
savedata["Helm"] = equip:GetItem(Turbine.Gameplay.Equipment.Head):GetName();
savedata["Chest"] = equip:GetItem(Turbine.Gameplay.Equipment.Chest):GetName();
savedata["Gloves"] = equip:GetItem(Turbine.Gameplay.Equipment.Gloves):GetName();
savedata["Legs"] = equip:GetItem(Turbine.Gameplay.Equipment.Legs):GetName();
savedata["Boots"] = equip:GetItem(Turbine.Gameplay.Equipment.Boots):GetName();
savedata["MainWeapon"] = equip:GetItem(Turbine.Gameplay.Equipment.PrimaryWeapon):GetName();
savedata["ClassItem"] = equip:GetItem(Turbine.Gameplay.Equipment.Class):GetName();

Turbine.Shell.WriteLine("Current Char: " .. name);

Turbine.PluginData.Save(Turbine.DataScope.Account, "A", savedata);

When loaded manually, it works fine. However, when I auto-load it, I get "Main.lua:10: attempt to index a nil value".

It seems that for some reason the plugin can't access my equipment properly when loaded this way (if I comment out all the lines that add to the table except "Name", it works fine). Is there some way around this?