diff options
Diffstat (limited to 'gamemode/itemsystem/loaditems.lua')
| -rw-r--r-- | gamemode/itemsystem/loaditems.lua | 62 |
1 files changed, 10 insertions, 52 deletions
diff --git a/gamemode/itemsystem/loaditems.lua b/gamemode/itemsystem/loaditems.lua index a593e0d..6d42f87 100644 --- a/gamemode/itemsystem/loaditems.lua +++ b/gamemode/itemsystem/loaditems.lua @@ -1,62 +1,20 @@ local Folder = GM.Folder:gsub("gamemodes/","").."/gamemode/itemsystem/items"
local insert = table.insert
+print("Hello from loaditems.lua!")
-function GM:LoadItems()
- local Items = file.Find(Folder.."/*.lua","LUA")
- local BaseItem = {}
+--This is so that the client can store info about items/recepies too.
+local gmitems = GAMEMODE.Items or {}
+local gmrecepies = GAMEMODE.Recipes or {}
- GAMEMODE.Items = {}
- GAMEMODE.Recipes = {}
-
- ITEM = {}
-
- AddCSLuaFile(Folder.."/base.lua")
- include(Folder.."/base.lua")
-
- BaseItem = table.Copy(ITEM)
-
- for k,v in pairs(Items) do
- if (v != "base.lua") then
- AddCSLuaFile(Folder.."/"..v)
- include(Folder.."/"..v)
-
- insert(GAMEMODE.Items,ITEM)
- if (ITEM.Recipe) then insert(GAMEMODE.Recipes,ITEM) end
-
- ITEM = table.Copy(BaseItem)
-
- end
+function RegisterItem(tbl)
+ assert(gmitems[tbl] == nil, "Cannot register 2 items with the same name!")
+ insert(gmitems,tbl)
+ if tbl.Recipe then
+ insert(gmrecepies,tbl)
end
+ print("Registered item:", tbl.Name)
end
-hook.Add("Initialize","LoadItems",function()
- local Items = file.Find(Folder.."/*.lua","LUA")
- local BaseItem = {}
-
- GAMEMODE.Items = {}
- GAMEMODE.Recipes = {}
-
- ITEM = {}
-
- AddCSLuaFile(Folder.."/base.lua")
- include(Folder.."/base.lua")
-
- BaseItem = table.Copy(ITEM)
-
- for k,v in pairs(Items) do
- if (v != "base.lua") then
- AddCSLuaFile(Folder.."/"..v)
- include(Folder.."/"..v)
-
- insert(GAMEMODE.Items,ITEM)
- if (ITEM.Recipe) then insert(GAMEMODE.Recipes,ITEM) end
-
- ITEM = table.Copy(BaseItem)
-
- end
- end
-end)
-
function GetItemByName(name)
for k,v in pairs( GAMEMODE.Items ) do
if (v.Name == name) then return v end
|
