--Lol i dunno, spawn some npc's or something concommand.Add("ws_spawnbird",function(ply, cmd, args) SpawnNpcByName("Bird",ply:GetPos()) end ) function SpawnNpcByName(name, position) entdata = GetNpcByName(name) ent = ents.Create("ws_npc_ambient") ent:SetPos(position) if(entdata.Speed) then ent.Speed = entdata.Speed end if(entdata.Model) then ent.Model = entdata.Model end if(entdata.vitality) then ent:SetHealth(entdata.vitality) end if(entdata.Drops) then ent.Drops = entdata.Drops end if(entdata.OnDammage) then ent.OnDammage = entdata.OnDammage end if(entdata.Behave) then ent.Behave = entdata.Behave end if(entdata.Act) then ent.Act = entdata.Act end ent:Spawn() end local random = math.random local traceline = util.TraceLine local contents = util.PointContents local Up = Vector(0,0,1) --Randomly spawn npc's around? local Tick = CurTime() hook.Add("Tick","SpawnAmbient",function() if(CLIENT) then return end if (Tick < CurTime()) then --Assume most players are about ground level --Spawn 1 bird for each player on the server local areas = {} for k,v in pairs(player.GetAllHumans()) do for i,area in pairs(ents.FindByClass("info_target")) do if (area:GetName() == "survival_spawn") then local parent = area:GetParent() if (IsValid(parent)) then areas[area] = parent end end end --SpawnNpcByName("Bird",v:GetPos() + (v:GetUp()*500)) end for pAe,pBe in pairs(areas) do local pA,pB = pAe:GetPos(),pBe:GetPos() local Dis = pA:Distance(pB) local V = Vector(random(pB.x,pA.x),random(pB.y,pA.y),random(pB.z,pA.z)) local Tr = traceline({start=V,endpos=V-Up*40000}) local Pos = Tr.HitPos+Up*20 local C = contents(Pos) if (C != CONTENTS_WATER and C != CONTENTS_WATER+CONTENTS_TRANSLUCENT) then print("Appropriate place found, spawning bird)") SpawnNpcByName("Bird",Pos) break end end Tick = CurTime()+30 end end)