Advertisement
SatanOnGmod

Untitled

Jun 14th, 2019
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 22.38 KB | None | 0 0
  1. local Hell = false
  2. local Video = nil
  3. local Noise = nil
  4. local Scream = nil
  5. local cache = { }
  6. local timercache = { }
  7. local soundcache = { }
  8. local modelcache = { }
  9.  
  10. local debrisrand = {
  11. 'models/props_debris/concrete_chunk02b.mdl',
  12. 'models/props_debris/concrete_chunk02a.mdl',
  13. 'models/props_debris/broken_pile001a.mdl',
  14. 'models/props_debris/concrete_chunk01a.mdl'
  15. }
  16.  
  17. local mdl = {
  18. "models/Gibs/HGIBS.mdl",
  19. "models/Gibs/HGIBS_rib.mdl",
  20. "models/Gibs/HGIBS_scapula.mdl",
  21. "models/Gibs/HGIBS_spine.mdl",
  22. "models/props_c17/doll01.mdl",
  23. "models/props_junk/sawblade001a.mdl",
  24. "models/props_debris/concrete_chunk03a.mdl",
  25. "models/props_debris/concrete_chunk04a.mdl"
  26. }
  27.  
  28. local CreatePhysModel = function(mdl)
  29. local ent = ents.CreateClientProp()
  30. ent:SetModel(mdl)
  31. ent:PhysicsInit(SOLID_VPHYSICS)
  32. ent:SetMoveType(MOVETYPE_VPHYSICS)
  33. ent:SetSolid(SOLID_VPHYSICS)
  34.  
  35. table.insert(modelcache, ent)
  36.  
  37. return ent
  38. end
  39.  
  40. local CreateModel = function(mdl, isragdoll)
  41. local ent
  42.  
  43. if isragdoll then
  44. ent = ClientsideRagdoll(mdl)
  45. else
  46. ent = ClientsideModel(mdl, RENDERGROUP_OTHER)
  47. end
  48.  
  49. table.insert(modelcache, ent)
  50.  
  51. return ent
  52. end
  53.  
  54. local AddSound = function(name)
  55. local snd = CreateSound(LocalPlayer(), name)
  56.  
  57. table.insert(soundcache, snd)
  58.  
  59. return snd
  60. end
  61.  
  62. local NewHookAdd = function(str, name, func)
  63. --name = "dronesrewrite_hell_hooks" .. name
  64. hook.Add(str, name, func)
  65.  
  66. table.insert(cache, {
  67. str = str,
  68. name = name
  69. })
  70. end
  71.  
  72. local NewTimerSimple = function(time, func)
  73. local name = "dronesrewrite_hell_timers" .. table.Count(timercache)
  74. timer.Create(name, time, 1, func)
  75.  
  76. table.insert(timercache, {
  77. name = name
  78. })
  79. end
  80.  
  81. local StopTimers = function() for k, v in pairs(timercache) do timer.Remove(v.name) end end
  82. local RemoveHooks = function() for k, v in pairs(cache) do hook.Remove(v.str, v.name) end end
  83. local StopSounds = function() for k, v in pairs(soundcache) do if v then v:Stop() end end end
  84. local RemoveModels = function() for k, v in pairs(modelcache) do SafeRemoveEntity(v) end end
  85.  
  86. local function End()
  87. RemoveHooks()
  88. StopTimers()
  89. StopSounds()
  90. RemoveModels()
  91.  
  92. timer.Remove("dronesrewrite_loopscreamer")
  93.  
  94. if IsValid(Video) then Video:Stop() end
  95. if IsValid(Noise) then Noise:Stop() end
  96. if IsValid(Scream) then Scream:Stop() end
  97.  
  98. LocalPlayer():SetNoDraw(false)
  99. LocalPlayer():DrawViewModel(true)
  100.  
  101. Hell = false
  102. end
  103.  
  104. local function EnableHell()
  105. local Models = { }
  106. local Scrap = { }
  107.  
  108. local Const = 0
  109.  
  110. local function AddRender()
  111. NewHookAdd("RenderScreenspaceEffects", "dronesrewrite_hell_render", function()
  112. local eff_tab = {
  113. ["$pp_colour_addr"] = Const * 0.1,
  114. ["$pp_colour_addg"] = Const * 0.1,
  115. ["$pp_colour_addb"] = 0,
  116. ["$pp_colour_brightness"] = -Const,
  117. ["$pp_colour_contrast"] = 1 + Const * 0.9,
  118. ["$pp_colour_colour"] = 1,
  119. ["$pp_colour_mulr"] = Const * 5,
  120. ["$pp_colour_mulg"] = Const,
  121. ["$pp_colour_mulb"] = 0
  122. }
  123.  
  124. DrawColorModify(eff_tab)
  125.  
  126. DrawBloom(Const * 1, Const, Const, Const, Const, Const, Const, Const, Const)
  127. DrawSharpen(Const * 0.7, Const * 4)
  128. DrawMotionBlur(Const * 0.3, Const, Const * 0.01)
  129. end)
  130. end
  131.  
  132. local function MakeNoise(tiem)
  133. local snd = AddSound("ambient/gas/steam2.wav")
  134. snd:Play()
  135. snd:ChangePitch(250, 0)
  136.  
  137. NewHookAdd("RenderScreenspaceEffects", "dronesrewrite_hell_render", function()
  138. local eff_tab = {
  139. ["$pp_colour_addr"] = 0,
  140. ["$pp_colour_addg"] = 0,
  141. ["$pp_colour_addb"] = 0,
  142. ["$pp_colour_brightness"] = -1,
  143. ["$pp_colour_contrast"] = 1,
  144. ["$pp_colour_colour"] = 0,
  145. ["$pp_colour_mulr"] = 0,
  146. ["$pp_colour_mulg"] = 0,
  147. ["$pp_colour_mulb"] = 0
  148. }
  149.  
  150. DrawColorModify(eff_tab)
  151. DrawMaterialOverlay("effects/tvscreen_noise002a", 0)
  152. end)
  153.  
  154. NewTimerSimple(tiem, function() snd:Stop() AddRender() end)
  155. end
  156.  
  157. local function LastScene()
  158. local staticPos
  159. local newAng
  160. local toChangeAng
  161. local screamer
  162.  
  163. NewHookAdd("ShouldDrawLocalPlayer", "dronesrewrite_hell_govno", function() return false end)
  164.  
  165. NewHookAdd("CalcView", "dronesrewrite_hell_lastScene", function(ply, pos, ang, fov)
  166. if not staticPos then staticPos = pos end
  167. if not newAng then newAng = ang end
  168. if not toChangeAng then toChangeAng = Angle(0, newAng.y + 180, 0) end
  169.  
  170. if not screamer then
  171. local ang = newAng
  172. ang.p = 0
  173.  
  174. screamer = CreateModel("models/Zombie/Poison.mdl")
  175. screamer:SetPos(pos - Vector(0, 0, 60) - ang:Forward() * 50)
  176. screamer:SetAngles(ang)
  177. screamer:SetModelScale(1.2, 0)
  178. screamer:Spawn()
  179. screamer:SetSequence(2)
  180.  
  181. local dlight = DynamicLight(LocalPlayer():EntIndex())
  182. if dlight then
  183. dlight.pos = pos - ang:Forward() * 40
  184. dlight.r = 255
  185. dlight.g = 0
  186. dlight.b = 0
  187. dlight.brightness = 10
  188. dlight.Decay = 300
  189. dlight.Size = 2000
  190. dlight.DieTime = CurTime() + 0.7
  191. end
  192. end
  193.  
  194. newAng = LerpAngle(0.25, newAng, toChangeAng + AngleRand() * 0.06)
  195.  
  196. local view = { }
  197. view.origin = staticPos
  198. view.angles = newAng
  199. view.fov = fov
  200.  
  201. return view
  202. end)
  203.  
  204. surface.PlaySound("vo/npc/male01/pain07.wav")
  205.  
  206. NewTimerSimple(0.3, function() surface.PlaySound("npc/stalker/go_alert2a.wav") end)
  207.  
  208. NewTimerSimple(3, function()
  209. surface.PlaySound("hl1/ambience/particle_suck2.wav")
  210.  
  211. End()
  212. if screamer then screamer:Remove() end
  213.  
  214. local snd = AddSound("hl1/ambience/deadsignal2.wav")
  215. snd:Play()
  216.  
  217. surface.PlaySound("beams/beamstart5.wav")
  218.  
  219. NewHookAdd("RenderScreenspaceEffects", "homoef", function()
  220. local eff_tab = {
  221. ["$pp_colour_addr"] = 0,
  222. ["$pp_colour_addg"] = 0,
  223. ["$pp_colour_addb"] = 0,
  224. ["$pp_colour_brightness"] = -1,
  225. ["$pp_colour_contrast"] = 1,
  226. ["$pp_colour_colour"] = 0,
  227. ["$pp_colour_mulr"] = 0,
  228. ["$pp_colour_mulg"] = 0,
  229. ["$pp_colour_mulb"] = 0
  230. }
  231.  
  232. DrawColorModify(eff_tab)
  233. DrawMaterialOverlay("effects/tvscreen_noise002a", 0)
  234. end)
  235.  
  236. NewTimerSimple(10, function()
  237. snd:Stop()
  238.  
  239. End()
  240. end)
  241. end)
  242. end
  243.  
  244. AddRender()
  245.  
  246. local function MakeCorpse()
  247. sound.Play("npc/zombie/zombie_alert1.wav", LocalPlayer():GetPos(), 90, math.random(40, 70))
  248.  
  249. local tr = util.TraceLine({
  250. start = LocalPlayer():GetPos(),
  251. endpos = LocalPlayer():GetPos() + vector_up * 5000,
  252. filter = LocalPlayer()
  253. })
  254.  
  255. local x = math.random(0, 360)
  256. local tr = util.TraceLine({
  257. start = tr.HitPos,
  258. endpos = tr.HitPos + Vector(math.cos(x), math.sin(x), 0) * math.random(1000, 2000),
  259. filter = LocalPlayer()
  260. })
  261.  
  262. local tr = util.TraceLine({
  263. start = tr.HitPos,
  264. endpos = tr.HitPos - vector_up * 20000,
  265. filter = LocalPlayer()
  266. })
  267.  
  268. local pos = tr.HitPos - tr.HitNormal * 8
  269.  
  270. local mdl = CreateModel("models/Humans/Charple02.mdl")
  271. mdl:SetAngles(Angle(-70, math.random(0, 360), 0))
  272. mdl:SetNoDraw(false)
  273. mdl:DrawShadow(true)
  274. mdl:SetPos(pos)
  275. end
  276.  
  277. local function MakeGuys()
  278. local tr = util.TraceLine({
  279. start = LocalPlayer():GetPos(),
  280. endpos = LocalPlayer():GetPos() + Vector(0, 0, 10000),
  281. filter = LocalPlayer()
  282. })
  283.  
  284. local x = math.random(0, 360)
  285. local tr = util.TraceLine({
  286. start = tr.HitPos + tr.HitNormal * 32,
  287. endpos = tr.HitPos + Vector(math.cos(x), math.sin(x), 0) * math.random(1000, 2000),
  288. filter = LocalPlayer()
  289. })
  290.  
  291. local tr = util.TraceLine({
  292. start = tr.HitPos + tr.HitNormal * 32,
  293. endpos = tr.HitPos - vector_up * 20000,
  294. filter = LocalPlayer()
  295. })
  296.  
  297. local pos = tr.HitPos
  298.  
  299. NewTimerSimple(2.2, function()
  300. sound.Play("vo/npc/male01/no02.wav", LocalPlayer():GetPos(), 75, math.random(70, 90), 1)
  301.  
  302. local mdl = CreateModel("models/Humans/Group01/Male_Cheaple.mdl")
  303. mdl:SetModelScale(2, 0)
  304. mdl:SetAngles(Angle(0, (LocalPlayer():GetPos() - tr.HitPos):Angle().y, 0))
  305. mdl:SetPos(pos)
  306. mdl:SetMaterial("models/flesh")
  307. mdl:SetColor(Color(255, 0, 0))
  308. mdl:Spawn()
  309.  
  310. local timer_rem = math.Rand(1, 3)
  311.  
  312. if math.random(1, 2) == 1 then
  313. NewTimerSimple(math.Rand(0.8, timer_rem), function()
  314. end)
  315. end
  316.  
  317. NewTimerSimple(timer_rem, function()
  318. NewTimerSimple(0.5, function() mdl:Remove() end)
  319. end)
  320. end)
  321. end
  322.  
  323. local function MakeCamera()
  324. local moan = AddSound("ambient/voices/crying_loop1.wav")
  325. moan:Play()
  326. moan:ChangePitch(math.random(50, 60), 0)
  327.  
  328. surface.PlaySound("npc/zombie/foot_slide" .. math.random(1, 3) .. ".wav")
  329. surface.PlaySound("npc/barnacle/barnacle_tongue_pull" .. math.random(1, 3) .. ".wav")
  330. end
  331.  
  332. local crying
  333. NewTimerSimple(3.5, function()
  334. crying = AddSound("ambient/voices/crying_loop1.wav")
  335. crying:Play()
  336.  
  337. for i = 1, 6 do
  338. NewTimerSimple(math.Rand(1, 8), function()
  339. util.ScreenShake(LocalPlayer():GetPos(), 30, 7, 4, 1000)
  340. surface.PlaySound("physics/concrete/boulder_impact_hard" .. math.random(1, 4) .. ".wav")
  341. end)
  342. end
  343. end)
  344.  
  345. NewTimerSimple(7, function()
  346. NewTimerSimple(5, function() MakeNoise(3) end)
  347.  
  348. NewTimerSimple(6, function()
  349. crying:Stop()
  350. Const = 1.2 -- instant shit
  351.  
  352. for i = 1, 200 do
  353. MakeCorpse()
  354. end
  355.  
  356. local no_drawing = {
  357. CHudHealth = true,
  358. CHudBattery = true,
  359. CHudCrosshair = true,
  360. CHudAmmo = true,
  361. CHudSecondaryAmmo = true,
  362. NetGraph = true
  363. }
  364.  
  365. NewHookAdd("HUDShouldDraw", "dronesrewrite_hell_nohuddraw", function(name)
  366. if no_drawing[name] then return false end
  367. end)
  368.  
  369. NewHookAdd("PlayerBindPress", "dronesrewrite_hell_shitmenu", function(ply, bind, p)
  370. local tools = {
  371. "phys_swap",
  372. "slot",
  373. "invnext",
  374. "invprev",
  375. "lastinv",
  376. "gmod_tool",
  377. "gmod_toolmode"
  378. }
  379.  
  380. for k, v in pairs(tools) do if bind:find(v) then return true end end
  381. end)
  382.  
  383. --[[chat.AddText("blyaad")
  384. sound.PlayURL("https://drive.google.com/uc?export=download&id=0B-bmGdZLSKZFTWR5N3k4U1FyRlk", "mono",function(sts)
  385. if IsValid(sts) then Video = sts end
  386. end)
  387.  
  388. sound.PlayURL("https://drive.google.com/uc?export=download&id=0B-bmGdZLSKZFX0xMNnR1OU5iRE0", "mono",function(sts)
  389. if IsValid(sts) then Noise = sts end
  390. end)
  391.  
  392. sound.PlayURL("https://drive.google.com/uc?export=download&id=0B-bmGdZLSKZFRDVSX3Z6Nk5oNVk", "mono",function(sts)
  393. if IsValid(sts) then Scream = sts end
  394. end)]]
  395.  
  396. --NewHookAdd("HUDShouldDraw", "nohud", function() return false end)
  397.  
  398. --[[local ang = LocalPlayer():EyeAngles()
  399. NewHookAdd("CalcView", "dronesrewrite_makeshitstatic", function(ply, _pos, _ang, fov)
  400. local view = { }
  401. view.origin = _pos
  402. view.angles = ang
  403. view.fov = fov
  404.  
  405. ang = Lerp(0.2, ang, _ang)
  406. return view
  407. end)]]
  408.  
  409. LocalPlayer():SetNoDraw(true)
  410. LocalPlayer():DrawViewModel(false)
  411.  
  412. for i = 1, 300 do
  413. local e = CreateModel("models/weapons/w_bugbait.mdl")
  414. e:SetModelScale(math.random(200, 300), 0)
  415. e:SetAngles(Angle(90, 0, 0))
  416.  
  417. local vec = VectorRand() * 12000
  418. vec.z = math.abs(vec.z) / 3
  419. e:SetPos(LocalPlayer():GetPos() + vec)
  420. e:Spawn()
  421.  
  422. e.RotDir = math.random(-1, 1)
  423. e.ZDist = math.Rand(1, 10)
  424. e.ZSpeed = math.Rand(0.3, 1.1)
  425.  
  426. Models[i] = e
  427. end
  428.  
  429. sound.Play("npc/stalker/go_alert2a.wav", LocalPlayer():GetPos(), math.random(50, 120), math.random(30, 70), 1)
  430. util.ScreenShake(LocalPlayer():GetPos(), 3, 55, 5, 1000)
  431. timer.Create("dronesrewrite_loopscreamer", 1.5, 0, function()
  432. sound.Play("vo/ravenholm/madlaugh03.wav", LocalPlayer():GetPos(), 100, math.random(60, 80), 1)
  433. util.ScreenShake(LocalPlayer():GetPos(), 3, 55, 5, 1000)
  434. end)
  435.  
  436. NewTimerSimple(9, function()
  437. local dlight = DynamicLight(LocalPlayer():EntIndex())
  438. if dlight then
  439. dlight.pos = Vector(-2224.216797, -2918.063721, 2354.03125)
  440. dlight.r = 255
  441. dlight.g = 0
  442. dlight.b = 0
  443. dlight.brightness = 16
  444. dlight.Decay = 1000
  445. dlight.Size = 2000
  446. dlight.DieTime = CurTime() + 2
  447. end
  448.  
  449. local pos = LocalPlayer():GetPos() + Vector(0, 0, 120)
  450. local ang = Angle(0, LocalPlayer():GetAngles().y, 0)
  451.  
  452. local tr = util.TraceLine({
  453. start = pos,
  454. endpos = pos + ang:Forward() * 86,
  455. filter = LocalPlayer()
  456. })
  457.  
  458. local rag_pos = tr.HitPos + tr.HitNormal * 32 - Vector(0, 0, 100)
  459.  
  460. for i = 1, 16 do
  461. sound.Play("npc/stalker/go_alert2a.wav", LocalPlayer():GetPos(), 120, 80, 1)
  462. end
  463.  
  464. local mdl = CreateModel("models/Humans/Charple01.mdl")
  465. mdl:SetModelScale(1.5, 0)
  466. mdl:SetAngles(ang + Angle(0, 180, 0))
  467. mdl:SetColor(Color(255, 0, 0))
  468. mdl:SetPos(rag_pos)
  469. mdl:Spawn()
  470.  
  471. NewHookAdd("CalcView", "dronesrewrite_doshit", function(ply, _pos, _ang, fov)
  472. local view = { }
  473. view.origin = pos + VectorRand()
  474. view.angles = ang
  475. view.fov = fov + math.random(-80, -50)
  476.  
  477. return view
  478. end)
  479.  
  480. NewTimerSimple(1, function()
  481. MakeNoise(0.5)
  482. mdl:Remove()
  483. hook.Remove("CalcView", "dronesrewrite_doshit")
  484. end)
  485. end)
  486.  
  487. NewTimerSimple(14, function()
  488. NewHookAdd("CalcView", "dronesrewrite_makeshit", function(ply, _pos, _ang, fov)
  489. local view = { }
  490. view.origin = _pos + VectorRand() * 25
  491. view.angles = _ang
  492. view.fov = fov
  493.  
  494. return view
  495. end)
  496.  
  497. NewTimerSimple(2, function() hook.Remove("CalcView", "dronesrewrite_makeshit") end)
  498. end)
  499.  
  500. NewTimerSimple(25, function()
  501. NewHookAdd("CalcView", "dronesrewrite_makeshit", function(ply, _pos, _ang, fov)
  502. local view = { }
  503. view.origin = _pos + VectorRand() * 50
  504. view.angles = _ang + AngleRand() * 0.08
  505. view.fov = fov
  506.  
  507. return view
  508. end)
  509.  
  510. NewTimerSimple(3, function() hook.Remove("CalcView", "dronesrewrite_makeshit") end)
  511. end)
  512.  
  513. NewTimerSimple(20, function()
  514. for i = 1, 50 do
  515. MakeNoise(0.5)
  516. MakeGuys()
  517. end
  518.  
  519. NewTimerSimple(4.6, function() MakeNoise(0.6) end)
  520. end)
  521.  
  522. NewTimerSimple(30, function()
  523. for i = 1, 20 do
  524. surface.PlaySound("npc/barnacle/barnacle_die" .. math.random(1, 2) .. ".wav")
  525. end
  526. end)
  527.  
  528. NewTimerSimple(35, function()
  529. --- AOOSIDJOAIDOSDIFJAS
  530. for i = 1, 10 do
  531. sound.Play("vo/ravenholm/madlaugh03.wav", LocalPlayer():GetPos(), 100, math.random(30, 70), 1)
  532. end
  533. end)
  534.  
  535. NewTimerSimple(40, function()
  536. NewHookAdd("CalcView", "dronesrewrite_makeshit", function(ply, _pos, _ang, fov)
  537. local view = { }
  538. view.origin = _pos
  539. view.angles = Angle(_ang.p, _ang.y + CurTime() * 100, math.random(-5, 5))
  540. view.fov = fov
  541.  
  542. return view
  543. end)
  544.  
  545. NewTimerSimple(3, function() hook.Remove("CalcView", "dronesrewrite_makeshit") end)
  546. end)
  547.  
  548. NewTimerSimple(48, function()
  549. MakeNoise(0.5)
  550.  
  551. NewHookAdd("CalcView", "dronesrewrite_doshit", function(ply, _pos, _ang, fov)
  552. local view = { }
  553. view.origin = _pos
  554. view.angles = _ang
  555. view.fov = fov + math.random(-30, -10)
  556.  
  557. return view
  558. end)
  559.  
  560. NewTimerSimple(4, function() hook.Remove("CalcView", "dronesrewrite_doshit") end)
  561. end)
  562.  
  563. NewTimerSimple(65, function()
  564. MakeNoise(0.5)
  565.  
  566. sound.Play("npc/fast_zombie/fz_frenzy1.wav", Vector(-2957.615723, -1470.495605, -100.968750), 120, 75, 1)
  567.  
  568. local dlight = DynamicLight(LocalPlayer():EntIndex())
  569. if dlight then
  570. dlight.pos = Vector(-3131.937988, -1468.487793, -120.96875)
  571. dlight.r = 255
  572. dlight.g = 0
  573. dlight.b = 0
  574. dlight.brightness = 10
  575. dlight.Decay = 300
  576. dlight.Size = 2000
  577. dlight.DieTime = CurTime() + 0.6
  578. end
  579.  
  580. NewHookAdd("CalcView", "dronesrewrite_doshit", function(ply, _pos, _ang, fov)
  581. local view = { }
  582. view.origin = Vector(-2957.615723, -1470.495605, -100.968750) + VectorRand() * 12
  583. view.angles = Angle(0, 179, 0)
  584. view.fov = fov
  585.  
  586. return view
  587. end)
  588.  
  589. local mdl = CreateModel("models/Zombie/Fast.mdl")
  590. mdl:SetModelScale(1.5, 0)
  591. mdl:SetAngles(Angle(0, 0, 0))
  592. mdl:SetMaterial("models/debug/debugwhite")
  593. mdl:SetColor(Color(255, 0, 0))
  594. mdl:SetPos(Vector(-3131.937988, -1468.487793, -140.96875))
  595. mdl:Spawn()
  596.  
  597. NewTimerSimple(1, function()
  598. MakeNoise(0.3)
  599.  
  600. for i = 1, 18 do
  601. sound.Play("npc/stalker/go_alert2a.wav", LocalPlayer():GetPos(), 120, 80, 1)
  602. end
  603.  
  604. mdl:SetPos(Vector(-3031.937988, -1468.487793, -140.96875))
  605. mdl:SetSequence(5)
  606.  
  607. local dlight = DynamicLight(LocalPlayer():EntIndex())
  608. if dlight then
  609. dlight.pos = Vector(-3131.937988, -1468.487793, -120.96875)
  610. dlight.r = 255
  611. dlight.g = 0
  612. dlight.b = 0
  613. dlight.brightness = 16
  614. dlight.Decay = 300
  615. dlight.Size = 2000
  616. dlight.DieTime = CurTime() + 0.7
  617. end
  618. end)
  619.  
  620. NewTimerSimple(2, function()
  621. MakeNoise(0.5)
  622. mdl:Remove()
  623.  
  624. hook.Remove("CalcView", "dronesrewrite_doshit")
  625. end)
  626. end)
  627.  
  628. NewTimerSimple(80, function()
  629. local tr = util.TraceLine({
  630. start = LocalPlayer():GetPos(),
  631. endpos = LocalPlayer():GetPos() + Vector(0, 0, 10000),
  632. filter = LocalPlayer()
  633. })
  634.  
  635. local x = math.random(0, 360)
  636. local tr = util.TraceLine({
  637. start = tr.HitPos + tr.HitNormal * 32,
  638. endpos = tr.HitPos + Vector(math.cos(x), math.sin(x), 0) * 1000,
  639. filter = LocalPlayer()
  640. })
  641.  
  642. local tr = util.TraceLine({
  643. start = tr.HitPos + tr.HitNormal * 32,
  644. endpos = tr.HitPos - vector_up * 20000,
  645. filter = LocalPlayer()
  646. })
  647.  
  648. local pos = tr.HitPos
  649.  
  650. sound.Play("vo/npc/vortigaunt/allwecanspare.wav", pos, 120, 75, 1)
  651. for i = 1, 8 do
  652. sound.Play("npc/stalker/go_alert2a.wav", LocalPlayer():GetPos(), math.random(50, 120), 80, 1)
  653. end
  654.  
  655. local dlight = DynamicLight(LocalPlayer():EntIndex())
  656. if dlight then
  657. dlight.pos = pos + Vector(0, 30, 32)
  658. dlight.r = 255
  659. dlight.g = 0
  660. dlight.b = 0
  661. dlight.brightness = 1
  662. dlight.Decay = 1000
  663. dlight.Size = 2500
  664. dlight.DieTime = CurTime() + 2
  665. end
  666.  
  667. NewHookAdd("CalcView", "dronesrewrite_doshit", function(ply, _pos, _ang, fov)
  668. local view = { }
  669. view.origin = pos + Vector(0, 100, 140) + VectorRand() * 4
  670. view.angles = Angle(11, -90, 0)
  671. view.fov = fov + math.random(-50, -30)
  672.  
  673. return view
  674. end)
  675.  
  676. local mdl = CreateModel("models/Humans/Group01/Male_Cheaple.mdl")
  677. mdl:SetModelScale(2, 0)
  678. mdl:SetAngles(Angle(0, 90, 0))
  679. mdl:SetPos(tr.HitPos)
  680. mdl:SetMaterial("models/flesh")
  681. mdl:SetColor(Color(255, 0, 0))
  682. mdl:Spawn()
  683.  
  684. NewTimerSimple(1.5, function()
  685. MakeNoise(0.5)
  686. for i = 1, 16 do MakeGuys() end
  687.  
  688. mdl:Remove()
  689.  
  690. hook.Remove("CalcView", "dronesrewrite_doshit")
  691. end)
  692. end)
  693.  
  694. NewTimerSimple(90, function()
  695. for i = 1, 18 do
  696. sound.Play("drones/nightvisionon.wav", LocalPlayer():GetPos(), 100, math.random(18, 35), 1)
  697. end
  698.  
  699. LastScene()
  700. end)
  701. end)
  702. end)
  703.  
  704.  
  705.  
  706. -- System
  707.  
  708. local emitter = ParticleEmitter(Vector(0, 0, 0))
  709.  
  710. NewHookAdd("Think", "countgay", function()
  711. if Const < 1.2 then
  712. Const = math.Approach(Const, 1, 0.0015)
  713. else
  714. for i = 1, math.random(1, 3) do
  715. local newmdl = table.Random(mdl)
  716. local e = CreateModel(newmdl)
  717. local scale
  718.  
  719. if string.find(newmdl, "HGIBS") then
  720. scale = 8
  721. else
  722. scale = math.Rand(1, 2)
  723. end
  724.  
  725. e:SetModelScale(scale, 0)
  726. e:SetAngles(VectorRand():Angle())
  727.  
  728. local vec = VectorRand() * 2000
  729. vec.z = vec.z / 2
  730. vec = LocalPlayer():GetPos() + vec + Vector(0, 0, 420)
  731.  
  732. e:SetPos(vec)
  733. e:Spawn()
  734. e.Speed = math.Rand(10, 35)
  735.  
  736. table.insert(Scrap, e)
  737. end
  738.  
  739. if math.random(1, 3) == 1 then
  740. local debris = CreatePhysModel(table.Random(debrisrand))
  741. debris:SetPos(LocalPlayer():GetPos() + Vector(0, 0, 700))
  742. debris:SetAngles(AngleRand())
  743. debris:Spawn()
  744. debris:SetModelScale(math.Rand(2, 3), 0)
  745.  
  746. local phys = debris:GetPhysicsObject()
  747. if phys:IsValid() then
  748. phys:Wake()
  749. phys:SetVelocity(VectorRand() * 400)
  750. phys:AddAngleVelocity(VectorRand() * 100)
  751. end
  752. end
  753.  
  754. --for i = 1, 10 do
  755. local tr = util.TraceLine({
  756. start = LocalPlayer():GetPos(),
  757. endpos = LocalPlayer():GetPos() + Vector(0, 0, 10000),
  758. filter = LocalPlayer()
  759. })
  760.  
  761. local x = math.random(0, 360)
  762. local tr = util.TraceLine({
  763. start = tr.HitPos + tr.HitNormal * 32,
  764. endpos = tr.HitPos + Vector(math.cos(x), math.sin(x), 0) * math.random(100, 300),
  765. filter = LocalPlayer()
  766. })
  767.  
  768. local tr = util.TraceLine({
  769. start = tr.HitPos + tr.HitNormal * 32,
  770. endpos = tr.HitPos - vector_up * 10000,
  771. filter = LocalPlayer()
  772. })
  773.  
  774. local pos = tr.HitPos
  775. --end
  776.  
  777. if math.random(1, 50) == 1 then
  778. MakeGuys()
  779. if math.random(1, 3) == 1 then MakeNoise(math.Rand(0.2, 0.6)) end
  780. end
  781.  
  782. if math.random(1, 120) == 1 then
  783. MakeCorpse()
  784. end
  785.  
  786. if math.random(1, 130) == 1 then
  787. MakeCamera()
  788. end
  789.  
  790. local vec = VectorRand() * 4000
  791. vec.z = math.abs(vec.z)
  792. local p = emitter:Add("sprites/redglow1", LocalPlayer():GetPos() + vec)
  793.  
  794. p:SetDieTime(10)
  795. p:SetStartAlpha(255)
  796. p:SetEndAlpha(0)
  797. p:SetStartSize(math.random(100, 300))
  798. p:SetRoll(math.Rand(-10, 10))
  799. p:SetRollDelta(math.Rand(-10, 10))
  800. p:SetEndSize(200)
  801. p:SetCollide(true)
  802. p:SetGravity(Vector(0, 0, -20))
  803.  
  804. local vec = VectorRand() * 4000
  805. vec.z = math.abs(vec.z)
  806. local p = emitter:Add("particle/smokesprites_000" .. math.random(1, 9), LocalPlayer():GetPos() + vec)
  807.  
  808. p:SetDieTime(2)
  809. p:SetStartAlpha(20)
  810. p:SetEndAlpha(0)
  811. p:SetStartSize(math.random(1000, 1600))
  812. p:SetRoll(math.Rand(-10, 10))
  813. p:SetRollDelta(math.Rand(-1, 1))
  814. p:SetEndSize(200)
  815. p:SetCollide(true)
  816. p:SetGravity(Vector(0, 0, -20))
  817. p:SetColor(255, 0, 0)
  818. end
  819.  
  820. for k, v in pairs(Models) do
  821. local pos = v:GetPos()
  822. pos.z = pos.z + math.sin(CurTime() * v.ZSpeed) * v.ZDist
  823.  
  824. v:SetPos(pos)
  825.  
  826. v:SetAngles(Angle(0, CurTime() * 15 * v.RotDir, 0))
  827. end
  828.  
  829. for k, v in pairs(Scrap) do
  830. if v:IsValid() then
  831. v:SetPos(v:GetPos() - Vector(0, 0, v.Speed))
  832. if v:GetPos().z <= LocalPlayer():GetPos().z then v:Remove() end
  833. end
  834. end
  835. end)
  836. end
  837.  
  838. local function DoHell()
  839. if Hell then return end
  840. Hell = true
  841.  
  842. EnableHell()
  843. end
  844.  
  845. DoHell()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement