diff options
Diffstat (limited to 'gamemode/itemsystem/loaditems.lua')
| -rw-r--r-- | gamemode/itemsystem/loaditems.lua | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/gamemode/itemsystem/loaditems.lua b/gamemode/itemsystem/loaditems.lua index 374fd18..2e5be4e 100644 --- a/gamemode/itemsystem/loaditems.lua +++ b/gamemode/itemsystem/loaditems.lua @@ -8,9 +8,12 @@ GM.Recipes = GM.Items or {} --This is so that the client can store info about items/recepies too.
local gmitems = (GAMEMODE or GM).Items
local gmrecepies = (GAMEMODE or GM).Recipes
-
+local itemfiles = {}
function RegisterItem(tbl)
assert(gmitems[tbl] == nil, "Cannot register 2 items with the same name!")
+ tb = debug.getinfo(2)
+ src = string.sub(tb.source,2)
+ itemfiles[#itemfiles + 1] = src
insert(gmitems,tbl)
if tbl.Recipe then
insert(gmrecepies,tbl)
@@ -18,6 +21,18 @@ function RegisterItem(tbl) print("Registered item:", tbl.Name)
end
+(GAMEMODE or GM).LoadItems = function()
+ allfiles = table.Copy(itemfiles)
+ for _,itemfile in pairs(allfiles) do
+ f = file.Read(itemfile,"GAME")
+ c = CompileString(f,itemfile)
+ print("executing",c)
+ if c ~= nil then
+ c()
+ end
+ end
+end
+
function GetItemByName(name)
for k,v in pairs( gmitems ) do
if (v.Name == name) then return v end
|
