From 0ceb38e8a1f26716fe4756c1cfbdbbedd1fae5f1 Mon Sep 17 00:00:00 2001 From: Alexander Pickering Date: Wed, 28 Dec 2016 18:46:17 -0600 Subject: Fixed some stuff --- gamemode/itemsystem/loaditems.lua | 62 +++++++-------------------------------- 1 file changed, 10 insertions(+), 52 deletions(-) (limited to 'gamemode/itemsystem/loaditems.lua') 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 -- cgit v1.2.3-70-g09d2