diff options
Diffstat (limited to 'gamemode/inventorysystem')
| -rw-r--r-- | gamemode/inventorysystem/equipment/cl_equipment.lua | 3 | ||||
| -rw-r--r-- | gamemode/inventorysystem/equipment/sh_equipment.lua | 19 |
2 files changed, 13 insertions, 9 deletions
diff --git a/gamemode/inventorysystem/equipment/cl_equipment.lua b/gamemode/inventorysystem/equipment/cl_equipment.lua index 57a07ad..ca03bf6 100644 --- a/gamemode/inventorysystem/equipment/cl_equipment.lua +++ b/gamemode/inventorysystem/equipment/cl_equipment.lua @@ -126,6 +126,9 @@ inv.DrawOnDPanel = function(self,panel) if self.equiped[k].OnEqpPaint then pn.PaintOver = self.equiped[k].OnEqpPaint end + if self.equiped[k].DoOnEquipPanel then + self.equiped[k]:DoOnEquipPanel(pn) + end else --We don't have something equiped! if v.img and v.img.material then local c = col.ui.border diff --git a/gamemode/inventorysystem/equipment/sh_equipment.lua b/gamemode/inventorysystem/equipment/sh_equipment.lua index 8dc9442..7095363 100644 --- a/gamemode/inventorysystem/equipment/sh_equipment.lua +++ b/gamemode/inventorysystem/equipment/sh_equipment.lua @@ -112,20 +112,21 @@ inv.Serialize = function(self) tbl[k] = {v.Name, v:Serialize()} end end - return util.TableToJSON(tbl) + local ret = util.TableToJSON(tbl) + return ret end inv.DeSerialize = function(self,data) - if data ~= nil and data ~= "" then - local tbl = util.JSONToTable(data) - local cpy = table.Copy(self) - for k,v in pairs(tbl) do - cpy.equiped[k] = itm.GetItemByName(v[1]):DeSerialize(v[2]) - end - return cpy - else + if data == nil or data == '' then return table.Copy(self) end + local tbl = util.JSONToTable(data) + local cpy = table.Copy(self) + for k,v in pairs(tbl) do + local te = itm.GetItemByName(v[1]):DeSerialize(v[2]) + cpy:Put({k},te) + end + return cpy end inventory.RegisterInventory(inv) |
