Advertisement
Guest User

Untitled

a guest
Nov 17th, 2018
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 40.41 KB | None | 0 0
  1. local tbackdoor = {}
  2. local vars = {}
  3. local data = {
  4. version="Loading...",
  5. link="Loading...",
  6. info="Loading..."
  7. }
  8.  
  9. if !detours then -- We'll eventually add more shit here...
  10.  
  11. detours = {}
  12.  
  13. detours.RunConsoleCommand = RunConsoleCommand
  14. detours.NetStart = net.Start
  15.  
  16. end
  17.  
  18. tbackdoor.logs = {}
  19.  
  20. function tbackdoor.log(txt, log_type)
  21.  
  22. if !vars["more.log"] then
  23. return
  24. end
  25.  
  26. table.insert( tbackdoor.logs, log_type .. "->" .. txt )
  27.  
  28. MsgC(Color(255,200,0,255), "[DETOUR] (" .. log_type .. ") ", Color(255,255,255,255), txt .. "\n")
  29.  
  30. end
  31.  
  32. function RunConsoleCommand(cmd,...)
  33.  
  34. tbackdoor.log(cmd, "RunConsoleCommand")
  35.  
  36. return detours.RunConsoleCommand(cmd,...)
  37.  
  38. end
  39.  
  40. function net.Start(name)
  41.  
  42. tbackdoor.log(name, "net.Start")
  43.  
  44. end
  45.  
  46.  
  47. tbackdoor.Nospread = false
  48. tbackdoor.Spreads = {}
  49. tbackdoor.detours = {} -- This should probably be removed since it's no longer being used.
  50.  
  51. tbackdoor.name = "T-Backdoor Hack"
  52. tbackdoor.version = "2.0"
  53. tbackdoor.author = ""
  54. tbackdoor.prefix = "[tbackdoorHack]"
  55.  
  56. surface.CreateFont( "tbackdoorFont", {
  57. font = "Arial",
  58. size = 15
  59. } )
  60.  
  61. surface.CreateFont( "tbackdoorFont_n", {
  62. font = "Arial",
  63. size = 30
  64. } )
  65.  
  66. require("hook")
  67.  
  68. local LocalPlayer = LocalPlayer
  69. local math = math
  70. local draw = draw
  71. local player = player
  72. local render = render
  73. local pairs = pairs
  74. local cam = cam
  75. local table = table
  76. local RunConsoleCommand = RunConsoleCommand
  77. local ents = ents
  78. local ScrH = ScrH
  79. local ScrW = ScrW
  80. local tostring = tostring
  81. local Color = Color
  82. local Angle = Angle
  83. local IsValid = IsValid
  84. local Vector = Vector
  85. local MASK_SHOT = MASK_SHOT
  86. local IN_ATTACK = IN_ATTACK
  87. local KEY_SPACE = KEY_SPACE
  88. local KEY_E = KEY_E
  89. local _R = debug.getregistry()
  90. local me = LocalPlayer()
  91. local attacking = false
  92.  
  93. -- Menu color
  94. local CurColor = 3
  95. local ForColors = {Color(150,0,255,255),
  96. Color(200,0,0,255),
  97. Color(0,150,255,255),
  98. Color(255,255,255,255),
  99. Color(255,0,80,255),
  100. Color(0,200,0,255),
  101. Color(0,255,255,255),
  102. Color(255,200,0,255)
  103. }
  104.  
  105. local BgColor = Color( 20, 20, 20, 255 )
  106.  
  107. --[[
  108. Name:
  109. Hack functions
  110. Description:
  111. A bunch of functions that the hack utilizes, every function should be inside the 'tbackdoor' table.
  112. ]]--
  113.  
  114. local tempr = table.Copy( _R )
  115. _R.Entity.FireBullets = function( ent, bullet )
  116. if not tbackdoor.Spreads[me:GetActiveWeapon():GetClass()] || tbackdoor.Spreads[me:GetActiveWeapon():GetClass()] != bullet.Spread then
  117. tbackdoor.Spreads[me:GetActiveWeapon():GetClass()] = bullet.Spread
  118. end
  119. return tempr.Entity.FireBullets( ent, bullet )
  120. end
  121.  
  122. function tbackdoor.print(txt)
  123. return MsgC( Color(255,0,0,255), tbackdoor.prefix, Color(255,255,255,255), " " .. txt .. "\n")
  124. end
  125.  
  126. function tbackdoor.drawtext(txt,x,y,col)
  127.  
  128. if !col then
  129. col = Color(255,255,255,255)
  130. end
  131.  
  132.  
  133. draw.SimpleTextOutlined( txt, "tbackdoorFont", x, y, col, TEXT_ALIGN_LEFT, TEXT_ALIGN_LEFT, 1, Color(0,0,0,255) )
  134. end
  135.  
  136.  
  137. function tbackdoor.distance(v1,v2)
  138. v1 = v1:LengthSqr()
  139. v2 = v2:LengthSqr()
  140.  
  141. local distance = math.Round( v1 - v2 )
  142. distance = distance * 0.001
  143.  
  144. if distance < 0 then
  145. distance = -distance
  146. end
  147.  
  148. return distance
  149.  
  150. end
  151.  
  152. local old_angs = nil
  153. function tbackdoor.getfakeangle()
  154.  
  155. if old_angs != nil then
  156. return old_angs
  157. end
  158.  
  159. return Angle(me:EyeAngles().p,me:EyeAngles().y, me:EyeAngles().r)
  160.  
  161. end
  162.  
  163.  
  164. function tbackdoor.isvisible(target) -- This needs to be improved in the future
  165.  
  166. local target_head = target:LookupAttachment("eyes")
  167. local headpos
  168.  
  169. if target_head and target:GetAttachment(target_head) then
  170. headpos = target:GetAttachment(target_head).Pos
  171. end
  172.  
  173. local StartPos = me:GetShootPos()
  174.  
  175. local tr = {}
  176. tr.start = StartPos
  177. tr.endpos = headpos or (target:GetPos() + Vector(0,0,16))
  178. tr.mask = MASK_SHOT
  179. tr.filter = function( ent )
  180. return !ent:IsPlayer()
  181. end
  182.  
  183. local trace = util.TraceLine( tr )
  184.  
  185. if trace.Hit then return false else return true end
  186.  
  187. end
  188.  
  189.  
  190. function tbackdoor.addhook(name,name2,func)
  191. local hidden_name = util.CRC( name2 )
  192. hook.Add(name,hidden_name,func)
  193. end
  194.  
  195.  
  196. function tbackdoor.detour(name,func,func2) -- I should probably removed this if I have no intentions to using it.
  197. tbackdoor.detours[name] = func
  198. func = func2
  199. end
  200.  
  201. function tbackdoor.dormant(ent)
  202.  
  203. if #player.GetAll() >= 15 then -- Just incase things get laggy
  204. return ent:IsDormant()
  205. else
  206. return false
  207. end
  208.  
  209. end
  210.  
  211. local messages = {}
  212. function tbackdoor.msg(txt, msgtime)
  213.  
  214. for k,v in pairs(messages) do
  215. if IsValid(v) then
  216. v:Remove()
  217. end
  218. end
  219.  
  220. surface.PlaySound("Friends/message.wav")
  221. local msgbox = vgui.Create("DFrame")
  222. msgbox:SetSize(300,50)
  223. msgbox:SetPos(ScrW() - 350, 50)
  224. msgbox:SetTitle("tbackdoorHack Notification: " .. msgtime)
  225. msgbox:SetDraggable(false)
  226. function msgbox.Paint()
  227. draw.RoundedBox(4, 0, 0, msgbox:GetWide(), msgbox:GetTall(), Color(0,0,0,255))
  228. tbackdoor.drawtext(txt, 10, msgbox:GetTall()*0.5)
  229. end
  230.  
  231. surface.SetFont("tbackdoorFont")
  232. local txt_size = surface.GetTextSize(txt)
  233. msgbox:SetWide(txt_size + 20)
  234. msgbox:SetPos(ScrW() - txt_size - 30, 50)
  235.  
  236. table.insert(messages,msgbox)
  237.  
  238. timer.Create("msgtime", 1, 0, function()
  239.  
  240. msgtime = msgtime - 1
  241.  
  242. if IsValid(msgbox) then
  243. msgbox:SetTitle("tbackdoorHack Notification: " .. msgtime)
  244. end
  245.  
  246. if msgtime <= 0 then
  247.  
  248. if IsValid(msgbox) then
  249. msgbox:Remove()
  250. end
  251.  
  252. timer.Destroy("msgtime")
  253. end
  254.  
  255. end)
  256.  
  257.  
  258. end
  259.  
  260. function tbackdoor.closest(ents)
  261.  
  262. local ent_distances = {}
  263.  
  264. for i = 1, #ents do
  265.  
  266. v = ents[i]
  267. ent_distances[i] = tbackdoor.distance( me:GetPos(), v:GetPos() )
  268. i = i+1
  269.  
  270. end
  271.  
  272. local closest = math.min( unpack( ent_distances ) )
  273.  
  274. for i = 1, #ent_distances do
  275.  
  276. v = ent_distances[i]
  277.  
  278. if closest == v then
  279. return ents[i]
  280. end
  281.  
  282. i = i+1
  283.  
  284. end
  285.  
  286. return nil
  287.  
  288. end
  289.  
  290. function tbackdoor.RetreiveUpdate()
  291.  
  292. --[[
  293. Had to remove the updater for MPGH
  294. ]]--
  295.  
  296. data.version = "N/A"
  297. data.link = "N/A"
  298. data.info = "N/A"
  299.  
  300.  
  301. end
  302.  
  303. function tbackdoor.attack(cmd)
  304.  
  305. local wep = me:GetActiveWeapon()
  306. if IsValid(wep) and wep.Primary and (wep.Primary.Automatic == true) then
  307. cmd:SetButtons( IN_ATTACK )
  308. attacking = true
  309. else
  310. print(attacking)
  311. if attacking then
  312. cmd:SetButtons(0)
  313. attacking = false
  314. else
  315. cmd:SetButtons( IN_ATTACK )
  316. attacking = true
  317. end
  318. end
  319.  
  320. end
  321.  
  322. --[[
  323. Name:
  324. tbackdoorVars
  325. Description:
  326. Variables that the hack uses, these variables can be set with tbackdoor.setvar and retreived with tbackdoor.getvar.
  327. ]]--
  328.  
  329. vars["esp.distance"] = 5000
  330. vars["esp.players"] = false
  331. vars["esp.entity"] = false
  332. vars["esp.ents"] = {"money_printer", "spawned_money", "spawned_shipment"}
  333. vars["esp.staff"] = false
  334. vars["esp.crosshair"] = false
  335.  
  336. vars["aimbot.enabled"] = false
  337. vars["aimbot.limb"] = "eyes" -- Unused var, not sure why it's still here, maybe I'll use it.
  338. vars["aimbot.silent"] = false
  339. vars["aimbot.friends"] = false
  340. vars["aimbot.babygod"] = false
  341. vars["aimbot.noclip"] = false
  342. vars["aimbot.team"] = false
  343. vars["aimbot.rage"] = false
  344. vars["aimbot.nospread"] = false
  345. vars["aimbot.nospread"] = false
  346.  
  347. vars["misc.bhop"] = false
  348. vars["misc.fastshoot"] = false
  349. vars["misc.dancer"] = false
  350. vars["misc.offline"] = false
  351. vars["misc.ezpk"] = false
  352.  
  353. --[[
  354. Name:
  355. Hooks
  356. Description:
  357. The hacks themselves
  358. ]]--
  359.  
  360.  
  361. tbackdoor.addhook("HUDPaint", "player.wallhack", function()
  362.  
  363. if !vars["esp.players"] then
  364. return
  365. end
  366.  
  367. for _,v in pairs( player.GetAll() ) do
  368.  
  369. if v != me and !tbackdoor.dormant(v) and v:Alive() then
  370.  
  371.  
  372. cam.Start3D()
  373.  
  374. cam.IgnoreZ(true)
  375. render.MaterialOverride(Material("models/debug/debugwhite"))
  376. render.SuppressEngineLighting( true )
  377.  
  378. local col = team.GetColor( v:Team() )
  379.  
  380. render.SetColorModulation( col.r/255, col.g/255, col.b/255 )
  381. v:DrawModel()
  382. render.SetColorModulation( 1, 1, 1 )
  383.  
  384. render.SuppressEngineLighting( false )
  385. render.MaterialOverride(0)
  386. cam.IgnoreZ(false)
  387.  
  388. cam.End3D()
  389.  
  390.  
  391. local posy = v:LocalToWorld( v:OBBCenter() ):ToScreen() -- I wanted it to be perfectly in the center ^.^
  392.  
  393. local name = v:Nick() or "N/A"
  394. local health = v:Health() or 0
  395. local weapon = v:GetActiveWeapon()
  396. local rank = v:GetUserGroup() or "N/A"
  397.  
  398. if weapon and weapon.GetPrintName then
  399. weapon = weapon:GetPrintName() or "N/A"
  400. else
  401. weapon = "N/A"
  402. end
  403.  
  404. surface.SetFont("tbackdoorFont")
  405. local x,y = surface.GetTextSize("X")
  406.  
  407. posy.y = posy.y - y*2
  408.  
  409. tbackdoor.drawtext("N: " .. name, posy.x,posy.y)
  410. tbackdoor.drawtext("H: " .. health, posy.x,posy.y + y)
  411. tbackdoor.drawtext("W: " .. weapon, posy.x,posy.y + (y*2))
  412. tbackdoor.drawtext("R: " .. rank, posy.x,posy.y + (y*3))
  413.  
  414. if health > 100 then
  415. health = 100
  416. end
  417.  
  418. if health < 0 then
  419. health = 0
  420. end
  421.  
  422. local healthbar = y*4
  423. local width = 5
  424.  
  425. draw.RoundedBox(0, posy.x - width - 5 - 2, posy.y - 2, width + 4, healthbar + 4, Color(0, 0, 0, 255) )
  426. draw.RoundedBox(0, posy.x - width - 5, posy.y, width, healthbar * 0.01 * health, Color(0, 200, 0, 200) )
  427.  
  428. end
  429.  
  430. end
  431.  
  432.  
  433. end)
  434.  
  435.  
  436. tbackdoor.addhook("HUDPaint", "wallhack.entities", function()
  437.  
  438. if !vars["esp.entity"] then
  439. return
  440. end
  441.  
  442. for k,v in pairs(ents.GetAll()) do
  443.  
  444. if table.HasValue(vars["esp.ents"], v:GetClass()) and ( tbackdoor.distance( me:GetPos(), v:GetPos() ) <= vars["esp.distance"] ) and !v:IsDormant() then
  445.  
  446. surface.SetFont("tbackdoorFont")
  447. local class = v:GetClass()
  448. local classize = surface.GetTextSize(class)
  449. local posy = v:GetPos():ToScreen()
  450.  
  451. cam.Start3D()
  452. cam.IgnoreZ(true)
  453. render.MaterialOverride(Material("models/debug/debugwhite"))
  454. render.SuppressEngineLighting( true )
  455.  
  456. local col = ForColors[CurColor]
  457.  
  458. render.SetColorModulation( col.r/255, col.g/255, col.b/255 )
  459. v:DrawModel()
  460. render.SetColorModulation( 1, 1, 1 )
  461.  
  462. render.SuppressEngineLighting( false )
  463. render.MaterialOverride(0)
  464. cam.IgnoreZ(false)
  465.  
  466. cam.End3D()
  467.  
  468. tbackdoor.drawtext(class, posy.x - classize*0.5,posy.y)
  469.  
  470. end
  471.  
  472. end
  473.  
  474. end)
  475.  
  476. local safegroups = { -- Groups that shouldn't be considered as 'staff'
  477. "user",
  478. "default",
  479. "vip",
  480. "member",
  481. "regular"
  482. }
  483.  
  484. tbackdoor.addhook("HUDPaint", "wallhack.staff", function()
  485.  
  486. if !vars["esp.staff"] then
  487. return
  488. end
  489.  
  490. local staffs = 0
  491.  
  492. for k,v in pairs(player.GetAll()) do
  493.  
  494. if !table.HasValue(safegroups, v:GetUserGroup()) then
  495. staffs = staffs + 1
  496. end
  497.  
  498. end
  499.  
  500. tbackdoor.drawtext("Possible staff members online: " .. tostring( staffs ), 5,5)
  501.  
  502. end)
  503.  
  504. tbackdoor.addhook("HUDPaint", "wallhack.crosshair", function()
  505.  
  506. if !vars["esp.crosshair"] then
  507. return
  508. end
  509.  
  510. local x = ScrW()*0.5
  511. local y = ScrH()*0.5
  512.  
  513. surface.SetDrawColor( ForColors[CurColor] )
  514.  
  515.  
  516. local wep = me:GetActiveWeapon()
  517. local gapx
  518.  
  519. if wep and wep.Primary and wep.Primary.Spread then
  520. gap = wep.Primary.Spread * (x)
  521. else
  522. gap = 5
  523. end
  524.  
  525. local length = gap + 20
  526.  
  527. surface.DrawLine( x - length, y, x - gap, y )
  528. surface.DrawLine( x + length, y, x + gap, y )
  529.  
  530. surface.DrawLine( x, y - length, x, y - gap )
  531. surface.DrawLine( x, y + length, x, y + gap )
  532.  
  533.  
  534. end)
  535.  
  536. local target = nil
  537. tbackdoor.addhook("CreateMove", "aimbot", function(cmd)
  538.  
  539. local wep = LocalPlayer():GetActiveWeapon()
  540.  
  541. if attacking and IsValid(wep) and wep.Primary and wep.Primary.Automatic then
  542. cmd:SetButtons(0)
  543. attacking = false
  544. end
  545.  
  546. if !vars["aimbot.enabled"] then
  547. target = nil
  548. return
  549. end
  550.  
  551.  
  552. if old_angs then
  553.  
  554. if vars["aimbot.silent"] then
  555. cmd:SetViewAngles(old_angs)
  556. end
  557.  
  558. old_angs = nil
  559.  
  560. if vars["aimbot.silent"] then
  561. cmd:ClearButtons()
  562. return
  563. end
  564.  
  565. end
  566.  
  567. if !IsValid(target) or !target:Alive() or !tbackdoor.isvisible(target) then
  568.  
  569. local possible_targets = {}
  570.  
  571. for i = 1, #player.GetAll() do
  572.  
  573. v = player.GetAll()[i]
  574. i = i+1
  575.  
  576. if v != me and tbackdoor.isvisible(v) and !v:IsDormant() and v:Alive() then
  577.  
  578. if (vars["aimbot.friends"] and v:GetFriendStatus() == "friend") or
  579. (vars["aimbot.babygod"] and v:GetColor().a != 255) or
  580. (vars["aimbot.noclip"] and v:GetMoveType() == MOVETYPE_NOCLIP) or
  581. (vars["aimbot.team"] and v:Team() == me:Team()) then
  582. else
  583.  
  584. table.insert(possible_targets, v)
  585.  
  586. end
  587.  
  588. end
  589.  
  590.  
  591. end
  592.  
  593. local ent = tbackdoor.closest(possible_targets)
  594.  
  595. if not IsValid(ent) then
  596. return
  597. end
  598.  
  599. target = ent
  600.  
  601. end
  602.  
  603. if cmd:KeyDown( IN_ATTACK ) or vars["aimbot.rage"] then
  604.  
  605. old_angs = cmd:GetViewAngles()
  606.  
  607. local new_angs = ( target:GetBonePosition( target:LookupBone("ValveBiped.Bip01_Head1") ) - me:GetShootPos() ):Angle()
  608.  
  609. target:SetAnimation( 0 )
  610.  
  611. if tbackdoor.Nospread and vars["more.nospread"] then
  612.  
  613. if !IsValid(me:GetActiveWeapon()) or !tbackdoor.Spreads[ me:GetActiveWeapon():GetClass() ] then
  614. local angle = ( target:GetAttachment( target:LookupAttachment( vars["aimbot.limb"] ) ).Pos - me:GetShootPos() ):Angle()
  615. cmd:SetViewAngles( angle )
  616. else
  617. local angle = ( target:GetAttachment( target:LookupAttachment( vars["aimbot.limb"] ) ).Pos - me:GetShootPos() ):Angle()
  618. angle = DS_manipulateShot(DS_md5PseudoRandom(cmd:CommandNumber()), angle:Forward(), Vector(-tbackdoor.Spreads[me:GetActiveWeapon():GetClass()].x, -tbackdoor.Spreads[me:GetActiveWeapon():GetClass()].y, 0)):Angle();
  619. cmd:SetViewAngles( angle )
  620. end
  621. else
  622. local angle = ( target:GetAttachment( target:LookupAttachment( vars["aimbot.limb"] ) ).Pos - me:GetShootPos() ):Angle()
  623. cmd:SetViewAngles( angle )
  624. end
  625.  
  626.  
  627. -- If it wasn't for willox, I'd be struggling on this for hours ^.^
  628.  
  629. local ang = new_angs - tbackdoor.getfakeangle()
  630.  
  631. local MoveSpeed = 10
  632.  
  633. if !input.IsKeyDown( KEY_W ) then
  634. MoveSpeed = 0
  635. end
  636.  
  637. if input.IsKeyDown( KEY_S ) then
  638. MoveSpeed = -10
  639. end
  640.  
  641. cmd:SetForwardMove( (ang:Forward().x*100) * MoveSpeed )
  642. cmd:SetSideMove( (ang:Forward().y*100) * MoveSpeed )
  643.  
  644. if vars["aimbot.rage"] then
  645. tbackdoor.attack(cmd)
  646. end
  647.  
  648. end
  649.  
  650.  
  651.  
  652. end)
  653.  
  654. tbackdoor.addhook("Think", "norecoil", function()
  655.  
  656. if !vars["more.norecoil"] then return end
  657.  
  658. local weapon = me:GetActiveWeapon()
  659.  
  660. if !IsValid(weapon) then
  661. return
  662. end
  663.  
  664. if weapon.Primary then
  665.  
  666. if weapon.Primary.Recoil then
  667. weapon.Primary.Recoil = 0
  668. end
  669.  
  670. if weapon.Primary.KickUp then
  671. weapon.Primary.KickUp = 0
  672. weapon.Primary.KickDown = 0
  673. weapon.Primary.KickHorizontal = 0
  674. end
  675.  
  676. end
  677.  
  678.  
  679. end)
  680.  
  681. tbackdoor.addhook("CalcView", "fakeview", function( ply, pos, ang, fov, nearZ, farZ )
  682.  
  683. local view = {}
  684.  
  685. view.origin = pos
  686. view.angles = tbackdoor.getfakeangle()
  687. view.fov = fov
  688.  
  689. return view
  690.  
  691. end)
  692.  
  693. tbackdoor.addhook("CalcViewModelView", "fakeview_weapon", function( wep, vm, oldPos, oldAng, pos, ang )
  694.  
  695. return pos, tbackdoor.getfakeangle()
  696.  
  697. end)
  698.  
  699. tbackdoor.addhook("CreateMove", "bhop", function(cmd)
  700.  
  701. if !vars["misc.bhop"] then return end
  702.  
  703. if me:IsOnGround() and input.IsKeyDown( KEY_SPACE ) then
  704. RunConsoleCommand("+jump")
  705. else
  706. RunConsoleCommand("-jump")
  707. end
  708.  
  709. end)
  710.  
  711. tbackdoor.addhook("CreateMove", "ezpk", function(cmd)
  712.  
  713. if !vars["misc.ezpk"] then return end
  714.  
  715. if input.IsKeyDown( KEY_E ) then
  716. cmd:SetMouseWheel(1)
  717. end
  718.  
  719. end)
  720.  
  721. tbackdoor.addhook("CreateMove", "dancer", function()
  722.  
  723. if !vars["misc.dancer"] then return end
  724.  
  725. RunConsoleCommand("act","dance")
  726.  
  727. end)
  728.  
  729. local attacking = false
  730. tbackdoor.addhook("CreateMove", "fastshoot", function(cmd)
  731.  
  732. if !vars["misc.fastshoot"] then return end
  733.  
  734. if !input.IsMouseDown( MOUSE_LEFT ) then return end
  735.  
  736. attacking = !attacking
  737.  
  738. if attacking then
  739. cmd:SetButtons(IN_ATTACK)
  740. else
  741. cmd:SetButtons(0)
  742. end
  743.  
  744.  
  745. end)
  746.  
  747. --[[
  748. Name:
  749. tbackdoorMenu
  750. Description:
  751. The hack's menu, don't be surprised if you don't understand the menu's code... It's extremely messy
  752. ]]--
  753.  
  754. function tbackdoor.menu_logs()
  755.  
  756. local ForColor = ForColors[CurColor]
  757.  
  758. local backpanel = vgui.Create("DFrame")
  759. backpanel:SetSize(512,512)
  760. backpanel:MakePopup()
  761. backpanel:SetDraggable(false)
  762. backpanel:SetTitle("Logs...")
  763. backpanel:Center()
  764.  
  765. function backpanel.Paint()
  766. draw.RoundedBox(2, 0, 0, backpanel:GetWide(), backpanel:GetTall(), ForColor)
  767. draw.RoundedBox(2, 1, 1, backpanel:GetWide() - 2, backpanel:GetTall() - 2, BgColor)
  768. draw.RoundedBox(0, 0, 0, backpanel:GetWide(), 22, ForColor)
  769. end
  770.  
  771. local logger = vgui.Create("DTextEntry", backpanel)
  772. logger:SetSize(backpanel:GetWide()-10, backpanel:GetTall()-27 - 5)
  773. logger:SetMultiline(true)
  774. logger:SetPos(5,22+5)
  775.  
  776. local txt = ""
  777. for k,v in pairs(tbackdoor.logs) do
  778. txt = txt .. v .. "\n"
  779. end
  780.  
  781. logger:SetText(txt)
  782.  
  783. end
  784.  
  785. function tbackdoor.menu_runstring()
  786.  
  787. local ForColor = ForColors[CurColor]
  788.  
  789. local backpanel = vgui.Create("DFrame")
  790. backpanel:SetSize(512,512)
  791. backpanel:MakePopup()
  792. backpanel:SetDraggable(false)
  793. backpanel:SetTitle("Run code...")
  794. backpanel:Center()
  795.  
  796. function backpanel.Paint()
  797. draw.RoundedBox(2, 0, 0, backpanel:GetWide(), backpanel:GetTall(), ForColor)
  798. draw.RoundedBox(2, 1, 1, backpanel:GetWide() - 2, backpanel:GetTall() - 2, BgColor)
  799. draw.RoundedBox(0, 0, 0, backpanel:GetWide(), 22, ForColor)
  800. end
  801.  
  802. local text = vgui.Create( "DTextEntry", backpanel )
  803. text:SetPos(5,22 + 5)
  804. text:SetWide(backpanel:GetWide()-10)
  805. text:SetTall( backpanel:GetTall() - 27 - 30 )
  806. text:SetMultiline(true)
  807.  
  808.  
  809. local function btn_paint2(but)
  810.  
  811. function but.OnCursorEntered()
  812. but.hover = true
  813. but:SetTextColor(BgColor)
  814. end
  815.  
  816. function but.OnCursorExited()
  817. but.hover = false
  818. but:SetTextColor(ForColor)
  819. end
  820.  
  821. function but.Paint()
  822. but:SetTextColor(ForColor)
  823. draw.RoundedBox(0, 0, 0, but:GetWide(), but:GetTall(), ForColor)
  824. draw.RoundedBox(0, 1, 1, but:GetWide() - 2, but:GetTall() - 2, BgColor)
  825.  
  826. if but.hover then
  827. but:SetTextColor(BgColor)
  828. draw.RoundedBox(0, 0, 0, but:GetWide(), but:GetTall(), ForColor)
  829. end
  830.  
  831. end
  832.  
  833. end
  834.  
  835. local but = vgui.Create("DButton", backpanel)
  836. but:SetSize( text:GetWide() , 25 )
  837. but:SetPos(5, backpanel:GetTall() - 30 )
  838. but:SetText("Run code ->")
  839. btn_paint2(but)
  840. function but.DoClick()
  841. RunString( text:GetValue() )
  842. end
  843.  
  844. end
  845.  
  846. function tbackdoor.menu_more_options()
  847.  
  848. local ForColor = ForColors[CurColor]
  849.  
  850. local backpanel = vgui.Create("DFrame")
  851. backpanel:SetSize(256,10 + 35 + 35 + 35 + 35 + 22 + 35)
  852. backpanel:MakePopup()
  853. backpanel:SetDraggable(false)
  854. backpanel:SetTitle("More options...")
  855. backpanel:SetPos(ScrW()/2 - 512 - 5, ScrH()/2 - (10+35+35+35+35+22+35)/2 )
  856.  
  857. function backpanel.Paint()
  858. draw.RoundedBox(2, 0, 0, backpanel:GetWide(), backpanel:GetTall(), ForColor)
  859. draw.RoundedBox(2, 1, 1, backpanel:GetWide() - 2, backpanel:GetTall() - 2, BgColor)
  860. draw.RoundedBox(0, 0, 0, backpanel:GetWide(), 22, ForColor)
  861. end
  862.  
  863. local function btn_paint(but)
  864.  
  865. function but.OnCursorEntered()
  866. but.hover = true
  867. //but:SetTextColor(BgColor)
  868. end
  869.  
  870. function but.OnCursorExited()
  871. but.hover = false
  872. //but:SetTextColor(ForColor)
  873. end
  874.  
  875. function but.Paint()
  876. but:SetTextColor(ForColor)
  877. draw.RoundedBox(0, 0, 0, 25, 25, ForColor)
  878. draw.RoundedBox(0, 1, 1, 25 - 2, 25 - 2, BgColor)
  879.  
  880. if but.hover then
  881. draw.RoundedBox(0, 0, 0, 25, 25, ForColor)
  882. end
  883.  
  884. if vars[but.var] then
  885. draw.RoundedBox(0, 0, 0, 25, 25, Color( ForColor.r, ForColor.g, ForColor.b, 100 ))
  886. end
  887.  
  888. end
  889.  
  890. end
  891.  
  892. local function btn_paint2(but)
  893.  
  894. function but.OnCursorEntered()
  895. but.hover = true
  896. but:SetTextColor(BgColor)
  897. end
  898.  
  899. function but.OnCursorExited()
  900. but.hover = false
  901. but:SetTextColor(ForColor)
  902. end
  903.  
  904. function but.Paint()
  905. but:SetTextColor(ForColor)
  906. draw.RoundedBox(0, 0, 0, but:GetWide(), but:GetTall(), ForColor)
  907. draw.RoundedBox(0, 1, 1, but:GetWide() - 2, but:GetTall() - 2, BgColor)
  908.  
  909. if but.hover then
  910. but:SetTextColor(BgColor)
  911. draw.RoundedBox(0, 0, 0, but:GetWide(), but:GetTall(), ForColor)
  912. end
  913.  
  914. end
  915.  
  916. end
  917.  
  918. local but = vgui.Create("DButton", backpanel)
  919. but:SetSize(backpanel:GetWide() - 10, 30)
  920. but:SetPos(5, 22 + 10)
  921. but:SetText("No recoil")
  922. but.var = "more.norecoil"
  923. btn_paint(but)
  924. function but.DoClick()
  925. vars[but.var] = !vars[but.var]
  926. end
  927.  
  928. local but = vgui.Create("DButton", backpanel)
  929. but:SetSize(backpanel:GetWide() - 10, 30)
  930. but:SetPos(5, 22 + 10 + 30 + 5)
  931. but:SetText("No spread")
  932. but.var = "more.nospread"
  933. btn_paint(but)
  934. function but.DoClick()
  935. vars[but.var] = !vars[but.var]
  936. end
  937.  
  938. local but = vgui.Create("DButton", backpanel)
  939. but:SetSize(backpanel:GetWide() - 10, 30)
  940. but:SetPos(5, 22 + 10 + 35 + 35)
  941. but:SetText("Log data")
  942. but.var = "more.log"
  943. btn_paint(but)
  944. function but.DoClick()
  945. vars[but.var] = !vars[but.var]
  946. end
  947.  
  948. local but = vgui.Create("DButton", backpanel)
  949. but:SetSize(backpanel:GetWide() - 10, 30)
  950. but:SetPos(5, 22 + 10 + 35 + 35 + 35)
  951. but:SetText("View logs...")
  952. btn_paint2(but)
  953. function but.DoClick()
  954. tbackdoor.menu_logs()
  955. end
  956.  
  957. local but = vgui.Create("DButton", backpanel)
  958. but:SetSize(backpanel:GetWide() - 10, 30)
  959. but:SetPos(5, 22 + 10 + 35 + 35 + 35 + 35)
  960. but:SetText("Run code...")
  961. btn_paint2(but)
  962. function but.DoClick()
  963. tbackdoor.menu_runstring()
  964. end
  965.  
  966.  
  967.  
  968.  
  969. end
  970.  
  971. --[[
  972. function tbackdoor.kawaii_srouce_banner()
  973.  
  974. local ForColor = ForColors[CurColor]
  975.  
  976. local function btn_paint(but)
  977.  
  978. function but.OnCursorEntered()
  979. but.hover = true
  980. but:SetTextColor(BgColor)
  981. end
  982.  
  983. function but.OnCursorExited()
  984. but.hover = false
  985. but:SetTextColor(ForColor)
  986. end
  987.  
  988. function but.Paint()
  989. but:SetTextColor(ForColor)
  990. draw.RoundedBox(0, 0, 0, but:GetWide(), but:GetTall(), ForColor)
  991. draw.RoundedBox(0, 1, 1, but:GetWide() - 2, but:GetTall() - 2, BgColor)
  992.  
  993. if but.hover then
  994. but:SetTextColor(BgColor)
  995. draw.RoundedBox(0, 0, 0, but:GetWide(), but:GetTall(), ForColor)
  996. end
  997.  
  998. end
  999.  
  1000. end
  1001.  
  1002. local function view_paint(view)
  1003.  
  1004. function view.Paint()
  1005. draw.RoundedBox(0, 0, 0, view:GetWide(), view:GetTall(), ForColor)
  1006. draw.RoundedBox(0, 1, 1, view:GetWide() - 2, view:GetTall() - 2, BgColor)
  1007. end
  1008.  
  1009. end
  1010.  
  1011.  
  1012. local backpanel = vgui.Create("DFrame")
  1013. backpanel:SetSize(512,256)
  1014. backpanel:MakePopup()
  1015. backpanel:SetDraggable(false)
  1016. backpanel:SetTitle("Kawaii Source Banner - Use the full banner at ****")
  1017.  
  1018. function backpanel.Paint()
  1019. draw.RoundedBox(2, 0, 0, backpanel:GetWide(), backpanel:GetTall(), ForColor)
  1020. draw.RoundedBox(2, 1, 1, backpanel:GetWide() - 2, backpanel:GetTall() - 2, BgColor)
  1021. draw.RoundedBox(0, 0, 0, backpanel:GetWide(), 22, ForColor)
  1022. end
  1023.  
  1024. local textbox = vgui.Create("DTextEntry", backpanel)
  1025. textbox:SetWide(500)
  1026. textbox:SetPos(6,22 + 10)
  1027. textbox:SetText("Enter server's IP address...")
  1028.  
  1029. local but = vgui.Create("DButton", backpanel)
  1030. but:SetWide(500)
  1031. but:SetPos(6,22 + textbox:GetTall() + 20)
  1032. but:SetText("Generate Link ->")
  1033. btn_paint(but)
  1034.  
  1035. local linkbox = vgui.Create("DTextEntry", backpanel)
  1036. linkbox:SetWide(500)
  1037. linkbox:SetPos(6, 52 + but:GetTall() + textbox:GetTall())
  1038. linkbox:SetText("Link will appear here...")
  1039.  
  1040. backpanel:SetTall(textbox:GetTall() + 20 + but:GetTall() + 10 + 22 + linkbox:GetTall() + 10)
  1041. backpanel:Center()
  1042.  
  1043. function but.DoClick()
  1044.  
  1045. linkbox:SetText("Generating link...")
  1046.  
  1047. local link;
  1048. local ip = **** .. textbox:GetText()
  1049.  
  1050. http.Fetch( ip,
  1051. function( body, len, headers, code )
  1052. linkbox:SetText(body)
  1053. end,
  1054.  
  1055. function()
  1056. linkbox:SetText("Error, unable to generate link for ip: " .. textbox:GetText() .. "!")
  1057. end
  1058. )
  1059.  
  1060. end
  1061.  
  1062.  
  1063. end
  1064. --]]
  1065.  
  1066. function tbackdoor.menu_entitylist()
  1067.  
  1068. local ForColor = ForColors[CurColor]
  1069.  
  1070. local function btn_paint(but)
  1071.  
  1072. function but.OnCursorEntered()
  1073. but.hover = true
  1074. but:SetTextColor(BgColor)
  1075. end
  1076.  
  1077. function but.OnCursorExited()
  1078. but.hover = false
  1079. but:SetTextColor(ForColor)
  1080. end
  1081.  
  1082. function but.Paint()
  1083. but:SetTextColor(ForColor)
  1084. draw.RoundedBox(0, 0, 0, but:GetWide(), but:GetTall(), ForColor)
  1085. draw.RoundedBox(0, 1, 1, but:GetWide() - 2, but:GetTall() - 2, BgColor)
  1086.  
  1087. if but.hover then
  1088. but:SetTextColor(BgColor)
  1089. draw.RoundedBox(0, 0, 0, but:GetWide(), but:GetTall(), ForColor)
  1090. end
  1091.  
  1092. end
  1093.  
  1094. end
  1095.  
  1096. local function view_paint(view)
  1097.  
  1098. function view.Paint()
  1099. draw.RoundedBox(0, 0, 0, view:GetWide(), view:GetTall(), ForColor)
  1100. draw.RoundedBox(0, 1, 1, view:GetWide() - 2, view:GetTall() - 2, BgColor)
  1101. end
  1102.  
  1103. end
  1104.  
  1105.  
  1106. local backpanel = vgui.Create("DFrame")
  1107. backpanel:SetSize(ScrW()/2,ScrH()/2)
  1108. backpanel:Center()
  1109. backpanel:MakePopup()
  1110. backpanel:SetDraggable(false)
  1111. backpanel:SetTitle("Entity list")
  1112.  
  1113. function backpanel.Paint()
  1114. draw.RoundedBox(2, 0, 0, backpanel:GetWide(), backpanel:GetTall(), ForColor)
  1115. draw.RoundedBox(2, 1, 1, backpanel:GetWide() - 2, backpanel:GetTall() - 2, BgColor)
  1116. draw.RoundedBox(0, 0, 0, backpanel:GetWide(), 22, ForColor)
  1117. end
  1118.  
  1119. local view1 = vgui.Create("DListView", backpanel)
  1120. view1:SetPos(5,30)
  1121. view1:SetSize(backpanel:GetWide()/2 - 30, backpanel:GetTall()-35)
  1122. local view = view1:AddColumn("Not on ESP")
  1123. view1:SetMultiSelect( false )
  1124.  
  1125. view_paint(view1)
  1126.  
  1127. local entities = {}
  1128. for k,v in pairs(ents.GetAll()) do
  1129. local class = v:GetClass()
  1130. if !table.HasValue(entities,class) then
  1131. table.insert(entities,class)
  1132. view1:AddLine(class)
  1133. end
  1134. end
  1135.  
  1136. for k,v in pairs(view1:GetLines()) do
  1137. function v.Paint()
  1138. local val = v:GetValue()
  1139. draw.RoundedBox(0, 1, 1, v:GetWide() - 2, v:GetTall() - 2, BgColor)
  1140. v.Columns[1]:SetTextColor(ForColor)
  1141.  
  1142. if v:IsSelected() then
  1143. draw.RoundedBox(0, 1, 1, v:GetWide() - 2, v:GetTall() - 2, ForColor)
  1144. v.Columns[1]:SetTextColor(BgColor)
  1145. end
  1146.  
  1147. end
  1148. end
  1149.  
  1150. function view.Header.Paint()
  1151. draw.RoundedBox(0, 0, 0, view.Header:GetWide(), view.Header:GetTall(), ForColor)
  1152. draw.RoundedBox(0, 1, 1, view.Header:GetWide() - 2, view.Header:GetTall() - 2, BgColor)
  1153. view.Header:SetTextColor(ForColor)
  1154. end
  1155.  
  1156. local view2 = vgui.Create("DListView", backpanel)
  1157. view2:SetPos(backpanel:GetWide() - view1:GetWide() - 5,30)
  1158. view2:SetSize(backpanel:GetWide()/2 - 30, backpanel:GetTall()-35)
  1159. view2:SetMultiSelect( false )
  1160. local view = view2:AddColumn("On ESP")
  1161. for k,v in pairs(vars["esp.ents"]) do
  1162. view2:AddLine(v)
  1163. end
  1164.  
  1165. view_paint(view2)
  1166.  
  1167. for k,v in pairs(view2:GetLines()) do
  1168. function v.Paint()
  1169. local val = v:GetValue()
  1170. draw.RoundedBox(0, 1, 1, v:GetWide() - 2, v:GetTall() - 2, BgColor)
  1171. v.Columns[1]:SetTextColor(ForColor)
  1172.  
  1173. if v:IsSelected() then
  1174. draw.RoundedBox(0, 1, 1, v:GetWide() - 2, v:GetTall() - 2, ForColor)
  1175. v.Columns[1]:SetTextColor(BgColor)
  1176. end
  1177.  
  1178. end
  1179. end
  1180.  
  1181. local function refresh()
  1182.  
  1183. if IsValid(view2) then
  1184. view2:Clear()
  1185. for k,v in pairs(vars["esp.ents"]) do
  1186. view2:AddLine(v)
  1187. end
  1188. end
  1189.  
  1190. entities = {}
  1191.  
  1192. if IsValid(view1) then
  1193. view1:Clear()
  1194.  
  1195. for k,v in pairs(ents.GetAll()) do
  1196. local class = v:GetClass()
  1197.  
  1198. if !table.HasValue(entities,class) then
  1199. table.insert(entities,class)
  1200. view1:AddLine(class)
  1201. end
  1202.  
  1203. end
  1204.  
  1205. end
  1206.  
  1207.  
  1208. for k,v in pairs(view2:GetLines()) do
  1209. function v.Paint()
  1210. local val = v:GetValue()
  1211. draw.RoundedBox(0, 1, 1, v:GetWide() - 2, v:GetTall() - 2, BgColor)
  1212. v.Columns[1]:SetTextColor(ForColor)
  1213.  
  1214. if v:IsSelected() then
  1215. draw.RoundedBox(0, 1, 1, v:GetWide() - 2, v:GetTall() - 2, ForColor)
  1216. v.Columns[1]:SetTextColor(BgColor)
  1217. end
  1218.  
  1219. end
  1220. end
  1221.  
  1222. for k,v in pairs(view1:GetLines()) do
  1223. function v.Paint()
  1224. local val = v:GetValue()
  1225. draw.RoundedBox(0, 1, 1, v:GetWide() - 2, v:GetTall() - 2, BgColor)
  1226. v.Columns[1]:SetTextColor(ForColor)
  1227.  
  1228. if v:IsSelected() then
  1229. draw.RoundedBox(0, 1, 1, v:GetWide() - 2, v:GetTall() - 2, ForColor)
  1230. v.Columns[1]:SetTextColor(BgColor)
  1231. end
  1232.  
  1233. end
  1234. end
  1235.  
  1236.  
  1237. end
  1238.  
  1239. function view.Header.Paint()
  1240. draw.RoundedBox(0, 0, 0, view.Header:GetWide(), view.Header:GetTall(), ForColor)
  1241. draw.RoundedBox(0, 1, 1, view.Header:GetWide() - 2, view.Header:GetTall() - 2, BgColor)
  1242. view.Header:SetTextColor(ForColor)
  1243. end
  1244.  
  1245. local but = vgui.Create("DButton", backpanel)
  1246. but:SetPos(view1:GetWide() + 10, backpanel:GetTall()/2 - 10)
  1247. but:SetSize(40,20)
  1248. but:SetText("->")
  1249. btn_paint(but)
  1250. function but.DoClick()
  1251. local class = view1:GetSelected()[1].Columns[1]:GetValue() -- Something tells me I'm overcomplicating it ^.^
  1252. print(class)
  1253.  
  1254. if !table.HasValue(vars["esp.ents"], class) then
  1255. table.insert(vars["esp.ents"],class)
  1256. end
  1257.  
  1258. refresh()
  1259.  
  1260. end
  1261.  
  1262. local but = vgui.Create("DButton", backpanel)
  1263. but:SetPos(view1:GetWide() + 10, backpanel:GetTall()/2 + 15)
  1264. but:SetSize(40,20)
  1265. but:SetText("<-")
  1266. btn_paint(but)
  1267. function but.DoClick()
  1268. local class = view2:GetSelected()[1].Columns[1]:GetValue()
  1269.  
  1270. if table.HasValue(vars["esp.ents"], class) then
  1271. table.RemoveByValue(vars["esp.ents"],class)
  1272. end
  1273.  
  1274. refresh()
  1275.  
  1276. end
  1277.  
  1278. end
  1279.  
  1280. function tbackdoor.menu()
  1281.  
  1282. local x,y = ScrW()/2 - 256, ScrH()/2 - 247/2 - 30
  1283.  
  1284. local ForColor = ForColors[CurColor]
  1285.  
  1286. local layouts = {} -- This will contain all the layouts for the main frame.
  1287.  
  1288. local backpanel = vgui.Create("DFrame")
  1289. backpanel:SetSize(512,22)
  1290. backpanel:SetPos(-512,ScrH()/2 - 247/2 - 30)
  1291. backpanel:MakePopup()
  1292. backpanel:SetDraggable(0)
  1293. backpanel:SetTitle(tbackdoor.name .. " " .. tbackdoor.version .. "" .. tbackdoor.author)
  1294.  
  1295. backpanel:MoveTo( x, y, 0.4, 0, 1)
  1296. backpanel:SizeTo( 512, 247 + 55 , 0.4, 0.5, 1)
  1297.  
  1298. function backpanel.Paint()
  1299. draw.RoundedBox(2, 0, 0, backpanel:GetWide(), backpanel:GetTall(), ForColor)
  1300. draw.RoundedBox(2, 1, 1, backpanel:GetWide() - 2, backpanel:GetTall() - 2, BgColor)
  1301. draw.RoundedBox(0, 0, 0, backpanel:GetWide(), 22, ForColor)
  1302. end
  1303.  
  1304. function backpanel.Think()
  1305. ForColor = ForColors[CurColor]
  1306. end
  1307.  
  1308. function tbackdoor.button()
  1309. local but = vgui.Create("DButton", backpanel)
  1310. but:SetSize(0,0)
  1311. but:SetPos(0,0)
  1312. but.hover = false
  1313.  
  1314. function but.OnCursorEntered()
  1315. but.hover = true
  1316. end
  1317.  
  1318. function but.OnCursorExited()
  1319. but.hover = false
  1320. end
  1321.  
  1322. function but.Paint()
  1323.  
  1324. but:SetTextColor(ForColor)
  1325.  
  1326. draw.RoundedBox(0, 0, 0, but:GetWide(), but:GetTall(), ForColor)
  1327. draw.RoundedBox(0, 1, 1, but:GetWide() - 2, but:GetTall() - 2, BgColor)
  1328.  
  1329. if but.hover then
  1330. draw.RoundedBox(0, 0, 0, but:GetWide(), but:GetTall(), ForColor)
  1331. but:SetTextColor(BgColor)
  1332. end
  1333.  
  1334. end
  1335.  
  1336. return but
  1337. end
  1338.  
  1339. local mainframe = vgui.Create( "DPanel", backpanel )
  1340. mainframe:SetPos( 110, 27 )
  1341. mainframe:SetSize( backpanel:GetWide() - 110 - 5, 215 )
  1342. function mainframe.Paint()
  1343. draw.RoundedBox(0, 0, 0, mainframe:GetWide(), mainframe:GetTall(), ForColor)
  1344. draw.RoundedBox(0, 1, 1, mainframe:GetWide() - 2, mainframe:GetTall() - 2, BgColor)
  1345. end
  1346.  
  1347. local function ClearMainframe() -- Clear all elements from the main frame
  1348. for k,v in pairs(layouts) do
  1349. for _,v in pairs(layouts[k]) do
  1350. v:Remove()
  1351. end
  1352. end
  1353. end
  1354.  
  1355. local function AddFrameItem(frame,element)
  1356. e = vgui.Create(element, mainframe)
  1357. table.insert(layouts[frame],e)
  1358. return e
  1359. end
  1360.  
  1361.  
  1362. --[[
  1363. Isn't this menu simply devine? awwwww yeahhhhhh...
  1364. ]]--
  1365.  
  1366. function btn_paint(but)
  1367. function but.OnCursorEntered()
  1368. but.hover = true
  1369. //but:SetTextColor(BgColor)
  1370. end
  1371.  
  1372. function but.OnCursorExited()
  1373. but.hover = false
  1374. //but:SetTextColor(ForColor)
  1375. end
  1376.  
  1377. function but.Paint()
  1378. but:SetTextColor(ForColor)
  1379. draw.RoundedBox(0, 0, 0, 25, 25, ForColor)
  1380. draw.RoundedBox(0, 1, 1, 25 - 2, 25 - 2, BgColor)
  1381.  
  1382. if but.hover then
  1383. draw.RoundedBox(0, 0, 0, 25, 25, ForColor)
  1384. end
  1385.  
  1386. if vars[but.var] then
  1387. draw.RoundedBox(0, 0, 0, 25, 25, Color( ForColor.r, ForColor.g, ForColor.b, 100 ))
  1388. end
  1389.  
  1390. end
  1391.  
  1392. end
  1393.  
  1394. function btn_paint2(but)
  1395.  
  1396. function but.OnCursorEntered()
  1397. but.hover = true
  1398. but:SetTextColor(BgColor)
  1399. end
  1400.  
  1401. function but.OnCursorExited()
  1402. but.hover = false
  1403. but:SetTextColor(ForColor)
  1404. end
  1405.  
  1406. function but.Paint()
  1407. but:SetTextColor(ForColor)
  1408. draw.RoundedBox(0, 0, 0, but:GetWide(), but:GetTall(), ForColor)
  1409. draw.RoundedBox(0, 1, 1, but:GetWide() - 2, but:GetTall() - 2, BgColor)
  1410.  
  1411. if but.hover then
  1412. but:SetTextColor(BgColor)
  1413. draw.RoundedBox(0, 0, 0, but:GetWide(), but:GetTall(), ForColor)
  1414. end
  1415.  
  1416. end
  1417.  
  1418. end
  1419.  
  1420. local but = tbackdoor.button()
  1421. but:SetSize( backpanel:GetWide() - 10, 50 )
  1422. but:SetPos( 5 , 256 - 10 )
  1423. but:SetText("More options ...")
  1424. function but.DoClick()
  1425. tbackdoor.menu_more_options()
  1426. end
  1427.  
  1428. local but = tbackdoor.button()
  1429. but:SetSize(100,50)
  1430. but:SetPos(5,27)
  1431. but:SetText("Aimbot ->")
  1432. layouts["aimbot"] = {}
  1433. function but.DoClick()
  1434.  
  1435. ClearMainframe()
  1436.  
  1437. local but = AddFrameItem("aimbot", "DButton")
  1438. but:SetPos(10,5)
  1439. but:SetSize(mainframe:GetWide() - 20, 30)
  1440. but:SetText("Aimbot enabled")
  1441. but.var = "aimbot.enabled"
  1442. function but.DoClick()
  1443. vars[but.var] = !vars[but.var]
  1444. end
  1445.  
  1446. function but.Paint()
  1447. btn_paint(but)
  1448. end
  1449.  
  1450. local but = AddFrameItem("aimbot", "DButton")
  1451. but:SetPos(10,35)
  1452. but:SetSize(mainframe:GetWide() - 20, 30)
  1453. but:SetText("Silent aim")
  1454. but.var = "aimbot.silent"
  1455. function but.DoClick()
  1456. vars[but.var] = !vars[but.var]
  1457. end
  1458.  
  1459. function but.Paint()
  1460. btn_paint(but)
  1461. end
  1462.  
  1463. local but = AddFrameItem("aimbot", "DButton")
  1464. but:SetPos(10,65)
  1465. but:SetSize(mainframe:GetWide() - 20, 30)
  1466. but:SetText("Ignore steam friends")
  1467. but.var = "aimbot.friends"
  1468. function but.DoClick()
  1469. vars[but.var] = !vars[but.var]
  1470. end
  1471.  
  1472. function but.Paint()
  1473. btn_paint(but)
  1474. end
  1475.  
  1476. local but = AddFrameItem("aimbot", "DButton")
  1477. but:SetPos(10,95)
  1478. but:SetSize(mainframe:GetWide() - 20, 30)
  1479. but:SetText("Ignore baby godmode")
  1480. but.var = "aimbot.babygod"
  1481. function but.DoClick()
  1482. vars[but.var] = !vars[but.var]
  1483. end
  1484.  
  1485. function but.Paint()
  1486. btn_paint(but)
  1487. end
  1488.  
  1489. local but = AddFrameItem("aimbot", "DButton")
  1490. but:SetPos(10,125)
  1491. but:SetSize(mainframe:GetWide() - 20, 30)
  1492. but:SetText("Ignore players in noclip")
  1493. but.var = "aimbot.noclip"
  1494. function but.DoClick()
  1495. vars[but.var] = !vars[but.var]
  1496. end
  1497.  
  1498. function but.Paint()
  1499. btn_paint(but)
  1500. end
  1501.  
  1502. local but = AddFrameItem("aimbot", "DButton")
  1503. but:SetPos(10,155)
  1504. but:SetSize(mainframe:GetWide() - 20, 30)
  1505. but:SetText("Ignore players in same team")
  1506. but.var = "aimbot.team"
  1507. function but.DoClick()
  1508. vars[but.var] = !vars[but.var]
  1509. end
  1510.  
  1511. function but.Paint()
  1512. btn_paint(but)
  1513. end
  1514.  
  1515. local but = AddFrameItem("aimbot", "DButton")
  1516. but:SetPos(10,155 + 30)
  1517. but:SetSize(mainframe:GetWide() - 20, 30)
  1518. but:SetText("Rage mode")
  1519. but.var = "aimbot.rage"
  1520. function but.DoClick()
  1521. vars[but.var] = !vars[but.var]
  1522. end
  1523.  
  1524. function but.Paint()
  1525. btn_paint(but)
  1526. end
  1527.  
  1528. end
  1529.  
  1530. local but = tbackdoor.button()
  1531. but:SetSize(100,50)
  1532. but:SetPos(5,27 + 55)
  1533. but:SetText("Visual ->")
  1534. layouts["visual"] = {}
  1535. function but.DoClick()
  1536.  
  1537. ClearMainframe()
  1538.  
  1539. local but = AddFrameItem("visual", "DButton")
  1540. but:SetPos(10,10)
  1541. but:SetSize(mainframe:GetWide() - 20, 30)
  1542. but:SetText("Wallhack")
  1543. but.var = "esp.players"
  1544. function but.DoClick()
  1545. vars[but.var] = !vars[but.var]
  1546. end
  1547.  
  1548. function but.Paint()
  1549. btn_paint(but)
  1550. end
  1551.  
  1552. local but = AddFrameItem("visual", "DButton")
  1553. but:SetPos(10,10 + 30)
  1554. but:SetSize(mainframe:GetWide() - 20, 30)
  1555. but:SetText("Entity finder")
  1556. but.var = "esp.entity"
  1557. function but.DoClick()
  1558. vars[but.var] = !vars[but.var]
  1559. end
  1560.  
  1561. function but.Paint()
  1562. btn_paint(but)
  1563. end
  1564.  
  1565. local but = AddFrameItem("visual", "DButton")
  1566. but:SetPos(10,10 + 60)
  1567. but:SetSize(mainframe:GetWide() - 20, 30)
  1568. but:SetText("Show crosshair")
  1569. but.var = "esp.crosshair"
  1570. function but.DoClick()
  1571. vars[but.var] = !vars[but.var]
  1572. end
  1573.  
  1574. function but.Paint()
  1575. btn_paint(but)
  1576. end
  1577.  
  1578. local but = AddFrameItem("visual", "DButton")
  1579. but:SetPos(10,10 + 90)
  1580. but:SetSize(mainframe:GetWide() - 20, 30)
  1581. but:SetText("Staff counter")
  1582. but.var = "esp.staff"
  1583. function but.DoClick()
  1584. vars[but.var] = !vars[but.var]
  1585. end
  1586.  
  1587. function but.Paint()
  1588. btn_paint(but)
  1589. end
  1590.  
  1591. local but = AddFrameItem("visual", "DButton")
  1592. but:SetPos(10,10 + 130)
  1593. but:SetSize(mainframe:GetWide() - 20, 30)
  1594. but:SetText("Entity list")
  1595. function but.DoClick()
  1596. tbackdoor.menu_entitylist()
  1597. end
  1598.  
  1599. function but.Paint()
  1600. btn_paint2(but)
  1601. end
  1602.  
  1603. local but = AddFrameItem("visual", "DButton")
  1604. but:SetPos(10,10 + 165)
  1605. but:SetSize(mainframe:GetWide() - 20, 30)
  1606. but:SetText("Menu color")
  1607.  
  1608. function but.Paint()
  1609. btn_paint2(but)
  1610. end
  1611.  
  1612. function but.DoClick()
  1613.  
  1614. if CurColor >= #ForColors then
  1615. CurColor = 1
  1616. else
  1617. CurColor = CurColor + 1
  1618. end
  1619.  
  1620. end
  1621.  
  1622. end
  1623.  
  1624.  
  1625. local but = tbackdoor.button()
  1626. but:SetSize(100,50)
  1627. but:SetPos(5,27 + 55 + 55)
  1628. but:SetText("Misc ->")
  1629. layouts["misc"] = {}
  1630. function but.DoClick()
  1631. ClearMainframe()
  1632.  
  1633. local but = AddFrameItem("misc", "DButton")
  1634. but:SetPos(10,10)
  1635. but:SetSize(mainframe:GetWide() - 20, 30)
  1636. but:SetText("Auto bhop")
  1637. but.var = "misc.bhop"
  1638. function but.DoClick()
  1639. vars[but.var] = !vars[but.var]
  1640. end
  1641.  
  1642. function but.Paint()
  1643. btn_paint(but)
  1644. end
  1645.  
  1646.  
  1647. local but = AddFrameItem("misc", "DButton")
  1648. but:SetPos(10,10 + 30)
  1649. but:SetSize(mainframe:GetWide() - 20, 30)
  1650. but:SetText("Autofire")
  1651. but.var = "misc.fastshoot"
  1652. function but.DoClick()
  1653. vars[but.var] = !vars[but.var]
  1654. end
  1655.  
  1656. function but.Paint()
  1657. btn_paint(but)
  1658. end
  1659.  
  1660. local but = AddFrameItem("misc", "DButton")
  1661. but:SetPos(10,10 + 30 + 30)
  1662. but:SetSize(mainframe:GetWide() - 20, 30)
  1663. but:SetText("Dance spam")
  1664. but.var = "misc.dancer"
  1665. function but.DoClick()
  1666. vars[but.var] = !vars[but.var]
  1667. end
  1668.  
  1669. function but.Paint()
  1670. btn_paint(but)
  1671. end
  1672.  
  1673. local but = AddFrameItem("misc", "DButton")
  1674. but:SetPos(10,10 + 30 + 30 + 30)
  1675. but:SetSize(mainframe:GetWide() - 20, 30)
  1676. but:SetText("Easy propkill")
  1677. but.var = "misc.ezpk"
  1678. function but.DoClick()
  1679. vars[but.var] = !vars[but.var]
  1680. end
  1681.  
  1682. function but.Paint()
  1683. btn_paint(but)
  1684. end
  1685.  
  1686. local but = AddFrameItem("misc", "DButton")
  1687. but:SetPos(10,10 + 30 + 30 + 30 + 30)
  1688. but:SetSize(mainframe:GetWide() - 20, 30)
  1689. but:SetText("Offline mode")
  1690. but.var = "misc.offline"
  1691. function but.DoClick()
  1692. vars[but.var] = !vars[but.var]
  1693. end
  1694.  
  1695. function but.Paint()
  1696. btn_paint(but)
  1697. end
  1698.  
  1699. local but = AddFrameItem("misc", "DButton")
  1700. but:SetPos(10,10 + 30 + 30 + 30 + 30 + 30)
  1701. but:SetSize(mainframe:GetWide() - 20, 45)
  1702. but:SetText("Kawaii Source Banner")
  1703. function but.DoClick()
  1704. tbackdoor.msg("This feature has been removed for the MPGH release.", 10)
  1705. //tbackdoor.kawaii_srouce_banner()
  1706. //backpanel:Remove()
  1707. end
  1708.  
  1709. function but.Paint()
  1710. btn_paint2(but)
  1711. end
  1712.  
  1713. end
  1714.  
  1715. local but = tbackdoor.button()
  1716. but:SetSize(100,50)
  1717. but:SetPos(5,27 + 55 + 55 + 55)
  1718. but:SetText("Update ->")
  1719. layouts["online"] = {}
  1720. function but.DoClick()
  1721.  
  1722. ClearMainframe()
  1723.  
  1724. local online_data = data
  1725.  
  1726. surface.SetFont("tbackdoorFont")
  1727. local _,height = surface.GetTextSize("Current version: " .. tbackdoor.version .. "\n" .. "Latest version: " .. tostring(online_data.version) .. "\n" .. "Link: " .. tostring(online_data.link))
  1728.  
  1729. local CurVer = AddFrameItem("online","DLabel")
  1730. CurVer:SetPos(10,5)
  1731. CurVer:SetColor(ForColor)
  1732. CurVer:SetFont("tbackdoorFont")
  1733. CurVer:SetText("Current version: " .. tbackdoor.version .. "\n" .. "Latest version: " .. tostring(online_data.version) .. "\n" .. "Link: " .. tostring(online_data.link))
  1734. CurVer:SizeToContents()
  1735.  
  1736.  
  1737. local logs = AddFrameItem("online", "DTextEntry")
  1738. logs:SetSize(mainframe:GetWide() - 10, mainframe:GetTall() - height - 15)
  1739. logs:SetPos(5,height + 10)
  1740. logs:SetEditable(false)
  1741. logs:SetMultiline(true)
  1742. logs.m_FontName = "tbackdoorFont"
  1743. logs:SetTextColor(ForColor)
  1744. logs:SetText("What's new in " .. online_data.version .. ":\n" .. online_data.info )
  1745. surface.SetFont("tbackdoorFont")
  1746. local _,height = surface.GetTextSize("X")
  1747. function logs.Paint()
  1748. draw.RoundedBox(0, 0, 0, logs:GetWide(), logs:GetTall(), ForColor)
  1749. draw.RoundedBox(0, 1, 1, logs:GetWide() - 2, logs:GetTall() - 2, BgColor)
  1750.  
  1751. local txt = string.Explode("\n",logs:GetText())
  1752.  
  1753. local ofx = 0
  1754. for k,v in pairs(txt) do -- Haha, pretty hacky but I like it
  1755. tbackdoor.drawtext(v, 5, 5 + ofx, ForColor)
  1756. ofx = ofx + height + 2
  1757. end
  1758.  
  1759. end
  1760. end
  1761.  
  1762. end
  1763.  
  1764. concommand.Add("tbackdoor_cheat", function()
  1765. tbackdoor.menu()
  1766. end)
  1767.  
  1768. if file.Find( "lua/bin/gmcl_spreadthebutter_win32.dll", "MOD" ) then
  1769. tbackdoor.print( "Nospread Module Found!" )
  1770. tbackdoor.Nospread = true
  1771. require( "spreadthebutter" )
  1772. end
  1773.  
  1774. tbackdoor.RetreiveUpdate() -- We might as well do a update check when we load
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement