diff options
| author | Alexander Pickering <alexandermpickering@gmail.com> | 2016-10-24 19:00:58 -0400 |
|---|---|---|
| committer | Alexander Pickering <alexandermpickering@gmail.com> | 2016-10-24 19:00:58 -0400 |
| commit | 9ae67530dc4be9eaab7b1243330e810d1d5a6fee (patch) | |
| tree | 974d87689dd51b767f91735563ed6cf030c1ad87 /gamemode/shared/loadnpcs.lua | |
| parent | 74c7a160da34897ebdf18aaff02b8c9b65809949 (diff) | |
| download | artery-9ae67530dc4be9eaab7b1243330e810d1d5a6fee.tar.gz artery-9ae67530dc4be9eaab7b1243330e810d1d5a6fee.tar.bz2 artery-9ae67530dc4be9eaab7b1243330e810d1d5a6fee.zip | |
Added npc system
Diffstat (limited to 'gamemode/shared/loadnpcs.lua')
| -rw-r--r-- | gamemode/shared/loadnpcs.lua | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/gamemode/shared/loadnpcs.lua b/gamemode/shared/loadnpcs.lua new file mode 100644 index 0000000..bff5135 --- /dev/null +++ b/gamemode/shared/loadnpcs.lua @@ -0,0 +1,36 @@ + +local f = include("concommands.lua") + +ART = ART or {} + +local npcs = {} + +function ART.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 +end + +function ART.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() +end + +local autocompletef +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 n = args[1] + ART.CreateNPCByName(n,ply:GetEyeTrace().HitPos) +end, +autocompletef) |
