Guest User

Untitled

a guest
May 14th, 2021
3,592
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 49.59 KB | None | 0 0
  1. --PREDICTION LUA V2
  2. local checkhitbox = {0,11,12,13,14}
  3. local username = cheat.GetCheatUserName()
  4. local ideal_yaw
  5. local right_side
  6. local left_side
  7. local dt_charging
  8. print("" .. username .. " if you have any questions feel free to dm kib1336#1030")
  9. print("" .. username .. " if you have any suggestion or found any bug feel free to join our discord! : https://discord.gg/pJ5WpMV")
  10. local version = "1643"
  11.  
  12. local ffi = require('ffi')
  13.  
  14. ffi.cdef[[
  15. void* CreateFileA(
  16. const char* lpFileName,
  17. unsigned long dwDesiredAccess,
  18. unsigned long dwShareMode,
  19. unsigned long lpSecurityAttributes,
  20. unsigned long dwCreationDisposition,
  21. unsigned long dwFlagsAndAttributes,
  22. void* hTemplateFile
  23. );
  24. bool ReadFile(
  25. void* hFile,
  26. char* lpBuffer,
  27. unsigned long nNumberOfBytesToRead,
  28. unsigned long* lpNumberOfBytesRead,
  29. int lpOverlapped
  30. );
  31. bool WriteFile(
  32. void* hFile,
  33. char* lpBuffer,
  34. unsigned long nNumberOfBytesToWrite,
  35. unsigned long* lpNumberOfBytesWritten,
  36. int lpOverlapped
  37. );
  38.  
  39. unsigned long GetFileSize(
  40. void* hFile,
  41. unsigned long* lpFileSizeHigh
  42. );
  43. bool CloseHandle(void* hFile);
  44.  
  45. typedef unsigned long ULONG_PTR;
  46. typedef unsigned long DWORD;
  47. typedef unsigned short WORD;
  48.  
  49. typedef struct tagKEYBDINPUT {
  50. WORD wVk;
  51. WORD wScan;
  52. DWORD dwFlags;
  53. DWORD time;
  54. ULONG_PTR dwExtraInfo;
  55. } KEYBDINPUT, *PKEYBDINPUT, *LPKEYBDINPUT;
  56.  
  57. typedef struct tagMOUSEINPUT {
  58. long dx;
  59. long dy;
  60. DWORD mouseData;
  61. DWORD dwFlags;
  62. DWORD time;
  63. ULONG_PTR dwExtraInfo;
  64. } MOUSEINPUT, *PMOUSEINPUT, *LPMOUSEINPUT;
  65.  
  66. typedef struct tagHARDWAREINPUT {
  67. DWORD uMsg;
  68. WORD wParamL;
  69. WORD wParamH;
  70. } HARDWAREINPUT, *PHARDWAREINPUT, *LPHARDWAREINPUT;
  71.  
  72. typedef struct tagINPUT {
  73. DWORD type;
  74. MOUSEINPUT mi;
  75. KEYBDINPUT ki;
  76. HARDWAREINPUT hi;
  77. } INPUT, *PINPUT, *LPINPUT;
  78. ]]
  79.  
  80. local pfile = ffi.cast("void*", ffi.C.CreateFileA("nl/username.txt", 0xC0000000, 0x00000003, 0, 0x4, 0x80, nil))
  81. --local cfile = ffi.cast("void*", ffi.C.CreateFileA("nl/settings.txt", 0xC0000000, 0x00000003, 0, 0x4, 0x80, nil))
  82.  
  83. cheat.RegisterCallback("destroy", function()
  84. ffi.C.CloseHandle(pfile)
  85. --ffi.C.CloseHandle(cfile)
  86. end)
  87.  
  88. local size = ffi.C.GetFileSize(pfile, nil)
  89. local buff = ffi.new("char[" ..(size + 1).. "]")
  90.  
  91. ffi.C.ReadFile(pfile, buff, size, nil, 0)
  92. buff = ffi.string(buff)
  93. local username = buff
  94.  
  95. local function initlua()
  96.  
  97. menu.Text("Prediction LUA V2", "Hello "..username.."!")
  98.  
  99. local vers = http.Get("https://pastebin.com/raw/bHXD56yW")
  100.  
  101. local ok = ""
  102. if version == vers then ok = "Version: UP 2 DATE!" else ok = "Version: Outdated!" end
  103.  
  104. if ok then
  105. menu.Text("STATUS", ok)
  106. else
  107. menu.Text("STATUS", "ERROR")
  108. end
  109.  
  110. cheat.AddNotify("PREDICTION V2", "Welcome to Prediction v2.3.0 " .. username .. " ")
  111.  
  112. ffi.cdef[[
  113. typedef uintptr_t (__thiscall* GetClientEntity_4242425_t)(void*, int);
  114. typedef void (__thiscall* UpdateCSA_t)(void*);
  115. typedef struct { float id; } poses_t;
  116. typedef struct
  117. {
  118. float x;
  119. float y;
  120. float z;
  121. } Vector_t;
  122.  
  123. typedef struct
  124. {
  125. float flAnimationTime; //0x00
  126. float flFadeOut; //0x04
  127. void* pStudioHdr; //0x08
  128. int nDispatchedSrc; //0x0C
  129. int nDispatchedDst; //0x10
  130. int iOrder; //0x14
  131. int nSequence; //0x18
  132. float flPrevCycle; //0x1C
  133. float flWeight; //0x20
  134. float flWeightDeltaRate; //0x24
  135. float flPlaybackRate; //0x28
  136. float flCycle; //0x2C
  137. void* pOwner; //0x30
  138. int nInvalidatePhysicsBits; //0x34
  139. } animlayer_t;
  140.  
  141. typedef struct
  142. {
  143. void* pThis;
  144. char pad2[91];
  145. void* pBaseEntity; //0x60
  146. void* pActiveWeapon; //0x64
  147. void* pLastActiveWeapon; //0x68
  148. float m_flLastClientSideAnimationUpdateTime; //0x6C
  149. int m_iLastClientSideAnimationUpdateFramecount; //0x70
  150. float m_flEyePitch; //0x74
  151. float m_flEyeYaw; //0x78
  152. float m_flPitch; //0x7C
  153. float m_flGoalFeetYaw; //0x80
  154. float m_flCurrentFeetYaw; //0x84
  155. float m_flCurrentTorsoYaw; //0x88
  156. float m_flUnknownVelocityLean; //0x8C //changes when moving/jumping/hitting ground
  157. float m_flLeanAmount; //0x90
  158. char pad4[4]; //NaN
  159. float m_flFeetCycle; //0x98 0 to 1
  160. float m_flFeetYawRate; //0x9C 0 to 1
  161. float m_fUnknown2;
  162. float m_fDuckAmount; //0xA4
  163. float m_fLandingDuckAdditiveSomething; //0xA8
  164. float m_fUnknown3; //0xAC
  165. Vector_t m_vOrigin; //0xB0, 0xB4, 0xB8
  166. Vector_t m_vLastOrigin; //0xBC, 0xC0, 0xC4
  167. float m_vVelocityX; //0xC8
  168. float m_vVelocityY; //0xCC
  169. char pad5[4];
  170. float m_flUnknownFloat1; //0xD4 Affected by movement and direction
  171. char pad6[8];
  172. float m_flUnknownFloat2; //0xE0 //from -1 to 1 when moving and affected by direction
  173. float m_flUnknownFloat3; //0xE4 //from -1 to 1 when moving and affected by direction
  174. float m_unknown; //0xE8
  175. float speed_2d; //0xEC
  176. float flUpVelocity; //0xF0
  177. float m_flSpeedNormalized; //0xF4 //from 0 to 1
  178. float m_flFeetSpeedForwardsOrSideWays; //0xF8 //from 0 to 2. something is 1 when walking, 2.something when running, 0.653 when crouch walking
  179. float m_flFeetSpeedUnknownForwardOrSideways; //0xFC //from 0 to 3. something
  180. float m_flTimeSinceStartedMoving; //0x100
  181. float m_flTimeSinceStoppedMoving; //0x104
  182. unsigned char m_bOnGround; //0x108
  183. unsigned char m_bInHitGroundAnimation; //0x109
  184. char pad7[10];
  185. float m_flLastOriginZ; //0x114
  186. float m_flHeadHeightOrOffsetFromHittingGroundAnimation; //0x118 from 0 to 1, is 1 when standing
  187. float m_flStopToFullRunningFraction; //0x11C from 0 to 1, doesnt change when walking or crouching, only running
  188. char pad8[4]; //NaN
  189. float m_flUnknownFraction; //0x124 affected while jumping and running, or when just jumping, 0 to 1
  190. char pad9[4]; //NaN
  191. float m_flUnknown3;
  192. char pad10[528];
  193. } CCSGOPlayerAnimationState_534535_t;
  194. ]]
  195.  
  196. local hitboxesused = {18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,0}
  197.  
  198. local hitboxes = {
  199. "Head",
  200. "Upper Chest",
  201. "Chest",
  202. "Body",
  203. "Stomach",
  204. "Pelvis",
  205. "Legs & Feet",
  206. "Arms"
  207. }
  208.  
  209. local types = {
  210. "2D Filled Circle",
  211. "2D Circle"
  212. }
  213. --VARS
  214. local miss_counter = 0
  215. local menu_invert_side = g_Config:FindVar("Aimbot", "Anti Aim", "Fake Angle", "Inverter")
  216. local menu_left_limit = g_Config:FindVar("Aimbot", "Anti Aim", "Fake Angle", "Left Limit")
  217. local menu_fake_options = g_Config:FindVar("Aimbot", "Anti Aim", "Fake Angle", "LBY Mode")
  218. local menu_right_limit = g_Config:FindVar("Aimbot", "Anti Aim", "Fake Angle", "Right Limit")
  219. local menu_leg_movement = g_Config:FindVar("Aimbot", "Anti Aim", "Misc", "Leg Movement")
  220. local menu_fakelag_limit = g_Config:FindVar("Aimbot", "Anti Aim", "Fake Lag", "Limit")
  221. local menu_fakelag_enable = g_Config:FindVar("Aimbot", "Anti Aim", "Fake Lag", "Enable Fake Lag")
  222.  
  223. local menu_safe_point = g_Config:FindVar("Aimbot", "Ragebot", "Accuracy", "Safe Points")
  224. local menu_fakeduck = g_Config:FindVar("Aimbot", "Anti Aim", "Misc", "Fake Duck")
  225. local menu_antiaim_manual = g_Config:FindVar("Aimbot", "Anti Aim", "Main", "Yaw Base")
  226. local var_arrow_fonts = g_Render:InitFont("Verdana",55)
  227.  
  228. --VARS END--
  229.  
  230. --LUA MENU
  231. menu.Text("Anti-Aim", "Anti Bruteforce Customization")
  232. local c_menu_anti_brute = menu.Switch("Anti-Aim", "Anti Brute", false, "Will enable Lua Script Anti-BruteForce!")
  233. local c_menu_anti_brute_fov_slider = menu.SliderFloat("Anti-Aim", "Anti Brute FOV", 175.0, 50.0, 250.0, "Limit FOV between bullet and your modelll (Recomended Default Value)")
  234.  
  235. local c_menu_anti_brute_debug_mode = menu.Switch("Anti-Aim", "Debug Mode", false, "Will print on console which angle has been overrided etc...")
  236. local c_menu_anti_brute_1stshot = menu.SliderInt("Anti-Aim", "1st shot angle", 45, 0, 60, "Fake Limit for 1st enemy shot (Recomended using default values if you don't know what you're doing!)")
  237. local c_menu_anti_brute_2ndshot = menu.SliderInt("Anti-Aim", "2nd shot angle", 45, 0, 60, "Fake Limit for 2nd enemy shot (Recomended using default values if you don't know what you're doing!)")
  238. local c_menu_anti_brute_3rdshot = menu.SliderInt("Anti-Aim", "3rd shot angle", 5, 0, 60, "Fake Limit for 3rd enemy shot (Recomended using default values if you don't know what you're doing!)")
  239.  
  240. menu.Text("Anti-Aim", "Body Lean Customization")
  241. local c_menu_custom_body_lean = menu.Switch("Anti-Aim", "Custom Bodylean", false, "Will enable customized BodyLean can be modified using the sliders below!")
  242. local c_menu_body_lean_left = menu.SliderFloat("Anti-Aim", "Body Lean Left", 16.4, -180.0, 180.0, "Adjusts your BodyLean")
  243. local c_menu_body_lean_right = menu.SliderFloat("Anti-Aim", "Body Lean Right", -20.0, -180.0, 180.0, "Adjusts your BodyLean")
  244.  
  245.  
  246.  
  247. menu.Text("FakeLags", "FakeLags Customization")
  248. local c_menu_custom_fakelag = menu.Switch("FakeLags", "Custom Fakelag", false, "Will enable customized Fakelags")
  249. local c_menu_fakelag_modes = menu.Combo("FakeLags", "Modes", {"Adaptive", "Fluctuate"}, 0, "Multiple Fakelag modes!")
  250. local c_menu_fakelag_fluctuate_timing = menu.SliderFloat("FakeLags", "Fluctuate Timing", 12.9, 0.0, 20.0, "Fluctuate timing (Recomended Default values!)!")
  251.  
  252. menu.Text("Exploits", "Exploits Customization")
  253. local c_menu_doubletap = menu.Switch("Exploits", "Customized Doubletap", true, "")
  254. local c_menu_doubletap_clockcr = menu.Switch("Exploits", "Disable Correction", false, "Will make your DoubleTap innacurate but faster!")
  255. local c_menu_doubletap_modes = menu.Combo("Exploits", "Modes", {"Instant", "Fast", "Slow", "Sonic"}, 0, "Multiple DoubleTap speed modes!")
  256. local c_menu_doubletap_debug_mode = menu.Switch("Exploits", "Debug Mode", false, "Will print info about doubletap, ticks etc...")
  257. local c_menu_doubletap_instant_recharge = menu.Switch("Exploits", "Instant Recharge", false, "Will recharge doubletap as soon as possible (Not recommended tho!)!")
  258.  
  259. local c_menu_exploits_legs = menu.Switch("Exploits", "Smart Legs", false, "Will swap your model legs between normal/sliding asap!")
  260. local c_menu_air_stuck = menu.Switch("Exploits", "Airstuck", false, "")
  261.  
  262. menu.Text("Visuals", "Visuals Customization")
  263. local c_menu_text_indicators = menu.Switch("Visuals", "Enable text indicators", false, "Draw Text indicators (Use the multicombo tho!)!")
  264. local c_menu_x = menu.SliderFloat("Visuals", "Text x position", 973.0, 0.0, 2000.0, "x pos")
  265. local c_menu_y = menu.SliderFloat("Visuals", "Text y position", 484.0, 0.0, 2000.0, "y pos")
  266. local c_menu_arrows = menu.Switch("Visuals", "Anti-Aim Arrows", false, "Draw AntiAim direction arrows!")
  267. local c_menu_arrow_color = menu.ColorEdit("Visuals", "Arrow color", Color.new(1,1,1,1), "")
  268. local c_menu_arrows_type = menu.Combo("Visuals", "Arrow Type", {")", ">", "Triangles", "Circle"}, 0, "Multiple Arrow types!")
  269. local c_menu_custom_impacts = menu.Switch("Visuals", "Custom Bullet Impacts", false, "")
  270. local c_menu_visuals_impacts = menu.SliderInt("Visuals", "Bullet Impacts size", 5, 1, 50, "")
  271. local c_menu_visuals_beam_color = menu.ColorEdit("Visuals", "Beam Color", Color.new(1,1,1,1), "")
  272. local c_menu_visuals_impact_color = menu.ColorEdit("Visuals", "Impacts Color", Color.new(1,1,1,1), "")
  273. local c_menu_watermarker = menu.Switch("Visuals", "Watermarker", false, "Enables simple Watermarker!")
  274.  
  275. menu.Text("Misc", "Miscellaneous")
  276. local c_menu_kill_say = menu.Switch("Misc", "Custom Kill Say", false, "Says something on the chat once you kill someone (Words can be edited on the textbox below!)!")
  277. local c_menu_kill_say_words = menu.TextBox("Misc", "Kill Say Words", 64, "Say something...", "Says something on the chat once you kill someone (If Kill Say checkbox is enabled!)!")
  278. local c_menu_hurt_say = menu.Switch("Misc", "Custom Hurt Say", false, "Says something on the chat once you hurt someone (Words can be edited on the textbox below!)!")
  279. local c_menu_hurt_say_words = menu.TextBox("Misc", "Hurt Say Words", 64, "Say something...", "Says something on the chat once you hurt someone (If Hurt Say checkbox is enabled!)!")
  280.  
  281. menu.Text("Aimbot", "Advanced Aimbot")
  282. local c_menu_safepoint_hitboxes = menu.MultiCombo("Aimbot", "Safe point Hitboxes", hitboxes, 0, "")
  283. local c_menu_draw_only_priority_hitboxe = menu.SwitchColor("Aimbot", "Draw only priority hitbox", false, Color.new(1.0,1.0,1.0,1.0), "")
  284. local c_menu_circle_customization = menu.Combo("Aimbot", "Circle Customization", types, 0, "")
  285. local c_menu_scale_circle = menu.SliderFloat("Aimbot", "Scale circle", 1, 0, 20, "")
  286. local c_menu_hitboxes_color = menu.ColorEdit("Aimbot", "Intersacted points Color", Color.new(1,1,1,1), "")
  287.  
  288.  
  289. local c_menu_anti_aim_helpers = menu.Switch("Anti-Aim", "Auto direction", false, "")
  290. local c_menu_anti_aim_helpers_types = menu.Combo("Anti-Aim", "Auto direction Types", {"Peek with Fake", "Peek with Real"}, 0, "Multiple Auto direction types!")
  291. local c_menu_anti_aim_helpers_desync = menu.Switch("Anti-Aim", "Desync Modifications", false, "")
  292. local c_menu_anti_aim_helpers_desync_mod = menu.Combo("Anti-Aim", "Desync Mods", {"Smart", "Prefer Low Delta", "Multiple"}, 0, "Multiple Auto direction types!")
  293. local menu_freestand_desync = g_Config:FindVar("Aimbot", "Anti Aim", "Fake Angle", "Freestanding Desync")
  294. local menu_fake_option = g_Config:FindVar("Aimbot", "Anti Aim", "Fake Angle", "Fake Options")
  295.  
  296. --LUA MENU
  297.  
  298. local function antiaim_helpers()
  299.  
  300. if (c_menu_anti_aim_helpers:GetBool()) then
  301. if (c_menu_anti_aim_helpers_types:GetInt() == 0) then --Peek fake
  302. menu_freestand_desync:SetInt(1)
  303. else if (c_menu_anti_aim_helpers_types:GetInt() == 1) then --Peek real
  304. menu_freestand_desync:SetInt(2)
  305. end
  306. end
  307. end
  308.  
  309. local local_idx = g_EngineClient:GetLocalPlayer()
  310. local local_entity = g_EntityList:GetClientEntity(local_idx)
  311.  
  312. if local_entity == nil then
  313. return
  314. end
  315.  
  316. local local_player = local_entity:GetPlayer();
  317. local speed_x = local_player:GetProp("DT_BasePlayer", "m_vecVelocity[0]")
  318. local speed_y = local_player:GetProp("DT_BasePlayer", "m_vecVelocity[1]")
  319. local speed = math.sqrt(speed_x * speed_x + speed_y * speed_y)
  320. local speed_per_tick = math.sqrt(speed_x * speed_x + speed_y * speed_y) * g_GlobalVars.interval_per_tick
  321. if (c_menu_anti_aim_helpers_desync:GetBool()) then
  322.  
  323. if (c_menu_anti_aim_helpers_desync_mod:GetInt() == 0) then --smart
  324. menu_fake_option:SetInt(1)
  325. menu_freestand_desync:SetInt(2)
  326. antiaim.OverrideLimit(math.random(45, 80))
  327. menu_left_limit:SetInt(math.random(30, 80))
  328. menu_right_limit:SetInt(math.random(30, 80))
  329.  
  330.  
  331. end
  332. if (c_menu_anti_aim_helpers_desync_mod:GetInt() == 2) then --Multiple
  333. menu_fake_option:SetInt(utils.RandomInt(2, 3))
  334. menu_fake_options:SetInt(utils.RandomInt(1, 2))
  335. menu_left_limit:SetInt(utils.RandomInt(35, 60))
  336. menu_right_limit:SetInt(utils.RandomInt(35, 60))
  337. end
  338. if (c_menu_anti_aim_helpers_desync_mod:GetInt() == 1) then --prefer low delta
  339. menu_fake_option:SetInt(1)
  340. menu_freestand_desync:SetInt(2)
  341. antiaim.OverrideLimit(math.random(15, 15))
  342. menu_left_limit:SetInt(math.random(15, 35))
  343. menu_right_limit:SetInt(math.random(15, 35))
  344.  
  345. end
  346. end
  347. end
  348.  
  349.  
  350.  
  351.  
  352.  
  353.  
  354. --AIMBOT
  355.  
  356. local safety_hitboxes = {}
  357. local best_hitbox = {}
  358. local best_damage = {}
  359.  
  360. local predict_ticks = 7
  361. local force_off = false
  362. local force_off_tick = 0
  363.  
  364. local function normalizeangles(ang)
  365. if(ang.pitch > 180.0) then ang.pitch = ang.pitch - 360.0 end
  366. if(ang.yaw > 180.0) then ang.yaw = ang.yaw - 360.0 end
  367. return ang
  368. end
  369.  
  370. local function calcangle(src, dst)
  371. local vecdelta = Vector.new(dst.x - src.x, dst.y - src.y, dst.z - src.z)
  372. local angles = QAngle.new(math.atan2(-vecdelta.z, vecdelta:Length2D()) * 180.0 / math.pi, (math.atan2(vecdelta.y, vecdelta.x) * 180.0 / math.pi), 0.0)
  373. angles = normalizeangles(angles)
  374. return angles
  375. end
  376.  
  377. local function canseeentity(localplayer, entity)
  378. if not entity or not localplayer then return false end
  379. local canhit = false
  380. for k,v in pairs(checkhitbox) do
  381. local damage = cheat.FireBullet(localplayer, localplayer:GetEyePosition(), entity:GetPlayer():GetHitboxCenter(v))
  382. if damage > 0 then
  383. canhit = true
  384. break
  385. end
  386. end
  387. return canhit
  388. end
  389.  
  390. cheat.RegisterCallback("events", function(event)
  391. if event:GetName() == "player_death" then
  392.  
  393. if true then
  394. for i = 1, 64 do
  395. best_hitbox[i] = -1
  396. best_damage[i] = 0
  397. end
  398. end
  399. end
  400. end)
  401. local lines = {}
  402. local results = {}
  403.  
  404. local function impacts_events(event)
  405. if event:GetName() == "bullet_impact" and event:GetInt("userid") == g_EngineClient:GetPlayerInfo(g_EngineClient:GetLocalPlayer()).userId then
  406. local localplayer = g_EntityList:GetClientEntity(g_EngineClient:GetLocalPlayer())
  407. if localplayer then localplayer = localplayer:GetPlayer() else return end
  408. local position = localplayer:GetEyePosition()
  409. local destination = Vector.new(event:GetFloat("x"), event:GetFloat("y"), event:GetFloat("z"))
  410. table.insert(lines, {pos = position, destination = destination, time = 250, curtime = g_GlobalVars.curtime})
  411. end
  412.  
  413. if event:GetName() == "player_hurt" then
  414. if event:GetInt("attacker") == g_EngineClient:GetPlayerInfo(g_EngineClient:GetLocalPlayer()).userId then
  415. for k,v in pairs(lines) do
  416. if v.curtime == g_GlobalVars.curtime then
  417. table.insert(results, lines[k])
  418. table.remove(lines, k)
  419. end
  420. end
  421. end
  422. end
  423. end
  424. local function draw_impacts()
  425. local localplayer = g_EntityList:GetClientEntity(g_EngineClient:GetLocalPlayer())
  426. if localplayer then localplayer = localplayer:GetPlayer() else return end
  427. local position = localplayer:GetEyePosition()
  428.  
  429. for k,v in pairs(results) do
  430. v.time = v.time - 1
  431. if g_Render:ScreenPosition(v.pos).x ~= g_Render:ScreenPosition(v.destination).x and g_Render:ScreenPosition(v.pos).y ~= g_Render:ScreenPosition(v.destination).y then
  432. if g_Render:ScreenPosition(v.pos).x ~= g_Render:ScreenPosition(position).x and g_Render:ScreenPosition(v.pos).y ~= g_Render:ScreenPosition(position).y then
  433. g_Render:Line(g_Render:ScreenPosition(v.pos), g_Render:ScreenPosition(v.destination), c_menu_visuals_beam_color:GetColor())
  434. end
  435. end
  436. if v.time == 0 then table.remove(results, k) end
  437. end
  438.  
  439. for k,v in pairs(results) do
  440. for i = 1,c_menu_visuals_impacts:GetInt() do
  441. local position1 = g_Render:ScreenPosition(v.destination)
  442. local position2 = g_Render:ScreenPosition(v.destination)
  443. local position3 = g_Render:ScreenPosition(v.destination)
  444. local position4 = g_Render:ScreenPosition(v.destination)
  445. position1.x = position1.x+i
  446. position2.x = position2.x-i
  447. position3.y = position3.y+i
  448. position4.y = position4.y-i
  449. g_Render:Box(position1, position2, c_menu_visuals_impact_color:GetColor())
  450. g_Render:Box(position3, position4, c_menu_visuals_impact_color:GetColor())
  451. end
  452. end
  453. end
  454.  
  455. function C_BaseEntity:m_iHealth()
  456. return self:GetProp("DT_BasePlayer", "m_iHealth")
  457. end
  458. function C_BaseEntity:m_vecVelocity()
  459. return self:GetProp("DT_BasePlayer", "m_vecVelocity")
  460. end
  461.  
  462. local ENTITY_LIST_POINTER = ffi.cast("void***", utils.CreateInterface("client.dll", "VClientEntityList003")) or error("Failed to find VClientEntityList003!")
  463. local GET_CLIENT_ENTITY_FN = ffi.cast("GetClientEntity_4242425_t", ENTITY_LIST_POINTER[0][3])
  464. local UpdateClientSideAnims = ffi.cast("UpdateCSA_t", utils.PatternScan("client.dll", "55 8B EC 51 56 8B F1 80 BE ? ? ? ? 00 74 ? 8B 06 FF"))
  465.  
  466. local ffi_helpers = {
  467. get_animstate_offset = function()
  468. return 14612
  469. end,
  470.  
  471. get_entity_address = function(entity_index)
  472. local addr = GET_CLIENT_ENTITY_FN(ENTITY_LIST_POINTER, entity_index)
  473. return addr
  474. end
  475. }
  476.  
  477. local original_goal_feet_yaw = {}
  478.  
  479.  
  480. local function aimbot(cmd)
  481. local localplayer = g_EntityList:GetClientEntity(g_EngineClient:GetLocalPlayer())
  482. local oldlocalplayer = localplayer
  483. if localplayer then
  484. --local entity_animation_state = ffi.cast("int**", ffi_helpers.get_entity_address(2) + 45952)[0]
  485. --entity_animation_state = 100
  486. localplayer = localplayer:GetPlayer()
  487. else
  488. return
  489. end
  490.  
  491. safety_hitboxes = {}
  492. for i = 0,10 do
  493. if c_menu_safepoint_hitboxes:GetBool(i) then
  494. if i == 0 then table.insert( safety_hitboxes, 0 )
  495. elseif i == 1 then table.insert( safety_hitboxes, 6 )
  496. elseif i == 2 then table.insert( safety_hitboxes, 5 )
  497. elseif i == 3 then table.insert( safety_hitboxes, 4 )
  498. elseif i == 4 then table.insert( safety_hitboxes, 3 )
  499. elseif i == 5 then table.insert( safety_hitboxes, 2 )
  500. elseif i == 6 then
  501. for i = 7,12 do
  502. table.insert( safety_hitboxes, i )
  503. end
  504. elseif i == 7 then
  505. for i = 13,18 do
  506. table.insert( safety_hitboxes, i )
  507. end
  508. end
  509. end
  510. end
  511.  
  512. for i = 1,64 do
  513.  
  514. local entity = g_EntityList:GetClientEntity(i)
  515. if not entity then break end
  516. if entity and entity:GetPlayer():m_iHealth() > 0 and not entity:GetPlayer():IsTeamMate() and canseeentity(localplayer:GetPlayer(), entity:GetPlayer()) then
  517.  
  518. --UpdateClientSideAnims(ffi.cast("void***", ffi_helpers.get_entity_address(entity:EntIndex())))
  519. for k,v in pairs(safety_hitboxes) do
  520. ragebot.ForceHitboxSafety(entity:EntIndex(), v)
  521. end
  522.  
  523. local biggestdamage = 0
  524. local health = entity:GetPlayer():m_iHealth()
  525. local besthitboxfound = -1
  526. for k,v in pairs(hitboxesused) do
  527. local damage = cheat.FireBullet(localplayer, localplayer:GetEyePosition(), entity:GetPlayer():GetHitboxCenter(v))
  528. if damage > biggestdamage then
  529. biggestdamage = damage
  530. besthitboxfound = v
  531. end
  532.  
  533. if damage >= health then
  534. biggestdamage = damage
  535. besthitboxfound = v
  536. break
  537. end
  538. end
  539.  
  540. best_hitbox[entity:EntIndex()] = besthitboxfound
  541. best_damage[entity:EntIndex()] = biggestdamage
  542.  
  543. for i = 1, 18 do
  544. ragebot.SetHitboxPriority(entity:EntIndex(), i, 1)
  545. end
  546.  
  547. ragebot.SetHitboxPriority(entity:EntIndex(), besthitboxfound, 10000)
  548. else
  549. best_damage[entity:EntIndex()] = 0
  550. best_hitbox[entity:EntIndex()] = -1
  551. end
  552. end
  553.  
  554. --peeking:handle()
  555. end
  556.  
  557.  
  558. function toint(n)
  559. local s = tostring(n)
  560. local i, j = s:find('%.')
  561. if i then
  562. return tonumber(s:sub(1, i-1))
  563. else
  564. return n
  565. end
  566. end
  567.  
  568. local function aimbot_draw()
  569. local localplayer = g_EntityList:GetClientEntity(g_EngineClient:GetLocalPlayer())
  570. if localplayer then
  571. localplayer = localplayer:GetPlayer()
  572. else
  573. return
  574. end
  575.  
  576. if localplayer:m_iHealth() < 1 then
  577. return
  578. end
  579.  
  580.  
  581. for i = 1,64 do
  582. local entity = g_EntityList:GetClientEntity(i)
  583. local nentity = entity
  584. if entity then
  585. entity = entity:GetPlayer()
  586. end
  587. if entity and entity:m_iHealth() > 0 and not entity:IsTeamMate() and not entity:IsDormant() then
  588. for k,v in pairs(hitboxesused) do
  589. local color = Color.new(1,0,0,1)
  590. local red = false
  591. if best_hitbox[nentity:EntIndex()] == v then
  592. color = c_menu_draw_only_priority_hitboxe:GetColor()
  593. else
  594. color = c_menu_hitboxes_color:GetColor()
  595. red = true
  596. end
  597. if c_menu_draw_only_priority_hitboxe:GetBool() and not red then
  598. if c_menu_circle_customization:GetInt() == 1 then
  599. g_Render:Circle(g_Render:ScreenPosition(Vector.new(entity:GetHitboxCenter(v).x, entity:GetHitboxCenter(v).y, entity:GetHitboxCenter(v).z)), toint(7*c_menu_scale_circle:GetFloat()), toint(58*c_menu_scale_circle:GetFloat()/4), color)
  600. elseif c_menu_circle_customization:GetInt() == 0 then
  601. g_Render:CircleFilled(g_Render:ScreenPosition(Vector.new(entity:GetHitboxCenter(v).x, entity:GetHitboxCenter(v).y, entity:GetHitboxCenter(v).z)), toint(7*c_menu_scale_circle:GetFloat()), toint(58*c_menu_scale_circle:GetFloat()/4), color)
  602. end
  603. elseif not c_menu_draw_only_priority_hitboxe:GetBool() then
  604. if c_menu_circle_customization:GetInt() == 1 then
  605. g_Render:Circle(g_Render:ScreenPosition(Vector.new(entity:GetHitboxCenter(v).x, entity:GetHitboxCenter(v).y, entity:GetHitboxCenter(v).z)), toint(7*c_menu_scale_circle:GetFloat()), toint(58*c_menu_scale_circle:GetFloat()/4), color)
  606. elseif c_menu_circle_customization:GetInt() == 0 then
  607. g_Render:CircleFilled(g_Render:ScreenPosition(Vector.new(entity:GetHitboxCenter(v).x, entity:GetHitboxCenter(v).y, entity:GetHitboxCenter(v).z)), toint(7*c_menu_scale_circle:GetFloat()), toint(58*c_menu_scale_circle:GetFloat()/4), color)
  608. end
  609. end
  610. end
  611. end
  612. end
  613. end
  614.  
  615.  
  616. --AIMBOT
  617.  
  618.  
  619. --PREDICTION CALLBACK FUNCTIONS
  620. local function body_lean()
  621. local r_right = c_menu_body_lean_right:GetFloat()
  622. local r_left = c_menu_body_lean_left:GetFloat()
  623.  
  624. if (c_menu_custom_body_lean:GetBool()) then
  625. if (menu_invert_side:GetBool()) then
  626. antiaim.OverrideYawOffset(r_right)
  627. else
  628. antiaim.OverrideYawOffset(r_left)
  629. end
  630. end
  631. end
  632. --PREDICTION CALLBACK FUNCTIONS
  633.  
  634.  
  635. --EXPLOITS
  636. local function instant_recharge()
  637.  
  638. if (c_menu_doubletap_instant_recharge:GetBool()) then
  639. exploits.ForceCharge()
  640. end
  641.  
  642. end
  643.  
  644. local function exploits_func()
  645. --Speed modes
  646. local instant = 15
  647. local fast = 14
  648. local default = 13
  649.  
  650. --Preserve modes
  651. local insecure = 0
  652. local secure = 1
  653. local safe = 2
  654.  
  655. local cl_clock_correction = g_CVar:FindVar("cl_clock_correction") --clock correction OOPS: I think soufiw already manages with this but whatever...
  656. local sv_maxusrcmdprocessticks = g_CVar:FindVar("sv_maxusrcmdprocessticks") --sv_maxusrcmdprocessticks
  657.  
  658. if (c_menu_doubletap_clockcr:GetBool()) then
  659. g_CVar:FindVar("cl_clock_correction"):SetInt(0)
  660. g_CVar:FindVar("cl_clock_correction_adjustment_max_amount"):SetInt(450)
  661. end
  662.  
  663. if (c_menu_doubletap_modes:GetInt() == 0) then --Instant mode
  664. exploits.OverrideDoubleTapSpeed(instant)
  665. exploits.OverrideDoubleTapPreserve(secure)
  666.  
  667. if (c_menu_doubletap_debug_mode:GetBool()) then
  668. print("[DOUBLETAP] TICKS: MAX | PRESERVE: INSECURE | CORRECTION: DISABLED ")
  669. end
  670.  
  671. else if (c_menu_doubletap_modes:GetInt() == 1) then --Fast mode
  672. exploits.OverrideDoubleTapSpeed(fast)
  673. exploits.OverrideDoubleTapPreserve(secure)
  674.  
  675. if (c_menu_doubletap_debug_mode:GetBool()) then
  676. print("[DOUBLETAP] TICKS: MAX | PRESERVE: SECURE | CORRECTION: DISABLED ")
  677. end
  678.  
  679. else if (c_menu_doubletap_modes:GetInt() == 2) then --Slow mode
  680. exploits.OverrideDoubleTapSpeed(default)
  681. exploits.OverrideDoubleTapPreserve(safe)
  682.  
  683. if (c_menu_doubletap_debug_mode:GetBool()) then
  684. print("[DOUBLETAP] TICKS: 13 | PRESERVE: SAFETY | CORRECTION: ENABLED ")
  685. end
  686. else if (c_menu_doubletap_modes:GetInt() == 3) then --Sonic mode
  687. local localplayer = g_EntityList:GetClientEntity(g_EngineClient:GetLocalPlayer())
  688. local getplayer = localplayer:GetPlayer()
  689. local active_weapon = getplayer:GetActiveWeapon()
  690. exploits.OverrideDoubleTapPreserve(0)
  691. exploits.OverrideDoubleTapSpeed(14)
  692. g_CVar:FindVar("cl_clock_correction"):SetInt(0)
  693. g_CVar:FindVar("cl_clock_correction_adjustment_max_amount"):SetInt(450)
  694. if active_weapon:GetProp("DT_BaseAttributableItem", "m_iItemDefinitionIndex") == 38 or active_weapon:GetProp("DT_BaseAttributableItem", "m_iItemDefinitionIndex") == 11 then
  695. if g_Config:FindVar("Aimbot", "Ragebot", "Exploits", "Double Tap"):GetBool() then g_Config:FindVar("Aimbot", "Anti Aim", "Fake Lag", "Enable Fake Lag"):SetBool(false) else g_Config:FindVar("Aimbot", "Anti Aim", "Fake Lag", "Enable Fake Lag"):SetBool(true) end
  696. else
  697. g_Config:FindVar("Aimbot", "Anti Aim", "Fake Lag", "Enable Fake Lag"):SetBool(true)
  698. end
  699.  
  700. g_Config:FindVar("Aimbot", "Anti Aim", "Fake Lag", "Enable Fake Lag"):SetBool(true)
  701.  
  702. if (c_menu_doubletap_debug_mode:GetBool()) then
  703. print("[DOUBLETAP] TICKS: SONIC | PRESERVE: -1 | CORRECTION: DISABLED ")
  704. end
  705. else
  706. g_Config:FindVar("Aimbot", "Anti Aim", "Fake Lag", "Enable Fake Lag"):SetBool(true)
  707. end
  708. end
  709. end
  710. end
  711. end
  712.  
  713. local function air_stuck(cmd)
  714.  
  715. if c_menu_air_stuck:GetBool() then --Air stuck xDDD
  716. cmd.tick_count = 0x7FFFFFFF
  717. cmd.command_number = 0x7FFFFFFF
  718. end
  719.  
  720. end
  721. --EXPLOITS
  722.  
  723. --FAKELAG
  724.  
  725. local function adaptive_fakelag()
  726. local local_idx = g_EngineClient:GetLocalPlayer()
  727. local local_entity = g_EntityList:GetClientEntity(local_idx)
  728. local sent_packets_num = fakelag.SentPackets()
  729. local oldOrigin
  730. if local_entity == nil then
  731. return
  732. end
  733. local is_key_pressed = cheat.IsKeyDown(0x45)
  734. local local_player = local_entity:GetPlayer();
  735. local wish_ticks = 0
  736. local adaptive_ticks = 2
  737. local speed_x = local_player:GetProp("DT_BasePlayer", "m_vecVelocity[0]")
  738. local GetAbsOrigin = local_player:GetProp("DT_BasePlayer", "m_vecAbsOrigin")
  739. local speed_y = local_player:GetProp("DT_BasePlayer", "m_vecVelocity[1]")
  740. local speed_per_tick = math.sqrt(speed_x * speed_x + speed_y * speed_y) * g_GlobalVars.interval_per_tick
  741.  
  742. while (wish_ticks * speed_per_tick) <= 68.0 do
  743. if (((adaptive_ticks - 1) * speed_per_tick) > 68.0) then
  744. wish_ticks = wish_ticks + 1;
  745. break
  746. end
  747.  
  748. if ((adaptive_ticks * speed_per_tick) > 68.0) then
  749. wish_ticks = wish_ticks + 2;
  750. break
  751. end
  752.  
  753. if ((adaptive_ticks + 1) * speed_per_tick) > 68.0 then
  754. wish_ticks = wish_ticks + 3;
  755. break
  756. end
  757.  
  758. if ((adaptive_ticks + 2) * speed_per_tick) > 68.0 then
  759. wish_ticks = wish_ticks + 4;
  760. break
  761. end
  762.  
  763. adaptive_ticks = adaptive_ticks + 5;
  764. wish_ticks = wish_ticks + 5;
  765.  
  766. if adaptive_ticks > 15 then
  767. break
  768. end
  769. end
  770.  
  771. local weapon = local_player:GetActiveWeapon();
  772. if weapon ~= nil then
  773. if weapon:GetWeaponID() == 64 then
  774. if wish_ticks > 15 then
  775. wish_ticks = 15
  776. end
  777. end
  778. end
  779. if is_key_pressed then
  780. fakelag.SetState(false)
  781. end
  782. if g_ClientState.m_choked_commands < wish_ticks then
  783. fakelag.SetState(false)
  784. end
  785. end
  786.  
  787. local function fluctuate_fakelag()
  788.  
  789. local random1 = 0
  790. local random2 = 0
  791. local used = false
  792.  
  793. if used then
  794. random1 = math.random(1, c_menu_fakelag_fluctuate_timing:GetFloat())
  795. used = false
  796. else
  797. random1 = math.random(1, c_menu_fakelag_fluctuate_timing:GetFloat())
  798. used = true
  799. end
  800.  
  801. if random1 == 1 then
  802. menu_fakelag_limit:SetInt(0)
  803.  
  804. else
  805. menu_fakelag_limit:SetInt(15)
  806. end
  807.  
  808. end
  809.  
  810. local last = 0
  811. local state = true
  812. local function leg_fucker()
  813. local cur = g_GlobalVars.curtime
  814. local local_player = g_EntityList:GetClientEntity(g_EngineClient:GetLocalPlayer())
  815. local player = local_player:GetPlayer()
  816.  
  817. if (c_menu_exploits_legs:GetBool()) then
  818. menu_leg_movement:SetInt(utils.RandomInt(1, 2))
  819. end
  820. end
  821.  
  822. local function fake_lag()
  823. local local_idx = g_EngineClient:GetLocalPlayer()
  824. local local_entity = g_EntityList:GetClientEntity(local_idx)
  825. local local_player = local_entity:GetPlayer();
  826.  
  827. if (c_menu_fakelag_modes:GetInt()) == 0 and dt_charging == false then --adaptive fakelag (AIMWARE_PASTED)
  828. adaptive_fakelag()
  829.  
  830. else if (c_menu_fakelag_modes:GetInt()) == 1 then --fluctuate fakelag
  831. fluctuate_fakelag()
  832. end
  833. end
  834. end
  835. --FAKELAG
  836.  
  837. --VISUALS
  838.  
  839.  
  840. local font1 = g_Render:InitFont("Verdana", 55)
  841.  
  842. local get_screen = g_EngineClient:GetScreenSize()
  843. local FPLx = Vector2.new((get_screen.x /2) - 54, (get_screen.y /2) + 30)
  844. local FPLy = Vector2.new((get_screen.x /2) - 30, (get_screen.y /2) + 56)
  845. local FPLz = Vector2.new((get_screen.x /2) - 51, (get_screen.y /2) + 55)
  846. local FPRx = Vector2.new((get_screen.x /2) + 54, (get_screen.y /2) + 30)
  847. local FPRy = Vector2.new((get_screen.x /2) + 30, (get_screen.y /2) + 56)
  848. local FPRz = Vector2.new((get_screen.x /2) + 51, (get_screen.y /2) + 55)
  849. local FPLxx = Vector2.new((get_screen.x /2) - 56, (get_screen.y /2) + 29)
  850. local FPLyy = Vector2.new((get_screen.x /2) - 32, (get_screen.y /2) + 55)
  851. local FPLzz = Vector2.new((get_screen.x /2) - 53, (get_screen.y /2) + 54)
  852. local FPRxx = Vector2.new((get_screen.x /2) + 53, (get_screen.y /2) + 29)
  853. local FPRyy = Vector2.new((get_screen.x /2) + 29, (get_screen.y /2) + 55)
  854. local FPRzz = Vector2.new((get_screen.x /2) + 50, (get_screen.y /2) + 54)
  855. local LPx = Vector2.new((get_screen.x /2) - 43, (get_screen.y /2) + 13)
  856. local LPy = Vector2.new((get_screen.x /2) - 43, (get_screen.y /2) - 7)
  857. local LPz = Vector2.new((get_screen.x /2) - 63, (get_screen.y /2) + 3)
  858. local RPx = Vector2.new((get_screen.x /2) + 42, (get_screen.y /2) + 13)
  859. local RPy = Vector2.new((get_screen.x /2) + 42, (get_screen.y /2) - 7)
  860. local RPz = Vector2.new((get_screen.x /2) + 62, (get_screen.y /2) + 3)
  861. local LPxx = Vector2.new((get_screen.x /2) - 42, (get_screen.y /2) + 14)
  862. local LPyy = Vector2.new((get_screen.x /2) - 42, (get_screen.y /2) - 6)
  863. local LPzz = Vector2.new((get_screen.x /2) - 62, (get_screen.y /2) + 4)
  864. local RPxx = Vector2.new((get_screen.x /2) + 42, (get_screen.y /2) + 14)
  865. local RPyy = Vector2.new((get_screen.x /2) + 42, (get_screen.y /2) - 6)
  866. local RPzz = Vector2.new((get_screen.x /2) + 62, (get_screen.y /2) + 4)
  867. local BPx = Vector2.new((get_screen.x /2) + 9, (get_screen.y /2) + 47)
  868. local BPy = Vector2.new((get_screen.x /2) - 11, (get_screen.y /2) + 47)
  869. local BPz = Vector2.new((get_screen.x /2) - 1, (get_screen.y /2) + 67)
  870. local BPxx = Vector2.new((get_screen.x /2) + 10, (get_screen.y /2) + 48)
  871. local BPyy = Vector2.new((get_screen.x /2) - 10, (get_screen.y /2) + 48)
  872. local BPzz = Vector2.new((get_screen.x /2), (get_screen.y /2) + 68)
  873. local function indicators_visuals()
  874.  
  875. local color_inactive2 = Color.new(0 / 255, 0 / 255 ,0 / 255, 150 / 255)
  876. local get_screen = g_EngineClient:GetScreenSize()
  877. local pos_start = Vector2.new(1010,get_screen.y - 558)
  878. local text_size = 35
  879. local pos_add = Vector2.new(0, text_size)
  880. local cur_pos = 0
  881. local pos_start1 = Vector2.new(900,get_screen.y - 558)
  882. local cur_pos1 = 0
  883. if (c_menu_arrows_type:GetInt() == 2 and c_menu_arrows:GetBool()) then
  884.  
  885. g_Render:PolyFilled(color_inactive2, LPxx, LPyy, LPzz)
  886. g_Render:PolyFilled(color_inactive2, RPxx, RPyy, RPzz)
  887. g_Render:PolyFilled(color_inactive2, BPxx, BPyy, BPzz)
  888.  
  889. if (menu_invert_side:GetBool()) then
  890. g_Render:PolyFilled(c_menu_arrow_color:GetColor(), FPRxx, FPRyy, FPRzz)
  891. end
  892. if (not menu_invert_side:GetBool()) then
  893. g_Render:PolyFilled(c_menu_arrow_color:GetColor(), FPLxx, FPLyy, FPLzz)
  894. end
  895. if menu_antiaim_manual:GetInt()==1 then
  896. g_Render:PolyFilled(c_menu_arrow_color:GetColor(), BPx, BPy, BPz) -- backwards
  897. elseif menu_antiaim_manual:GetInt()==2 then
  898. g_Render:PolyFilled(c_menu_arrow_color:GetColor(), RPx, RPy, RPz) -- right
  899.  
  900. elseif menu_antiaim_manual:GetInt()==3 then
  901. g_Render:PolyFilled(c_menu_arrow_color:GetColor(), LPx, LPy, LPz) -- left
  902.  
  903. end
  904. end
  905. if (c_menu_arrows_type:GetInt() == 3 and c_menu_arrows:GetBool()) then
  906.  
  907. g_Render:CirclePart(Vector2.new(960.0, 541), 20.0, 58, Color.new(0, 0, 0, 100 / 255), math.rad(0), math.rad(360), 5.0)
  908.  
  909. if (menu_invert_side:GetBool()) then
  910. g_Render:CirclePart(Vector2.new(960.0, 541), 20.0, 58, c_menu_arrow_color:GetColor(), math.rad(810.3), math.rad(630.3), 5.0)
  911. end
  912. if (not menu_invert_side:GetBool()) then
  913. g_Render:CirclePart(Vector2.new(960.0, 541), 20.0, 58, c_menu_arrow_color:GetColor(), math.rad(90), math.rad(270), 5.0)
  914. end
  915. end
  916.  
  917. local function GetColorFromBoolArrow(val)
  918. return val and c_menu_arrow_color:GetColor() or c_menu_arrow_color:GetColor()
  919. end
  920.  
  921. local function arrow(str, val)
  922. g_Render:Text(str, cur_pos, GetColorFromBoolArrow(val), text_size, font1)
  923. cur_pos = cur_pos - pos_add
  924. end
  925. local function arrow2(str, val)
  926. g_Render:Text(str, cur_pos1, GetColorFromBoolArrow(val), text_size, font1)
  927. cur_pos1 = cur_pos1 - pos_add
  928. end
  929.  
  930. cur_pos = pos_start
  931. cur_pos1 = pos_start1
  932.  
  933. if (c_menu_arrows_type:GetInt() == 0) then
  934. if c_menu_arrows:GetBool() and menu_invert_side:GetBool() then
  935. arrow(")", c_menu_arrows:GetBool() )
  936. end
  937. if c_menu_arrows:GetBool() and not menu_invert_side:GetBool() then
  938. arrow2("(", c_menu_arrows:GetBool() )
  939. end
  940. end
  941.  
  942. if (c_menu_arrows_type:GetInt() == 1) then
  943. if c_menu_arrows:GetBool() and menu_invert_side:GetBool() then
  944. arrow(">", c_menu_arrows:GetBool() )
  945. end
  946. if c_menu_arrows:GetBool() and not menu_invert_side:GetBool() then
  947. arrow2("<", c_menu_arrows:GetBool() )
  948. end
  949. end
  950.  
  951. end
  952.  
  953.  
  954.  
  955. --VISUALS
  956.  
  957. --MISC
  958.  
  959.  
  960. local function kill_say_function(event)
  961.  
  962. local words_kill = c_menu_kill_say_words:GetString()
  963. local words_hurt = c_menu_hurt_say_words:GetString()
  964.  
  965. if event:GetName() == "player_death" then
  966.  
  967. local victim = g_EngineClient:GetPlayerForUserId(event:GetInt("userid"))
  968. local attacker = g_EngineClient:GetPlayerForUserId( event:GetInt("attacker"))
  969.  
  970. if victim ~= attacker and attacker == g_EngineClient:GetLocalPlayer() and c_menu_kill_say:GetBool() then
  971. g_EngineClient:ExecuteClientCmd('say ' .. words_kill)
  972. end
  973.  
  974. else if event:GetName() == "player_hurt" then
  975.  
  976. local victim = g_EngineClient:GetPlayerForUserId(event:GetInt("userid"))
  977. local attacker = g_EngineClient:GetPlayerForUserId( event:GetInt("attacker"))
  978.  
  979. if victim ~= attacker and attacker == g_EngineClient:GetLocalPlayer() and c_menu_hurt_say:GetBool() then
  980. g_EngineClient:ExecuteClientCmd('say ' .. words_hurt)
  981. end
  982. end
  983. end
  984. end
  985.  
  986.  
  987.  
  988. --MISC
  989.  
  990. --ANTIAIM
  991. local function vec_distance(vec_one, vec_two)
  992.  
  993. local delta_x, delta_y, delta_z = vec_one.x - vec_two.x, vec_one.y - vec_two.y
  994.  
  995. return math.sqrt(delta_x * delta_x + delta_y * delta_y)
  996.  
  997. end
  998.  
  999. local function get_closest_enemy()
  1000. local best_dist = c_menu_anti_brute_fov_slider:GetFloat()
  1001. local best_enemy = nil
  1002. local local_player = g_EntityList:GetClientEntity(g_EngineClient:GetLocalPlayer())
  1003. local local_origin = local_player:GetProp("DT_BaseEntity", "m_vecOrigin")
  1004. local local_screen_orig = g_Render:ScreenPosition(local_origin)
  1005. local screen = g_EngineClient:GetScreenSize()
  1006.  
  1007. for idx = 1, g_GlobalVars.maxClients + 1 do
  1008. local ent = g_EntityList:GetClientEntity(idx)
  1009. if ent and ent:IsPlayer() then
  1010. local player = ent:GetPlayer()
  1011. local health = player:GetProp("DT_BasePlayer", "m_iHealth")
  1012.  
  1013. if not player:IsTeamMate() and health > 0 and not player:IsDormant() then
  1014. local origin = ent:GetProp("DT_BaseEntity", "m_vecOrigin")
  1015. local screen_orig = g_Render:ScreenPosition(origin)
  1016. local temp_dist = vec_distance(Vector2.new(screen.x / 2, screen.y / 2), screen_orig)
  1017.  
  1018. if(temp_dist < best_dist) then
  1019. best_dist = temp_dist
  1020. best_enemy = ent
  1021. end
  1022. end
  1023. end
  1024. end
  1025.  
  1026. return best_enemy
  1027. end
  1028.  
  1029. local function AA_Anti_Brute_Force(e)
  1030.  
  1031. if e:GetName() == "weapon_fire" and c_menu_anti_brute:GetBool() then --Weapon Fire event later we run FOV check so we can make sure the bullet is on our direction!
  1032. local user_id = e:GetInt("userid", -1)
  1033. local user = g_EntityList:GetClientEntity(g_EngineClient:GetPlayerForUserId(user_id)) --Get Enemy Entity
  1034. local local_player = g_EntityList:GetClientEntity(g_EngineClient:GetLocalPlayer()) --Get Local Entity
  1035. local player = local_player:GetPlayer()
  1036. local health = player:GetProp("DT_BasePlayer", "m_iHealth")
  1037.  
  1038.  
  1039. if(health > 0) then -- if our local player is alive we run the AntiBrute Logic!
  1040.  
  1041. local closest_enemy = get_closest_enemy() --Get Closest enemy based on distance
  1042. if(closest_enemy ~= nil and user:EntIndex() == closest_enemy:EntIndex()) then
  1043. miss_counter = miss_counter + 1 --Basic so we calculate missed shots of enemy also some checks so if we get hit don't run the code!
  1044.  
  1045. if (miss_counter % 3 == 0) then --Logic 1
  1046.  
  1047. menu_left_limit:SetInt(c_menu_anti_brute_1stshot:GetInt())
  1048. menu_invert_side:SetBool(true)
  1049. left_side = true
  1050. if (c_menu_anti_brute_debug_mode:GetBool()) then
  1051. print("[ANTI-BRUTE] Angle overrided to (" .. c_menu_anti_brute_1stshot:GetInt() .. ") [INFO: PASST 3RD SIDE | NEXT ANGLE = (" .. c_menu_anti_brute_2ndshot:GetInt() ..") INVERTER:TRUE]" )
  1052. end
  1053. else if (miss_counter % 3 == 1) then --Logic 2
  1054. menu_right_limit:SetInt(c_menu_anti_brute_2ndshot:GetInt())
  1055. menu_invert_side:SetBool(false)
  1056. right_side = true
  1057. if (c_menu_anti_brute_debug_mode:GetBool()) then
  1058. print("[ANTI-BRUTE] Angle overrided to (" .. c_menu_anti_brute_2ndshot:GetInt() .. ") [INFO: PASST 1ST SIDE | NEXT ANGLE = (" .. c_menu_anti_brute_3rdshot:GetInt() ..") INVERTER:FALSE]" )
  1059. end
  1060.  
  1061. else if (miss_counter % 3 == 2) then --Logic 3
  1062. menu_right_limit:SetInt(c_menu_anti_brute_3rdshot:GetInt())
  1063. menu_left_limit:SetInt(c_menu_anti_brute_3rdshot:GetInt())
  1064.  
  1065. ideal_yaw = true
  1066. if (c_menu_anti_brute_debug_mode:GetBool()) then
  1067. print("[ANTI-BRUTE] Angle overrided to (" .. c_menu_anti_brute_3rdshot:GetInt() .. ") [INFO: PASST 2ND SIDE | NEXT ANGLE = (" .. c_menu_anti_brute_1stshot:GetInt() ..") INVERTER:TRUE]" )
  1068. end
  1069. end
  1070. end
  1071. end
  1072. end
  1073. end
  1074. end
  1075. end
  1076. --ANTIAIM
  1077.  
  1078. --IND
  1079.  
  1080. local function text_indicators()
  1081.  
  1082. local clr_green = Color.new(146.1, 255.1, 36.1, 0.9)
  1083. local clr_orange = Color.new(255.1, 183.1, 0.1, 0.9)
  1084. local clr_red = Color.new(255, 0, 0)
  1085. local clr_blue = Color.new(36.1, 164.1, 255.1, 255.9)
  1086. local screen = g_EngineClient:GetScreenSize()
  1087. local pos_start = Vector2.new(c_menu_x:GetFloat(),screen.y - c_menu_y:GetFloat())
  1088. local text_size = 13
  1089. local pos_add = Vector2.new(0, text_size)
  1090. local cur_pos = Vector2.new(0, 0) -- current frame
  1091.  
  1092. -------------------------------------------------------------FAKEDUCK
  1093. local function GetColorFromBool(val)
  1094. return val and clr_green or clr_red
  1095. end
  1096.  
  1097. local function RenderIndicator(str, val)
  1098. g_Render:Text(str, cur_pos, GetColorFromBool(val), text_size, true)
  1099. cur_pos = cur_pos - pos_add
  1100. end
  1101.  
  1102. -------------------------------------------------------------DOUBLETAP
  1103. local function dtchargeind(str, r,g,b)
  1104. g_Render:Text(str, cur_pos, Color.new(r,g,b),text_size, true)
  1105. cur_pos = cur_pos - pos_add
  1106. end
  1107. -------------------------------------------------------------------------------
  1108.  
  1109. local ideal_ind_clr = Color.new(230 / 255, 184 / 255, 0 / 255, 0.9)
  1110.  
  1111. local function ideal_indclr(val)
  1112. return val and ideal_ind_clr or ideal_ind_clr
  1113. end
  1114.  
  1115. local function ideal_ind(str, val)
  1116. g_Render:Text(str, cur_pos, ideal_indclr(val), text_size, true)
  1117. cur_pos = cur_pos - pos_add
  1118. end
  1119.  
  1120. local function GetColorFromBool1(val)
  1121. return val and clr_red or clr_red
  1122. end
  1123.  
  1124. local function RenderIndicator1(str, val)
  1125. g_Render:Text(str, cur_pos, GetColorFromBool1(val), text_size, true)
  1126. cur_pos = cur_pos - pos_add
  1127. end
  1128. -------------------------------------------------------------
  1129. local prefer_color = Color.new(208 / 255, 187 / 255, 252 / 255, 0.9)
  1130. local function prefersafebool(val)
  1131. return val and prefer_color or prefer_color
  1132. end
  1133.  
  1134. local function prefersafe(str, val)
  1135. g_Render:Text(str, cur_pos, prefersafebool(val), text_size)
  1136. cur_pos = cur_pos - pos_add
  1137. end
  1138. -------------------------------------------------------------------------------
  1139. --------------------------------------------------------------------------------
  1140. cur_pos = pos_start
  1141.  
  1142. if c_menu_text_indicators:GetBool() then
  1143.  
  1144.  
  1145. if exploits.GetCharge() ~= 1 then
  1146. dt_charging = false
  1147. dtchargeind("DT", 255, 0,0)
  1148. else
  1149. dt_charging = true
  1150. dtchargeind("DT", 146 / 255, 255 / 255, 36 / 255, 0.9)
  1151. end
  1152.  
  1153. if menu_fakeduck:GetBool() then --FD
  1154. RenderIndicator("FD", menu_fakeduck:GetBool() )
  1155. end
  1156. if (ideal_yaw == true) then
  1157. ideal_ind("IDEAL YAW")
  1158. end
  1159.  
  1160. prefersafe("PREDICTION")
  1161.  
  1162. if (menu_safe_point:GetInt() > 0) then
  1163. prefersafe("SAFETY")
  1164. end
  1165. if not menu_invert_side:GetBool() then
  1166. RenderIndicator1("LEFT")
  1167. end
  1168. if (menu_invert_side:GetBool()) then
  1169. RenderIndicator1("RIGHT")
  1170. end
  1171. end
  1172. end
  1173.  
  1174.  
  1175.  
  1176.  
  1177.  
  1178. --IND
  1179.  
  1180. local function watermarker()
  1181. g_Render:GradientBoxFilled(Vector2.new(1569.0, 30.0), Vector2.new(1918.0, 2.0), Color.new(0, 0, 0, 2 / 255), Color.new(0, 0, 0, 255 / 255), Color.new(0, 0, 0, 2 / 255), Color.new(0, 0, 0, 255 / 255))
  1182. g_Render:Text("PREDICTION V2", Vector2.new(1820.0, 9.0), Color.new(1.0, 1.0, 1.0, 1.0), 13, false)
  1183. g_Render:Text("Welcome " .. username, Vector2.new(1599.3, 9.0), Color.new(1.0, 1.0, 1.0, 1.0), 14, false)
  1184. g_Render:Text("[DEFAULT BUILD] ", Vector2.new(1705.3, 9.0), Color.new(1.0, 1.0, 1.0, 1.0), 14, false)
  1185.  
  1186. end
  1187.  
  1188. --CALLBACKS
  1189. local function draw()
  1190. local localplayer = g_EntityList:GetClientEntity(g_EngineClient:GetLocalPlayer())
  1191. if localplayer then
  1192. localplayer = localplayer:GetPlayer()
  1193. else
  1194. return
  1195. end
  1196. if (g_EngineClient:IsConnected()) then
  1197. if (c_menu_watermarker:GetBool()) then
  1198. watermarker()
  1199. end
  1200.  
  1201. end
  1202. if localplayer:m_iHealth() > 0 then
  1203. aimbot_draw()
  1204. indicators_visuals()
  1205. text_indicators()
  1206. if (c_menu_custom_impacts:GetBool()) then
  1207. draw_impacts()
  1208. end
  1209. end
  1210.  
  1211.  
  1212. end
  1213.  
  1214. local function pre_prediction(cmd)
  1215.  
  1216.  
  1217. air_stuck(cmd)
  1218. -- aimbot(cmd)
  1219. instant_recharge()
  1220. fake_lag()
  1221.  
  1222.  
  1223. end
  1224. local function prediction()
  1225. body_lean()
  1226.  
  1227. end
  1228. local function createmove()
  1229. antiaim_helpers()
  1230. -- exploits_func()
  1231. leg_fucker()
  1232.  
  1233.  
  1234. end
  1235. local function events(e)
  1236.  
  1237. kill_say_function(e)
  1238. AA_Anti_Brute_Force(e)
  1239. impacts_events(e)
  1240.  
  1241.  
  1242. end
  1243.  
  1244. cheat.RegisterCallback("draw", draw)
  1245. cheat.RegisterCallback("pre_prediction", pre_prediction)
  1246. cheat.RegisterCallback("prediction", prediction)
  1247. cheat.RegisterCallback("createmove", createmove)
  1248. cheat.RegisterCallback("events", events)
  1249.  
  1250. end
  1251.  
  1252. if buff == "" then
  1253. local textbox = menu.TextBox("Init", "Username", 64, "", "What username do you want to use?")
  1254. local button = menu.Button("Init", "Confirm")
  1255.  
  1256. --local done
  1257.  
  1258. button:RegisterCallback(function()
  1259. --if done == true then return end
  1260. --done = true
  1261. ffi.C.WriteFile(pfile, ffi.cast("char*", textbox:GetString()), #textbox:GetString(), nil, 0)
  1262. username = textbox:GetString()
  1263. menu.DestroyItem(textbox)
  1264. menu.DestroyItem(button)
  1265. initlua()
  1266. end)
  1267. else
  1268. local textbox = menu.TextBox("Init", "Username", 64, "", "What username do you want to use?")
  1269. local button = menu.Button("Init", "Confirm")
  1270. menu.DestroyItem(textbox)
  1271. menu.DestroyItem(button)
  1272. initlua()
  1273. end
  1274.  
  1275. --CALLBACKS
Advertisement
Add Comment
Please, Sign In to add comment