Code:
/*
2.
3.Titanium v1, also known as cdbot v3.2
4.
5.This will be the last thing i'm releasing, as i'm leaving gmod.
6.
7.For better or worse.
8.
9.~cdriza
10.
11.Gave my account to someone else.
12.
13.R.I.P. cdriza
14.
15.2014-2015
16.
17.Credits:
18. cdriza - big codes (esp, norecoil, attack function, fixing valid check, other codes)
19. Fami - g_pHooks/aimbot/valid check
20. Im Friendly - huge codes/speeding shit up/testing
21. nox aim_flex - testing
22. Hafnium - sexy bone esp ok
23. And everyone else who helped out!
24.*/
25.
26.// Localization - Sp33d
27.
28.// libaries mabe
29.local debug = debug
30.local chat = chat
31.local surface = surface
32.local cam = cam
33.local draw = draw
34.local render = render
35.local util = util
36.local table = table
37.local math = math
38.local concommand = concommand
39.local input = input
40.local team = team
41.local hook = hook
42.local ents = ents
43.local vgui = vgui
44.local player = player
45.local net = net
46.local notification = notification
47.
48.// globals?
49.local Angle = Angle
50.local Color = Color
51.local require = require
52.local Entity = Entity
53.local IsValid = IsValid
54.local GetConVar = GetConVar
55.local FindMetaTable = FindMetaTable
56.local tobool = tobool
57.local LocalPlayer = LocalPlayer
58.local RunConsoleCommand = RunConsoleCommand
59.local CreateClientConVar = CreateClientConVar
60.local GetConVarNumber = GetConVarNumber
61.local pairs = pairs
62.local Material = Material
63.local unpack = unpack
64.local tonumber = tonumber
65.local tostring = tostring
66.local type = type
67.local Vector = Vector
68.local RunString = RunString
69.local ScrW = ScrW
70.local ScrH = ScrH
71.local MsgC = MsgC
72.
73.// meta tables ????????????
74.local __eq = __eq
75.local __tostring = __tostring
76.local __gc = __mul
77.local __index = __index
78.local __concat = __concat
79.local __newindex = __newindex
80.local __add = __add
81.local __sub = __sub
82.local __div = __div
83.local __call = __call
84.local __pow = __pow
85.local __unm = __unm
86.local __lt = __lt
87.local __le = __le
88.local __mode = __mode
89.local __metatable = __metatable
90.
91.// shits bout to get real
92.
93.local _R = debug.getregistry();
94.local _G = _G;
95.
96.// supercheetstuffs
97.local GetTeam = _R.Player.Team;
98.local InVehicle = _R.Player.InVehicle;
99.local IsAlive = _R.Player.Alive;
100.local LocalToWorld = _R.Entity.LocalToWorld;
101.local GetOBBCenter = _R.Entity.OBBCenter;
102.local GetCenter = function(x) if !x then return; end return LocalToWorld(x,GetOBBCenter(x)); end;
103.local EyePos = _R.Entity.EyePos;
104.local ToAngles = _R.Vector.Angle;
105.local IsDormant = _R.Entity.IsDormant;
106.local GetWeapon = _R.Player.GetActiveWeapon;
107.local ply = LocalPlayer();
108.local CalcViewAngle = Angle();
109.local CMDNum = 0;
110.local loadtime = 0;
111.local aim_target = nil;
112.local attacking = false;
113.local attacking2 = false;
114.local tacbypass = false;
115.local oRCC = RunConsoleCommand;
116.
117.// 100% useful timer
118.
119.timer.Create("Titanium.timers.load.loadtime", 0.1, 0, function()
120. loadtime = loadtime + 0.1
121.end )
122.
123.// Defining stuff OK
124.
125.local TL = {
126. vars = {
127. aim_enabled = true,
128. aim_bonescan = true,
129. aim_team = true,
130. aim_specs = false,
131. aim_specs_only = false,
132. esp_enabled = true,
133. esp_bones = true,
134. esp_chams = false,
135. },
136.
137. cones = {
138. [ "weapon_smg1" ] = Vector( -0.04362, -0.04362, -0.04362 ),
139. [ "weapon_ar2" ] = Vector( -0.02618, -0.02618, 0.02618 ),
140. [ "weapon_shotgun" ] = Vector( -0.08716, -0.08716, -0.08716 ),
141. [ "weapon_pistol" ] = Vector( -0.01, -0.01, -0.01),
142. },
143.
144. TAC_Cmds = {
145. "tac_debug_cmds",
146. "tac_debug_hooks",
147. "tac",
148. },
149.
150. // Credits: NanoHack lua - because i'm lazy
151.
152. Bones = {
153. Head = 'ValveBiped.Bip01_Head1',
154. Neck = 'ValveBiped.Bip01_Neck1',
155. Spine = 'ValveBiped.Bip01_Spine',
156. Spine1 = 'ValveBiped.Bip01_Spine1',
157. Spine2 = 'ValveBiped.Bip01_Spine2',
158. Spine3 = 'ValveBiped.Bip01_Spine3',
159. Spine4 = 'ValveBiped.Bip01_Spine4',
160. [ 'R Hand' ] = 'ValveBiped.Bip01_R_Hand',
161. [ 'L Hand' ] = 'ValveBiped.Bip01_L_Hand',
162. [ 'R Calf' ] = 'ValveBiped.Bip01_R_Calf',
163. [ 'R Foot' ] = 'ValveBiped.Bip01_R_Foot',
164. [ 'R Toes' ] = 'ValveBiped.Bip01_R_Toe0',
165. [ 'L Calf' ] = 'ValveBiped.Bip01_L_Calf',
166. [ 'L Foot' ] = 'ValveBiped.Bip01_L_Foot',
167. [ 'L Toes' ] = 'ValveBiped.Bip01_L_Toe0',
168. [ 'L Thigh' ] = 'ValveBiped.Bip01_L_Thigh',
169. [ 'R Thigh' ] = 'ValveBiped.Bip01_R_Thigh',
170. [ 'L Forearm' ] = 'ValveBiped.Bip01_L_Forearm',
171. [ 'R Forearm' ] = 'ValveBiped.Bip01_R_Forearm',
172. [ 'L Upperarm' ] = 'ValveBiped.Bip01_L_UpperArm',
173. [ 'R Upperarm' ] = 'ValveBiped.Bip01_R_UpperArm'
174. },
175.}
176.
177.// ok what does it look like
178.
179.surface.CreateFont("TL.font", {
180. font = "Arial",
181. size = 15
182.} )
183.
184.// :^)
185.
186.function TL.Notify(msg)
187. surface.PlaySound("buttons/button6.wav"); --:^)
188. notification.AddLegacy(msg, NOTIFY_GENERIC, 4);
189. //chat.AddText(Color(0,0,255,255),"[Titanium] ", Color(240,240,240), msg); :(
190.end;
191.
192.// NOTHING TO SEE HERE!
193.
194.function TL.Nothing()
195.end
196.
197.// big hooks
198.
199.TL.CheatHooks = {
200. ["CreateMove"] = {},
201. ["CalcView"] = {},
202. ["HUDPaint"] = {}
203.};
204.
205.// bigger unloasiaonononajaodfhsdfvhas HOW 2 SPELL
206.
207.function TL.Unload()
208.
209. if tacbypass == false then
210. local hooked_vfuncname = "CreateMove"
211. for i = 1, #TL.CheatHooks[hooked_vfuncname] do local hook_name = TL.CheatHooks[hooked_vfuncname][i]; hook.Remove(hooked_vfuncname, hook_name); TL.Notify("Hook Removed: "..hooked_vfuncname.." ('"..hook_name.."')"); table.remove(TL.CheatHooks[hooked_vfuncname],i); end
212. hooked_vfuncname = "CalcView"
213. for i = 1, #TL.CheatHooks[hooked_vfuncname] do local hook_name = TL.CheatHooks[hooked_vfuncname][i]; hook.Remove(hooked_vfuncname, hook_name); TL.Notify("Hook Removed: "..hooked_vfuncname.." ('"..hook_name.."')"); table.remove(TL.CheatHooks[hooked_vfuncname],i); end
214. hooked_vfuncname = "HUDPaint"
215. for i = 1, #TL.CheatHooks[hooked_vfuncname] do local hook_name = TL.CheatHooks[hooked_vfuncname][i]; hook.Remove(hooked_vfuncname, hook_name); TL.Notify("Hook Removed: "..hooked_vfuncname.." ('"..hook_name.."')"); table.remove(TL.CheatHooks[hooked_vfuncname],i); end
216. aim_target = nil;
217.
218. concommand.Remove("TL_menu")
219. concommand.Remove("TL_unload")
220. elseif tacbypass == true then
221. GAMEMODE.CreateMove = TL.Nothing;
222. GAMEMODE.HUDPaint = TL.Nothing;
223. GAMEMODE.CalcView = TL.Nothing;
224. end
225.
226. TL.Notify("Unloaded!")
227.end
228.
229.// done explaining ok
230.
231.local oldFireBullets = _R.Entity.FireBullets;
232.
233._R.Entity.FireBullets = function(i, bullet)
234. if TL.cones[LocalPlayer():GetActiveWeapon():GetClass()] != bullet.Spread then
235. TL.cones[LocalPlayer():GetActiveWeapon():GetClass()] = bullet.Spread
236. end
237.
238. oldFireBullets(i, bullet)
239.end
240.
241.function TL.Esp()
242. for k,v in pairs(player.GetAll()) do
243. local min = (v:GetPos() + Vector(0, 0, 1)):ToScreen();
244. local max = (v:GetPos() + Vector(0, 0, 70)):ToScreen();
245. local hit = (min.y - max.y);
246. local wid = (hit / 2.5)
247. if (v != ply and v:Alive() and TL.vars["esp_enabled"] and v:Health() > 0) then
248. local ESP = (v:EyePos()):ToScreen()
249. draw.DrawText(v:Name(), "TL.font", ESP.x -25, ESP.y -56, team.GetColor(v:Team()), TEXT_ALIGN_LEFT, TEXT_ALIGN_LEFT)
250. draw.DrawText("Rank: "..v:GetUserGroup(), "TL.font", ESP.x -25, ESP.y -44, Color(255, 255, 255, 255), TEXT_ALIGN_LEFT, TEXT_ALIGN_LEFT)
251.
252. if(v:GetActiveWeapon():IsValid()) then
253. draw.DrawText("Weapon: " ..v:GetActiveWeapon():GetClass(), "TL.font", ESP.x -25, ESP.y -32, Color(255, 255, 255, 255), TEXT_ALIGN_LEFT, TEXT_ALIGN_LEFT)
254. end
255.
256. surface.SetDrawColor(team.GetColor(v:Team()))
257. surface.DrawOutlinedRect(max.x - (wid / 2) - 1, max.y - 1, wid + 2, hit + 2);
258. draw****undedBox(0, max.x - (wid/1.5) + 1, max.y + 1, (wid-2)/10, (hit-2)*0.01 * v:Health(), Color(0,200,0,255))
259.
260. if TL.vars["esp_bones"] then
261. local FirstBone, SecondBone
262.
263. FirstBone = v:GetBonePosition( 0 ):ToScreen()
264. SecondBone = v:GetBonePosition( 5 ):ToScreen()
265. surface.DrawLine(FirstBone.x, FirstBone.y, SecondBone.x, SecondBone.y)
266.
267. FirstBone = v:GetBonePosition( 5 ):ToScreen()
268. SecondBone = v:GetBonePosition( 9 ):ToScreen()
269. surface.DrawLine(FirstBone.x, FirstBone.y, SecondBone.x, SecondBone.y)
270.
271. FirstBone = v:GetBonePosition( 9 ):ToScreen()
272. SecondBone = v:GetBonePosition( 10 ):ToScreen()
273. surface.DrawLine(FirstBone.x, FirstBone.y, SecondBone.x, SecondBone.y)
274.
275. FirstBone = v:GetBonePosition( 10 ):ToScreen()
276. SecondBone = v:GetBonePosition( 11 ):ToScreen()
277. surface.DrawLine(FirstBone.x, FirstBone.y, SecondBone.x, SecondBone.y)
278.
279. FirstBone = v:GetBonePosition( 5 ):ToScreen()
280. SecondBone = v:GetBonePosition( 14 ):ToScreen()
281. surface.DrawLine(FirstBone.x, FirstBone.y, SecondBone.x, SecondBone.y)
282.
283. FirstBone = v:GetBonePosition( 14 ):ToScreen()
284. SecondBone = v:GetBonePosition( 15 ):ToScreen()
285. surface.DrawLine(FirstBone.x, FirstBone.y, SecondBone.x, SecondBone.y)
286.
287. FirstBone = v:GetBonePosition( 15 ):ToScreen()
288. SecondBone = v:GetBonePosition( 16 ):ToScreen()
289. surface.DrawLine(FirstBone.x, FirstBone.y, SecondBone.x, SecondBone.y)
290.
291. FirstBone = v:GetBonePosition( 0 ):ToScreen()
292. SecondBone = v:GetBonePosition( 22 ):ToScreen()
293. surface.DrawLine(FirstBone.x, FirstBone.y, SecondBone.x, SecondBone.y)
294.
295. FirstBone = v:GetBonePosition( 22 ):ToScreen()
296. SecondBone = v:GetBonePosition( 23 ):ToScreen()
297. surface.DrawLine(FirstBone.x, FirstBone.y, SecondBone.x, SecondBone.y)
298.
299.
300. FirstBone = v:GetBonePosition( 23 ):ToScreen()
301. SecondBone = v:GetBonePosition( 25 ):ToScreen()
302. surface.DrawLine(FirstBone.x, FirstBone.y, SecondBone.x, SecondBone.y)
303.
304.
305. FirstBone = v:GetBonePosition( 0 ):ToScreen()
306. SecondBone = v:GetBonePosition( 18 ):ToScreen()
307. surface.DrawLine(FirstBone.x, FirstBone.y, SecondBone.x, SecondBone.y)
308.
309.
310. FirstBone = v:GetBonePosition( 18 ):ToScreen()
311. SecondBone = v:GetBonePosition( 19 ):ToScreen()
312. surface.DrawLine(FirstBone.x, FirstBone.y, SecondBone.x, SecondBone.y)
313.
314. FirstBone = v:GetBonePosition( 19 ):ToScreen()
315. SecondBone = v:GetBonePosition( 21 ):ToScreen()
316. surface.DrawLine(FirstBone.x, FirstBone.y, SecondBone.x, SecondBone.y)
317. end
318.
319. if TL.vars["esp_chams"] then
320. cam.Start3D()
321. cam.IgnoreZ(true)
322. render.MaterialOverride(Material("models/debug/debugwhite"))
323. render.SuppressEngineLighting( true )
324.
325. local col = Color(0, 110, 255)
326.
327. render.SetColorModulation(col.r/255, col.g/255, col.b/255)
328. v:DrawModel()
329. render.SetColorModulation( 1, 1, 1 )
330. render.SuppressEngineLighting( false )
331. render.MaterialOverride(0)
332. cam.IgnoreZ(false)
333.
334. cam.End3D()
335. end
336. end
337. end
338.end
339.
340.function TL.Crosshair()
341. local x = ScrW() / 2.0023
342. local y = ScrH() / 2.001
343. surface.SetDrawColor(50, 150, 255, 255)
344. surface.DrawRect(x, y, 3, 3, 0)
345.end
346.
347.function TL.NoRecoil()
348. local ply = LocalPlayer()
349. local weapon = ply:GetActiveWeapon()
350.
351. if weapon.Primary then
352.
353. if weapon.Primary.Recoil then
354. weapon.Primary.Recoil = 0
355. end
356.
357. if weapon.Primary.KickUp then
358. weapon.Primary.KickUp = 0
359. weapon.Primary.KickDown = 0
360. weapon.Primary.KickHorizontal = 0
361. end
362. end
363.end
364.
365.function TL.IsVisible(vPosition, aim_target)
366. local __trace = {}
367. local ply = LocalPlayer()
368. local gsp = ply:GetShootPos()
369.
370. local _trace = {
371. [ "start" ] = gsp,
372. [ "endpos" ] = vPosition,
373. [ "filter" ] = ply,
374. [ "mask" ] = MASK_SHOT
375. }
376.
377. local trace = util.TraceLine( _trace, __trace )
378.
379. return (trace.Fraction == 1 or trace.Entity == aim_target)
380.end
381.
382.function TL.Attack(cmd)
383. local ply = LocalPlayer()
384. local weapon = ply:GetActiveWeapon()
385.
386. if IsValid(wep) and weapon.Primary and (weapon.Primary.Automatic == true) then
387. cmd:SetButtons(bit.bor(cmd:GetButtons(), IN_ATTACK))
388. attacking = true
389. else
390. if attacking then
391. cmd:RemoveKey(IN_ATTACK)
392. attacking = false
393. else
394. cmd:SetButtons(bit.bor(cmd:GetButtons(), IN_ATTACK))
395. attacking = true
396. end
397. end
398.
399. if IsValid(wep) and weapon.Primary and (weapon.Primary.Automatic == false) then
400. cmd:SetButtons(bit.bor(cmd:GetButtons(), IN_ATTACK))
401. attacking2 = true
402. else
403. if attacking2 then
404. cmd:RemoveKey(IN_ATTACK)
405. attacking2 = false
406. else
407. cmd:SetButtons(bit.bor(cmd:GetButtons(), IN_ATTACK))
408. attacking2 = true
409. end
410. end
411.end
412.
413.function TL.GetAimArea(pEnt)
414. local forward = Vector()
415. local eyes = Vector()
416.
417. if !TL.vars["aim_bonescan"] then
418. if pEnt:LookupAttachment("eyes") != 0 then
419. return pEnt:GetAttachment(pEnt:LookupAttachment("eyes")).Pos
420. end
421. else
422. if pEnt:LookupAttachment("eyes") != 0 and TL.IsVisible(pEnt:GetAttachment(pEnt:LookupAttachment("eyes")).Pos, pEnt) then
423. return pEnt:GetAttachment(pEnt:LookupAttachment("eyes")).Pos
424. else
425. for k,v in pairs(TL.Bones) do
426. if pEnt:LookupBone(v) then
427. if TL.IsVisible(pEnt:GetBonePosition(pEnt:LookupBone(v)), pEnt) then
428. return pEnt:GetBonePosition(pEnt:LookupBone(v))
429. end
430. end
431. end
432. end
433. end
434.
435. return pEnt:GetPos() + pEnt:OBBCenter()
436.end
437.
438.function TL.ValidTarget(pEnt)
439. if (!pEnt) then return false; end
440.
441. if (IsDormant(pEnt)) then return false; end
442.
443. if pEnt:IsPlayer() then
444. if (pEnt == ply) then return false; end
445.
446. if (!IsAlive(pEnt)) then return false; end
447.
448. if (InVehicle(pEnt)) then return false; end
449.
450. if (GetTeam(pEnt) == TEAM_SPECTATOR) and !TL.vars["aim_specs"] and !TL.vars["aim_specs_only"] then return false; end
451.
452. if (GetTeam(pEnt) != TEAM_SPECTATOR) and TL.vars["aim_specs_only"] then return false; end
453.
454. if !TL.vars["aim_team"] then
455. if pEnt:Team() == ply:Team() then return false; end
456. end
457.
458. if !TL.IsVisible(TL.GetAimArea(pEnt), pEnt) then return false; end
459.
460. end
461.
462. return true;
463.end
464.
465.function TL.AimThread()
466. aim_target = nil;
467. local pPlayers = player.GetAll();
468. for i = 1, #pPlayers do local pEnt = pPlayers[i];
469. if (!TL.ValidTarget(pEnt)) then continue; end
470. aim_target = pEnt;
471. end
472.end
473.
474.function TL.GetAimPos(pEnt, cmd)
475. local AimArea = TL.GetAimArea(pEnt)
476.
477. if cmd:CommandNumber() > CMDNum then
478. CMDNum = cmd:CommandNumber()
479. AimArea = (AimArea - ply:GetVelocity() * engine.TickInterval())
480. end
481.
482. return AimArea;
483.end
484.
485.function TL.Aimb0t(cmd)
486. if (aim_target ~= nil) and TL.vars["aim_enabled"] then
487. local vPosition = TL.GetAimPos(aim_target, cmd);
488. local aAngles = ToAngles(vPosition - EyePos(ply))
489. //aAngles = TL.PredSpread(cmd, aAngles) lolno
490. aAngles.p = math.NormalizeAngle(aAngles.p);
491. aAngles.y = math.NormalizeAngle(aAngles.y);
492.
493. cmd:SetViewAngles(aAngles);
494. TL.Attack(cmd);
495. end
496.end
497.
498.function TL.BunnyHop(cmd)
499. local ply = LocalPlayer()
500.
501. if ply:IsOnGround() and cmd:KeyDown(IN_JUMP) then
502. cmd:SetButtons( bit.bor(cmd:GetButtons(), IN_JUMP) )
503. else
504. cmd:RemoveKey(IN_JUMP)
505. end
506.end
507.
508.function TL.Menu(player, command, arguments)
509. local Main = vgui.Create("DFrame")
510. Main:SetSize(400, 230)
511. Main:SetTitle("")
512. Main:Center()
513. Main:MakePopup()
514. Main:ShowCloseButton(true)
515. Main.Paint = function( self )
516. draw****undedBox(0, 0, 0, self:GetWide(), self:GetTall(), Color( 50, 50, 50 ))
517. draw****undedBox(0, 0, 0, self:GetWide(), 25, Color(50, 50, 200))
518. draw.SimpleText("Titanium", "BudgetLabel", self:GetWide() / 2, 12.5, Color(255,255,255), TEXT_ALIGN_CENTER, TEXT_ALIGN_CENTER)
519.
520. surface.SetDrawColor(Color(75,75,75))
521. surface.DrawLine(115, 25, 115, self:GetTall())
522. surface.DrawLine(115, self:GetTall() - 55, self:GetWide(), self:GetTall() - 55)
523. draw.SimpleText("Menu made by Im Friendly", "BudgetLabel", 120, self:GetTall() - 50, Color(255,255,255))
524. draw.SimpleText("Hack made by cdriza", "BudgetLabel", 120, self:GetTall() - 30, Color(255,255,255))
525. end
526.
527. local AimEnabled = vgui.Create("DCheckBoxLabel", Main)
528. AimEnabled:SetPos(122, 33)
529. AimEnabled:SetText("Aimbot Enabled")
530. AimEnabled:SetVisible(false)
531. AimEnabled:SetValue(TL.vars["aim_enabled"])
532. AimEnabled:SizeToContents()
533. AimEnabled.OnChange = function(self)
534. TL.vars["aim_enabled"] = tobool(self:GetChecked())
535.
536. end
537.
538. local AimBoneScan = vgui.Create("DCheckBoxLabel", Main)
539. AimBoneScan:SetPos(122, 52)
540. AimBoneScan:SetText("pBoneScan")
541. AimBoneScan:SetVisible(false)
542. AimBoneScan:SetValue(TL.vars["aim_bonescan"])
543. AimBoneScan:SizeToContents()
544. AimBoneScan.OnChange = function(self)
545. TL.vars["aim_bonescan"] = tobool(self:GetChecked())
546. end
547.
548. local AimTeam = vgui.Create("DCheckBoxLabel", Main)
549. AimTeam:SetPos(122, 71)
550. AimTeam:SetText("Aim at Team")
551. AimTeam:SetVisible(false)
552. AimTeam:SetValue(TL.vars["aim_team"])
553. AimTeam:SizeToContents()
554. AimTeam.OnChange = function(self)
555. TL.vars["aim_team"] = tobool(self:GetChecked())
556. end
557.
558. local AimIgnoreSpec = vgui.Create("DCheckBoxLabel", Main)
559. AimIgnoreSpec:SetPos(122, 90)
560. AimIgnoreSpec:SetText("Aim at Spectators")
561. AimIgnoreSpec:SetVisible(false)
562. AimIgnoreSpec:SetValue(TL.vars["aim_specs"])
563. AimIgnoreSpec:SizeToContents()
564. AimIgnoreSpec.OnChange = function(self)
565. TL.vars["aim_specs"] = tobool(self:GetChecked())
566. end
567.
568. local AimOnlySpec = vgui.Create("DCheckBoxLabel", Main)
569. AimOnlySpec:SetPos(122, 109)
570. AimOnlySpec:SetText("Aim Only at Spectators")
571. AimOnlySpec:SetVisible(false)
572. AimOnlySpec:SetValue(TL.vars["aim_specs_only"])
573. AimOnlySpec:SizeToContents()
574. AimOnlySpec.OnChange = function(self)
575. TL.vars["aim_specs_only"] = tobool(self:GetChecked())
576. end
577.
578. local EspEnabled = vgui.Create("DCheckBoxLabel", Main)
579. EspEnabled:SetPos(122, 33)
580. EspEnabled:SetText("ESP Enabled")
581. EspEnabled:SetVisible(false)
582. EspEnabled:SetValue(TL.vars["esp_enabled"])
583. EspEnabled:SizeToContents()
584. EspEnabled.OnChange = function(self)
585. TL.vars["esp_enabled"] = tobool(self:GetChecked())
586. end
587.
588. local EspBone = vgui.Create("DCheckBoxLabel", Main)
589. EspBone:SetPos(122, 52)
590. EspBone:SetText("Bone ESP")
591. EspBone:SetVisible(false)
592. EspBone:SetValue(TL.vars["esp_bones"])
593. EspBone:SizeToContents()
594. EspBone.OnChange = function(self)
595. TL.vars["esp_bones"] = tobool(self:GetChecked())
596. end
597.
598. local EspChams = vgui.Create("DCheckBoxLabel", Main)
599. EspChams:SetPos(122, 71)
600. EspChams:SetText("ESP pChams ")
601. EspChams:SetVisible(false)
602. EspChams:SetValue(TL.vars["esp_chams"])
603. EspChams:SizeToContents()
604. EspChams.OnChange = function(self)
605. TL.vars["esp_chams"] = tobool(self:GetChecked())
606. end
607.
608. local AimButton = vgui.Create("DButton", Main)
609. AimButton:SetSize(100, 80)
610. AimButton:SetPos(7, 40)
611. AimButton:SetText("")
612. AimButton.Paint = function(self)
613. draw****undedBox(0, 0, 0, self:GetWide(), self:GetTall(), Color(100, 100, 255))
614. draw.SimpleText("Aimbot", "BudgetLabel", self:GetWide() / 2, self:GetTall() / 2, Color(255, 255, 255), TEXT_ALIGN_CENTER, TEXT_ALIGN_CENTER)
615. end
616. AimButton.DoClick = function(self)
617. AimEnabled:SetVisible(true)
618. AimBoneScan:SetVisible(true)
619. AimTeam:SetVisible(true)
620. AimIgnoreSpec:SetVisible(true)
621. AimOnlySpec:SetVisible(true)
622.
623. EspEnabled:SetVisible(false)
624. EspBone:SetVisible(false)
625. EspChams:SetVisible(false)
626. end
627.
628. local EspButton = vgui.Create("DButton", Main)
629. EspButton:SetSize(100, 80)
630. EspButton:SetPos(7, 136)
631. EspButton:SetText("")
632. EspButton.Paint = function(self)
633. draw****undedBox(0, 0, 0, self:GetWide(), self:GetTall(), Color(100, 100, 255))
634. draw.SimpleText("Visuals", "BudgetLabel", self:GetWide() / 2, self:GetTall() / 2, Color(255, 255, 255), TEXT_ALIGN_CENTER, TEXT_ALIGN_CENTER)
635. end
636. EspButton.DoClick = function(self)
637. AimEnabled:SetVisible(false)
638. AimBoneScan:SetVisible(false)
639. AimTeam:SetVisible(false)
640. AimIgnoreSpec:SetVisible(false)
641. AimOnlySpec:SetVisible(false)
642.
643. EspEnabled:SetVisible(true)
644. EspBone:SetVisible(true)
645. EspChams:SetVisible(true)
646. end
647.end
648.
649.local function hooked_CreateMove(cmd)
650.
651. TL.BunnyHop(cmd);
652.
653. TL.AimThread();
654.
655. TL.Aimb0t(cmd);
656.
657. TL.NoRecoil();
658.
659. CalcViewAngle = cmd:GetViewAngles();
660.
661.end
662.
663.local function hooked_HUDPaint()
664.
665. TL.Esp();
666.
667. TL.Crosshair();
668.
669.end
670.
671.local function hooked_CalcView(ply, origin, angles, fov)
672. local pWeapon = GetWeapon(ply);
673. if ( pWeapon.Primary ) then pWeapon.Primary.Recoil = 0.0; end
674. if ( pWeapon.Secondary ) then pWeapon.Secondary.Recoil = 0.0; end
675.
676. local view = {}
677. view.angles = CalcViewAngle;
678. view.angles.r = 0;
679. view.vm_angles = view.angles;
680.
681. return view;
682.end
683.
684.function TL.AddHook(hooked_vfuncname,hooked_nfunc)
685. local random_hookname = tostring(math.random(666,133769420));
686. hook.Add(hooked_vfuncname, random_hookname, hooked_nfunc);
687. TL.Notify("Hook Added: "..hooked_vfuncname.." ('"..random_hookname.."')");
688. table.insert(TL.CheatHooks[hooked_vfuncname],random_hookname)
689.end
690.
691.function TL.Check()
692. if ulx then
693. print("[Titanium] ULX is installed! (THREAT LEVEL: NONE)")
694.
695. if ulx.screengrab then
696. print("[Titanium] ULX Screengrab found! (THREAT LEVEL: MEDIUM)")
697. else
698. print("[Titanium] ULX Screengrab not found!")
699. end
700. else
701. print("[Titanium] ULX not found!")
702. end
703.
704. if qac or qac then
705. print("[Titanium] Quack Anti Cheat found! (THREAT LEVEL: MEDIUM)")
706. end
707.
708. if cac or cac or CAC or CAC then
709. print("[Titanium] Cake Anti Cheat found! (THREAT LEVEL: VERY HIGH!)")
710. print("[Titanium] Leaving...")
711. RunConsoleCommand("disconnect")
712. end
713.
714. if LeyAC or LeyAC or leyac or leyac then
715. print("[Titanium] LeyAC found! (THREAT LEVEL: VERY HIGH!)")
716. print("[Titanium] Leaving...")
717. RunConsoleCommand("disconnect")
718. end
719.
720. if TLac or TLAC then
721. print("[Titanium] TLriza Anti Cheat found! (THREAT LEVEL: MEDIUM)")
722. end
723.
724. if dac or DAC or DAC or dac then
725. print("[Titanium] Daz Anti Cheat found! (THREAT LEVEL: VERY LOW)")
726. end
727.
728. for k,v in pairs(concommand.GetTable()) do
729. if TL.TAC_Cmds[k] then
730. print("[Titanium] Tyler's Anti Cheat found! (THREAT LEVEL: MEDIUM)")
731. print("[Titanium] Switching into TAC Bypass mode.")
732. tacbypass = true
733. end
734. end
735.end
736.
737.function render.Capture()
738. TL.Notify("Blocked screengrab attempt!")
739. print("Blocked render.Capture()")
740. return util.Base64Encode(util.CRC("DO YOU BELIEVE IN MAGIC"))
741.end
742.
743.function render.CapturePixels()
744. TL.Notify("Blocked screengrab attempt!")
745. print("Blocked render.CapturePixels()")
746. return util.Base64Encode("did you know that garry claimed to detect atees autism? sadly he did did not.")
747.end
748.
749.function RunConsoleCommand(args)
750. if args == "editor_toggle" or args == "net_start 1" or args == "mm_select_session" or args == "__screenshot_internal" or args == "quit" or args == "quitnoconfirm" or args == "disconnect" or args == "banme" or args == "aacp" or args == "kickme" then
751. TL.Notify("Blocked RunConsoleCommand: " .. args)
752. else
753. oRCC(args)
754. end
755.end
756.
757.TL.Check()
758.
759.if tacbypass == false then
760. chat.AddText(Color(0,0,255,255),"[Titanium Loader] ", Color(240,240,240), "Loaded version 1! [RIP CDRIZA]");
761. TL.AddHook("CreateMove", hooked_CreateMove);
762. TL.AddHook("CalcView", hooked_CalcView);
763. TL.AddHook("HUDPaint", hooked_HUDPaint);
764.
765. concommand.Add("Titanium_unload", function() TL.Unload() end);
766. concommand.Add("Titanium_menu", function() TL.Menu() end);
767.
768. notification.AddProgress("lolwut", "Titanium v1 loaded in " .. tostring(loadtime) .. " seconds!")
769.
770. timer.Destroy("Titanium.timers.load.loadtime")
771.
772. timer.Simple(5, function()
773. notification.Kill("lolwut")
774. end )
775.
776.elseif tacbypass == true then
777. chat.AddText(Color(0,0,255,255),"[Titanium Loader] ", Color(240,240,240), "Loaded version 1! [RIP CDRIZA]");
778. GAMEMODE.CreateMove = hooked_CreateMove;
779. GAMEMODE.CalcView = hooked_CalcView;
780. GAMEMODE.HUDPaint = hooked_HUDPaint;
781.
782. concommand.Remove("tac_debug_cmds");
783. concommand.Remove("tac_debug_hooks");
784.
785. concommand.Add("tac_debug_cmds", function() TL.Unload() end);
786. concommand.Add("tac_debug_hooks", function() TL.Menu() end);
787.
788. timer.Destroy("Titanium.timers.load.loadtime")
789.
790. TL.Notify("Loaded in TAC-Secure mode!");
791. TL.Notify("Check console for new concommands!");
792.
793. print("[Titanium] New ConCommands: ")
794. print("tac_debug_cmds = UNLOAD")
795. print("tac_debug_hooks = MENU")
796. print("-------------------------")
797.end
798.
799.chat.AddText(Color(0,0,255,255),"[Titanium Loader]", Color(240,240,240), "Loading Titanium v1! [RIP CDRIZA]");
there is the full code to use as a reference to see and learn where to put it because I put it at the end of the code and this is the error I got on gmod: