AddCSLuaFile() ENT.Base = "base_nextbot" ENT.Spawnable = false ENT.AdminSpawnable = false ENT.SearchRadius = 3000 ENT.LoseTargetDist = 4000 --Stats-- --Model Settings-- ENT.Model = ("models/props_junk/popcan01a.mdl") function ENT:Precache() end function ENT:ModelHide() self:DrawShadow(false) self:SetNoDraw(true) self:SetNotSolid(true) end function ENT:Initialize() if SERVER then self:ModelHide() self:SetModel(self.Model) if(#ents.FindInSphere(self:GetPos(),32) > 0) then self:SetPos(self:GetPos() + Vector(math.random(-64),math.random(64),0)) end local randomspawn = math.random(1,11) if randomspawn == 1 then self.random = ents.Create("nz_abnormal_zombie") end if randomspawn == 2 then self.random = ents.Create("nz_infected") end if randomspawn == 3 then self.random = ents.Create("nz_corrupt") end if randomspawn == 4 then self.random = ents.Create("nz_crazies") end if randomspawn == 5 then self.random = ents.Create("nz_infected") end if randomspawn == 6 then self.random = ents.Create("nz_infested") end if randomspawn == 7 then self.random = ents.Create("nz_infested_torso") end if randomspawn == 8 then self.random = ents.Create("nz_necrotic_zombie") end if randomspawn == 9 then self.random = ents.Create("nz_reanimated") end if randomspawn == 10 then self.random = ents.Create("nz_risen") end if randomspawn == 11 then self.random = ents.Create("nz_seekers") end self.random:SetPos(self:GetPos()) self.random:SetAngles(self:GetAngles()) self.random:Spawn() self.random:Activate() end end function ENT:BehaveAct() end function ENT:Think() end function ENT:OnRemove() if SERVER then if self.random:IsValid() then self.random:Remove() end end end function ENT:GetEnemy() end function ENT:OnStuck() end function ENT:OnUnStuck() end function ENT:SetEnemy() end function ENT:GetDoor() end function ENT:MoveToPos( pos, options ) end function ENT:AttackProp() end function ENT:UpdateEnemy() end function ENT:RunBehaviour() while ( true ) do if self:GetEnemy() then pos = self:GetEnemy():GetPos() if ( pos ) then self.loco:SetDesiredSpeed( 0 ) local opts = { lookahead = 300, tolerance = 20, draw = false, maxage = 1, repath = 1 } self:MoveToPos( pos, opts ) end else ent = player.GetAll()[math.random(1,#player.GetAll())] if !self:GetEnemy() or self.Enemy:Health() > 0 then self:SetEnemy() self.loco:SetDesiredSpeed( 0 ) else self:SetEnemy(ent) end coroutine.yield() end end end function ENT:OnLeaveGround() end function ENT:OnLandOnGround() end function ENT:OnKilled( dmginfo ) str = "" table.sort(self.Damages,function(a,b) return a[2] > b[2] end) for k,v in pairs(self.Damages) do v[1]:SetNWInt("Money",v[1]:GetNWInt("Money",0) + (#self.Damages-k)*10) if(k == 1) then str = str.."in first place, we have "..v[1]:Nick().." with "..v[2] elseif(k == 2) then str = str.." and then "..v[1]:Nick().." with "..v[2]..", " elseif(k != #self.Damages) then str = str.."#"..k.." "..v[1]:Nick().." with "..v[2].." " else str = str.." and finnally "..v[1]:Nick().." with "..v[2].."." end end net.WriteString(str) net.Broadcast() end function ENT:OnInjured( dmginfo ) end function ENT:KickTheBucket(dmg) local killer = dmg:GetAttacker() local old = killer:GetNWInt("killcount") killer:SetNWInt("killcount", old + 1) local oldm = killer:GetNWInt("Money") killer:SetNWInt("Money", oldm + 1) NumZombies = NumZombies - 1 local itemnumber = math.random(1,ItemChance[DiffLevel]) local itemtype = "lol" if itemnumber == 1 then itemtype = "tcure" elseif (itemnumber >= 2 && itemnumber <= 4) then itemtype = "spray" elseif (itemnumber >= 5 && itemnumber <= 10) then itemtype = "pammo" elseif (itemnumber >= 11 && itemnumber <= 14) then itemtype = "bammo" elseif (itemnumber >= 15 && itemnumber <= 19) then itemtype = "mammo" elseif (itemnumber >= 20 && itemnumber <= 24) then itemtype = "rammo" elseif (itemnumber >= 25 && itemnumber <= 27) then itemtype = "landmine" elseif (itemnumber >= 28 && itemnumber <= 30) then itemtype = "c4" end if itemtype != "lol" then local item = ents.Create("item_"..itemtype) item:SetPos(self.Entity:GetPos()) item:Spawn() item:Activate( ) timer.Simple(30, function() if item:IsValid() then item:Remove() end end) end end