diff options
Diffstat (limited to 'gamemode/inventorysystem/prayers')
| -rw-r--r-- | gamemode/inventorysystem/prayers/sh_prayers.lua | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/gamemode/inventorysystem/prayers/sh_prayers.lua b/gamemode/inventorysystem/prayers/sh_prayers.lua new file mode 100644 index 0000000..208540d --- /dev/null +++ b/gamemode/inventorysystem/prayers/sh_prayers.lua @@ -0,0 +1,44 @@ + +local reg = nrequire("inventory.lua") +local itm = nrequire("item.lua") +local inv = {} +inv.Name = "Prayers" +inv.track = {} +function inv:FindPlaceFor(item) + return {#track} +end +function inv:CanFitIn(pos,item) + return pos[1] == #self.track +end +function inv:Put(pos,item) + self.track[pos[1]] = item +end +function inv:Has(a) + if type(a) == "string" then + for k,v in pairs(self.track) do + if v == a then return {k} end + end + elseif type(a) == "function" then + for k,v in pairs(self.track) do + if a(v) then return {k} end + end + end + return nil +end +function inv:Remove(pos) + for i = 1,pos[1] do + self.track[i] = self.track[i+1] + end +end +function inv:Get(pos) + return self.track[pos[1]] +end +function inv:Serialize() + local ret = {} + for k,v in pairs(self.track) do + ret[v.Name] = v:Serialize() + end +end + + +reg.RegisterInventory(inv) |
