Advertisement
paster726caro

Untitled

Oct 17th, 2017
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.72 KB | None | 0 0
  1. AddCSLuaFile("cl_init.lua")
  2. AddCSLuaFile("shared.lua")
  3. include("shared.lua")
  4.  
  5. ENT.foundLiving = false
  6.  
  7. function ENT:spawnEnemy(npclevel)
  8.  
  9. self:SetNWInt("Wave", GAMEMODE.CurrentWave);
  10.  
  11. local spawnedNPC = ents.Create(self:levelToNPC(npclevel)) // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  12. if not IsValid(spawnedNPC) then return end
  13.  
  14. spawnedNPC:SetPos(self:grabSpawnPosition())
  15. spawnedNPC:Spawn()
  16. spawnedNPC:Activate()
  17.  
  18. //local c = spawnedNPC:GetClass(c)
  19. // all the noise below just sets the entity to attack and hate players, and be nice to other npcs
  20. for l,entt in pairs(ents.GetAll()) do
  21. if entt:IsPlayer() then
  22. spawnedNPC:AddEntityRelationship( entt, D_HT, 50 )
  23. end
  24. if entt:IsNPC() then
  25. spawnedNPC:AddEntityRelationship(entt,D_LI,99)
  26. entt:AddEntityRelationship(spawnedNPC,D_LI,99)
  27. end // lua_run for k,v in pairs(player.GetAll()[1]:GetEyeTrace().Entity:GetTable()) do print(" " ..k) print(v) end
  28. end
  29.  
  30. //local capas = { CAP_MOVE_GROUND , CAP_OPEN_DOORS , CAP_ANIMATEDFACE , CAP_TURN_HEAD , CAP_USE_SHOT_REGULATOR , CAP_AIM_GUN , CAP_MOVE_JUMP , CAP_MOVE_CLIMB, CAP_USE_WEAPONS }
  31.  
  32. local p = FindNearestPlayer(self) || player.GetAll()[1]
  33. local ppos = p:GetPos()
  34. spawnedNPC:SetLastPosition(ppos)
  35. spawnedNPC:SetEnemy(p)
  36. spawnedNPC:UpdateEnemyMemory( p, ppos )
  37. spawnedNPC:SetSchedule( SCHED_CHASE_ENEMY )
  38. spawnedNPC:SetOwner(game.GetWorld())
  39. spawnedNPC.IsEnemy = true
  40. spawnedNPC:SetNWInt("IsEnemy",1)
  41. //net.Start( "sendenemy" )
  42. // net.WriteEntity(spawnedNPC:GetID())
  43. //net.Broadcast()
  44.  
  45. end
  46. util.AddNetworkString("sendPurgeTime")
  47. util.AddNetworkString("sendTimeBetweenPurge")
  48.  
  49.  
  50. net.Receive("sendPurgeTime", function()
  51. if timer.Exists("purgetime") then
  52. net.Start("sendPurgeTime")
  53. net.WriteString(tostring(timer.TimeLeft("purgetime")))
  54. net.Broadcast()
  55. end
  56.  
  57. if !timer.Exists("time_between_purge") and !timer.Exists("purgetime") then
  58. timer.Create("time_between_purge", 1350, 1, betweenPurgeTimer)
  59. net.Start("sendTimeBetweenPurge")
  60. net.WriteString(tostring(timer.TimeLeft("time_between_purge")))
  61. net.Broadcast()
  62. end
  63. end)
  64.  
  65. net.Receive("sendTimeBetweenPurge",function()
  66. if timer.Exists("time_between_purge") then
  67. net.Start("sendTimeBetweenPurge")
  68. net.WriteString(tostring(timer.TimeLeft("time_between_purge")))
  69. net.Broadcast()
  70. end
  71.  
  72. if !timer.Exists("time_between_purge") and !timer.Exists("purgetime") then
  73. timer.Create("time_between_purge", 1350, 1, betweenPurgeTimer)
  74. net.Start("sendTimeBetweenPurge")
  75. net.WriteString(tostring(timer.TimeLeft("time_between_purge")))
  76. net.Broadcast()
  77. end
  78. end)
  79.  
  80.  
  81.  
  82. //ragdoll check
  83. checked_Ragdolls_Last = 0
  84. function checkRagdolls()
  85. /*if CurTime()-checked_Ragdolls_Last < 15 then return end
  86.  
  87. checked_Ragdolls_Last = CurTime()
  88.  
  89. for k,v in pairs(ents.GetAll()) do
  90. if v:GetClass()=="prop_ragdoll" then
  91. v:Remove()
  92. end
  93. end*/
  94. end
  95.  
  96. hook.Add("Think","ragdollcheckthink",function() checkRagdolls() end)
  97.  
  98.  
  99. /* moved to shared
  100. function InitializeXP()
  101. timer.Simple(5, function()
  102. for k,v in pairs(player.GetAll()) do
  103. if v.MonstersXP and v.MonstersLevels and net.Send then
  104. net.Start( "update_experience" )
  105. net.WriteString(tostring(v.MonstersXP))
  106. for k,v in pairs(v.MonstersLevels) do
  107. net.WriteString(tostring(v))
  108. end
  109. net.Send(v)
  110. end
  111. end
  112. end)
  113. end
  114. hook.Add("InitPostEntity", "initxp" , InitializeXP)
  115. */
  116.  
  117. function RemoveDeadRag( ent )
  118.  
  119.  
  120. if (ent:GetClass() == "class C_ClientRagdoll") then
  121. if ent:IsValid() and !(ent == NULL) then
  122. SafeRemoveEntityDelayed(ent,0)
  123. end
  124. end
  125.  
  126. end
  127. hook.Add("OnEntityCreated", "RemoveDeadRag", RemoveDeadRag)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement