local Folder = GM.Folder:gsub("gamemodes/","").."/gamemode/npcsystem/npcs" local insert = table.insert function GM:LoadNPCS() print("NPC's loaded") local Items = file.Find(Folder.."/*.lua","LUA") local BaseItem = {} GAMEMODE.Npcs = {} NPC = {} AddCSLuaFile(Folder.."/base.lua") include(Folder.."/base.lua") BaseItem = table.Copy(NPC) for k,v in pairs(Items) do if (v != "base.lua") then AddCSLuaFile(Folder.."/"..v) include(Folder.."/"..v) insert(GAMEMODE.Npcs,NPC) NPC = table.Copy(BaseItem) end end end hook.Add("Initialize","Loadnpcs",function() GAMEMODE:LoadNPCS() end) function GetNpcByName(name) for k,v in pairs( GAMEMODE.Npcs ) do if (v.Name == name) then return v end end return nil end --[[ function GM:SpawnNPCByName(name,pos) print("Server side, spawning bird!") entdata = GetNpcByName(name) if not entdata then print("NPC not found!") return end ent = ents.Create("ws_npc_ambient") ent:SetPos(pos) if(entdata.Speed) then ent.Speed = entdata.Speed end if(entdata.Model) then ent.Model = entdata.Model end if(entdata.vitality) then ent:SetHealth(entdata.vitality) end if(entdata.Drops) then ent.Drops = entdata.Drops end if(entdata.OnDammage) then ent.OnDammage = entdata.OnDammage end if(entdata.Behave) then ent.Behave = entdata.Behave end if(entdata.Act) then ent.Act = entdata.Act end ent:Spawn() end ]] --[[ function GetRecipeForItem(name) for k,v in pairs( GAMEMODE.Recipes ) do if (v.Name == name) then return v.Recipe,v end end return nil end ]]-- --[[ function GetItemsByClass(class) local Dat = {} for k,v in pairs( GAMEMODE.Items ) do if (v.Class == class) then table.insert(Dat,v) end end return Dat end ]]--