local f = nrequire("concommands.lua") local n = {} local npcs = {} --Master table of npcs local autocompletef function n.RegisterNPC(npc) assert(npc ~= nil, "Attempted to register a nil npc") assert(npc.Name ~= nil, "Attempted to register an npc without a name") npcs[npc.Name] = npc autocompletef = f.AutocompleteFunction(npcs) end function n.CreateNPCByName(npcname, pos) print("Createing a " ,npcname ," at ", pos) local npctbl = npcs[npcname] local npc = ents.Create("npc_huntable") npc:SetPos(pos) for k,v in pairs(npctbl) do npc[k] = v end npc:Spawn() return npc end if SERVER then autocompletef = nil else autocompletef = f.AutocompleteFunction(npcs) end concommand.Add("artery_makenpc",function(ply,cmd,args) if not ply:IsAdmin() then return end local na = args[1] n.CreateNPCByName(na,ply:GetEyeTrace().HitPos) end, autocompletef) return n