From 100342bdd0a979f283f90875663784f20282dd5e Mon Sep 17 00:00:00 2001 From: Alexander Pickering Date: Sat, 4 May 2019 16:05:01 -0400 Subject: Started on the NPC overhual Added some bits to start on the npcs overhaul --- gamemode/npcsystem/sh_movingnpc.lua | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'gamemode/npcsystem/sh_movingnpc.lua') diff --git a/gamemode/npcsystem/sh_movingnpc.lua b/gamemode/npcsystem/sh_movingnpc.lua index 21f302e..22ddad1 100644 --- a/gamemode/npcsystem/sh_movingnpc.lua +++ b/gamemode/npcsystem/sh_movingnpc.lua @@ -1,16 +1,19 @@ local reg = nrequire("sh_npcsystem.lua") local base = nrequire("sh_basenpc.lua") -local nextbot = scripted_ents.Get("base_nextbot") +local nextbot = nil --Nextbots aren't registered until after this script is run, +--So we need the hacks below to get a "real" nextbot. local npc = {} npc.Name = "Walkable NPC Base" setmetatable(npc,{__index = function(self,key) - return self[key] or base[key] or nextbot[key] + if nextbot == nil then nextbot = scripted_ents.Get("base_nextbot") end + return base[key] or nextbot[key] end}) function npc:Initalize() + if nextbot == nil then nextbot = scripted_ents.Get("base_nextbot") end if base.Initalize then base.Initalize(self) end if nextbot.Initalize then nextbot.Initalize(self) end print("After initalizeing walkable, self.loco is", self.loco) @@ -20,3 +23,5 @@ function npc:Face(ang_or_vec) print("trying to face:",ang_or_vec,type(ang_or_vec)) end reg.RegisterNPC(npc) + +return npc -- cgit v1.2.3-70-g09d2