aboutsummaryrefslogtreecommitdiff
path: root/gamemode/npcsystem/sh_movingnpc.lua
diff options
context:
space:
mode:
Diffstat (limited to 'gamemode/npcsystem/sh_movingnpc.lua')
-rw-r--r--gamemode/npcsystem/sh_movingnpc.lua9
1 files changed, 7 insertions, 2 deletions
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