Advertisement
Guest User

Untitled

a guest
Feb 18th, 2020
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 13.31 KB | None | 0 0
  1. function Player(ent_index) {
  2. this.ent_index = ent_index;
  3. this.known_desync = 2; // 1 = normal 2 = opposite
  4.  
  5. }
  6. function dist(v1 , v2){
  7.  
  8. deltaX = v1[0] - v2[0];
  9. deltaY = v1[1] - v2[1];
  10. deltaZ = v1[2] - v2[2];
  11.  
  12. distance = Math.sqrt(deltaX * deltaX + deltaY * deltaY + deltaZ * deltaZ);
  13.  
  14. return distance;
  15. }
  16. function arrayRemove(arr, value) {
  17.  
  18. return arr.filter(function(ele){
  19. return ele.ent_index != value;
  20. });
  21.  
  22. }
  23.  
  24. function find_enemy(index) {
  25. for(i = 0; i < enemies_list.length; i++)
  26. {
  27. if(enemies_list[i].ent_index == index)
  28. return enemies_list[i];
  29. }
  30.  
  31. return Player(-1);
  32.  
  33. }
  34.  
  35. var other_weapons =
  36. [
  37. "knife",
  38. "knife_t",
  39. "knife_karambit",
  40. "knife_m9_bayonet",
  41. "knife_survival_bowie",
  42. "knife_butterfly",
  43. "knife_flip",
  44. "knife_push",
  45. "knife_tactical",
  46. "knife_falchion",
  47. "knife_gut",
  48. "knife_ursus",
  49. "knife_gypsy_jackknife",
  50. "knife_stiletto",
  51. "knife_widowmaker",
  52. "knife_css",
  53. "knife_cord",
  54. "knife_canis",
  55. "knife_outdoor",
  56. "knife_skeleton",
  57. "bayonet",
  58. "hegrenade",
  59. "smokegrenade",
  60. "molotov",
  61. "incgrenade",
  62. "flashbang",
  63. "decoy",
  64. "taser"
  65. ];
  66. function is_gun(weapon_name) {
  67.  
  68. for(var i = 0; i < other_weapons.length; i++) {
  69.  
  70. if(weapon_name == "weapon_" + other_weapons[i])
  71. {
  72.  
  73. return false;
  74.  
  75. }
  76.  
  77. }
  78.  
  79. return true;
  80.  
  81. }
  82. function rotate(add, flip, start, degree, distance) {
  83. rad = degree * (Math.PI/180);
  84. ind0 = (flip ? Math.cos(rad) : Math.sin(rad)) * distance;
  85. ind1 = (flip ? Math.sin(rad) : Math.cos(rad)) * distance;
  86. start[0] += add ? ind0 : -ind0
  87. start[1] += add ? ind1 : -ind1;
  88. return start;
  89. }
  90.  
  91. best_enemy = new Player(-1);
  92. enemies_list = [];
  93. function do_aa()
  94. {
  95. if(!UI.GetValue( "Misc", "JAVASCRIPT", "Script items", "Anti aim lua" ))
  96. return;
  97.  
  98. // UI.SetValue("Anti-Aim", "Fake angles", "Hide real angle" , true);
  99.  
  100. local_index = Entity.GetLocalPlayer();
  101. closest_enemy = 0;
  102.  
  103. if(!Entity.IsValid(local_index))
  104. {
  105. enemies_list = [];
  106. return;
  107. }
  108.  
  109. enemies = Entity.GetEnemies();
  110. if(Entity.IsAlive(local_index) == false)
  111. {
  112. best_enemy = new Player(-1);
  113. return;
  114. }
  115. for ( i = 0; i < enemies.length; i++)
  116. {
  117. should_push = true;
  118. for(j = 0; j <enemies_list.length;j++)
  119. {
  120. if (enemies_list[j].ent_index == enemies[i])
  121. should_push = false;
  122. }
  123. if(should_push)
  124. {
  125. enemies_list.push(new Player(enemies[i]));
  126. }
  127.  
  128. }
  129.  
  130. local_eye_pos = Entity.GetEyePosition(local_index);
  131. closest = -1;
  132. for ( i = 0; i < enemies_list.length; i++)
  133. {
  134. if (Entity.IsAlive(enemies_list[i].ent_index) == true && Entity.IsValid(enemies_list[i].ent_index) == true && Entity.IsDormant(enemies_list[i].ent_index) == false)
  135. {
  136. enemy_eye_pos = Entity.GetEyePosition(enemies_list[i].ent_index);
  137. distance = dist(local_eye_pos , enemy_eye_pos);
  138. if(closest == -1)
  139. {
  140. closest = distance;
  141. closest_enemy = enemies_list[i];
  142. }
  143. else
  144. {
  145. if(distance < closest)
  146. {
  147. closest = distance;
  148. closest_enemy = enemies_list[i];
  149. }
  150. }
  151.  
  152. }
  153. }
  154. if(Entity.IsAlive(best_enemy.ent_index) == true && Entity.IsValid(best_enemy.ent_index) == true && Entity.IsDormant(best_enemy.ent_index) == false)
  155. closest_enemy = best_enemy;
  156. else {
  157. best_enemy = new Player(-1)
  158. }
  159. if(closest == -1)
  160. return;
  161. var hotkey = UI.IsHotkeyActive( "Anti-Aim", "Fake angles", "inverter" );
  162. origin = Entity.GetRenderOrigin(Entity.GetLocalPlayer());
  163. originenemy = Entity.GetRenderOrigin(closest_enemy.ent_index);
  164. distleft = dist([origin[0] - 58 , origin[1] , origin[2]] , originenemy);
  165. distright = dist([origin[0] + 58 , origin[1] , origin[2]] , originenemy);
  166.  
  167. hitbox_pos = Entity.GetHitboxPosition(closest_enemy.ent_index, 0);
  168. hitbox_pos2 = Entity.GetHitboxPosition(closest_enemy.ent_index, 5);
  169. result = Trace.Bullet(local_index, local_eye_pos, hitbox_pos);
  170. result2 = Trace.Bullet(local_index, local_eye_pos, hitbox_pos2);
  171. if(result[1] >= 1 || result2[1] >= 1)
  172. {
  173. if(closest_enemy.known_desync == 1) // if he thinks u have normal then you set it to opposite
  174. {
  175. if(UI.IsHotkeyActive( "Anti-Aim", "Fake angles", "inverter" ))
  176. UI.ToggleHotkey("Anti-Aim", "Fake angles", "inverter");
  177. //UI.SetValue("Anti-Aim", "Fake angles", "Fake desync" , false);
  178. }
  179. if(closest_enemy.known_desync == 2)
  180. {
  181. if(!UI.IsHotkeyActive( "Anti-Aim", "Fake angles", "inverter" ))
  182. UI.ToggleHotkey("Anti-Aim", "Fake angles", "inverter");
  183. //UI.SetValue("Anti-Aim", "Fake angles", "Fake desync" , true);
  184.  
  185. // if he thinks you have opposite then you set it to normal
  186. }
  187.  
  188. }
  189. else {
  190.  
  191.  
  192. if(closest_enemy.known_desync == 1) // if he thinks u have normal then you set it to opposite
  193. {
  194. if(distleft < distright)
  195. {
  196. //Global.Print("left")
  197. if(!hotkey)
  198. UI.ToggleHotkey("Anti-Aim", "Fake angles", "inverter");
  199. }
  200. if(distright < distleft) {
  201. // Global.Print("right")
  202. if(hotkey)
  203. UI.ToggleHotkey("Anti-Aim", "Fake angles", "inverter");
  204. }
  205.  
  206. //UI.SetValue("Anti-Aim", "Fake angles", "Fake desync" , false);
  207. }
  208. if(closest_enemy.known_desync == 2)
  209. {
  210. if(distleft < distright)
  211. {
  212. //Global.Print("left")
  213. if(hotkey)
  214. UI.ToggleHotkey("Anti-Aim", "Fake angles", "inverter");
  215. }
  216. if(distright < distleft) {
  217. //Global.Print("right")
  218. if(!hotkey)
  219. UI.ToggleHotkey("Anti-Aim", "Fake angles", "inverter");
  220. }
  221. //UI.SetValue("Anti-Aim", "Fake angles", "Fake desync" , true);
  222.  
  223. // if he thinks you have opposite then you set it to normal
  224. }
  225. }
  226.  
  227.  
  228. }
  229.  
  230. function GetScriptOption(name)
  231.  
  232. {
  233.  
  234. var Value = UI.GetValue("Misc", "JAVASCRIPT", "Script Items", name);
  235.  
  236. return Value;
  237.  
  238. }
  239.  
  240.  
  241.  
  242. function radian(degree)
  243.  
  244. {
  245.  
  246. return degree * Math.PI / 180.0;
  247.  
  248. }
  249.  
  250.  
  251.  
  252. function ExtendVector(vector, angle, extension)
  253.  
  254. {
  255.  
  256. var radianAngle = radian(angle);
  257.  
  258. return [extension * Math.cos(radianAngle) + vector[0], extension * Math.sin(radianAngle) + vector[1], vector[2]];
  259.  
  260. }
  261.  
  262.  
  263.  
  264. function VectorAdd(a, b)
  265.  
  266. {
  267.  
  268. return [a[0] + b[0], a[1] + b[1], a[2] + b[2]];
  269.  
  270. }
  271.  
  272.  
  273.  
  274. function VectorSubtract(a, b)
  275.  
  276. {
  277.  
  278. return [a[0] - b[0], a[1] - b[1], a[2] - b[2]];
  279.  
  280. }
  281.  
  282.  
  283.  
  284. function VectorMultiply(a, b)
  285.  
  286. {
  287.  
  288. return [a[0] * b[0], a[1] * b[1], a[2] * b[2]];
  289.  
  290. }
  291.  
  292.  
  293.  
  294. function VectorLength(x, y, z)
  295.  
  296. {
  297.  
  298. return Math.sqrt(x * x + y * y + z * z);
  299.  
  300. }
  301.  
  302.  
  303.  
  304. function VectorNormalize(vec)
  305.  
  306. {
  307.  
  308. var length = VectorLength(vec[0], vec[1], vec[2]);
  309.  
  310. return [vec[0] / length, vec[1] / length, vec[2] / length];
  311.  
  312. }
  313.  
  314.  
  315.  
  316. function VectorDot(a, b)
  317.  
  318. {
  319.  
  320. return a[0] * b[0] + a[1] * b[1] + a[2] * b[2];
  321.  
  322. }
  323.  
  324.  
  325.  
  326. function VectorDistance(a, b)
  327.  
  328. {
  329.  
  330. return VectorLength(a[0] - b[0], a[1] - b[1], a[2] - b[2]);
  331.  
  332. }
  333.  
  334.  
  335.  
  336. function ClosestPointOnRay(target, rayStart, rayEnd)
  337.  
  338. {
  339.  
  340. var to = VectorSubtract(target, rayStart);
  341.  
  342. var dir = VectorSubtract(rayEnd, rayStart);
  343.  
  344. var length = VectorLength(dir[0], dir[1], dir[2]);
  345.  
  346. dir = VectorNormalize(dir);
  347.  
  348.  
  349.  
  350. var rangeAlong = VectorDot(dir, to);
  351.  
  352. if (rangeAlong < 0.0)
  353.  
  354. {
  355.  
  356. return rayStart;
  357.  
  358. }
  359.  
  360. if (rangeAlong > length)
  361.  
  362. {
  363.  
  364. return rayEnd;
  365.  
  366. }
  367.  
  368. return VectorAdd(rayStart, VectorMultiply(dir, [rangeAlong, rangeAlong, rangeAlong]));
  369.  
  370. }
  371.  
  372.  
  373. var lastHitTime = 0.0;
  374.  
  375. var lastImpactTimes =
  376.  
  377. [
  378.  
  379. 0.0
  380.  
  381. ];
  382.  
  383. var lastImpacts =
  384.  
  385. [
  386.  
  387. [0.0, 0.0, 0.0]
  388.  
  389. ];
  390.  
  391.  
  392.  
  393. function OnHurt()
  394.  
  395. {
  396.  
  397. if (Entity.GetEntityFromUserID(Event.GetInt("userid")) != Entity.GetLocalPlayer()) return;
  398.  
  399. var hitbox = Event.GetInt('hitgroup');
  400.  
  401. entity = Entity.GetEntityFromUserID(Event.GetInt("attacker"));
  402.  
  403. if (hitbox == 1 || hitbox == 6 || hitbox == 7) //head, both toe
  404.  
  405. {
  406.  
  407. var curtime = Global.Curtime();
  408. lastHitTime = curtime;
  409. ent = find_enemy(entity);
  410. ent.ent_index = entity;
  411. ent.known_desync = UI.IsHotkeyActive("Anti-Aim", "Fake angles", "Inverter") ? 1 : 2;
  412. best_enemy = ent;
  413.  
  414.  
  415. }
  416.  
  417. }
  418.  
  419.  
  420.  
  421. function OnBulletImpact()
  422.  
  423. {
  424.  
  425. var curtime = Global.Curtime();
  426.  
  427. if (Math.abs(lastHitTime - curtime) < 0.2) return;
  428.  
  429.  
  430.  
  431. var entity = Entity.GetEntityFromUserID(Event.GetInt("userid"));
  432.  
  433. var impact = [Event.GetFloat("x"), Event.GetFloat("y"), Event.GetFloat("z"), curtime];
  434.  
  435. var source;
  436.  
  437. if (Entity.IsValid(entity) && Entity.IsEnemy(entity))
  438.  
  439. {
  440.  
  441. if (!Entity.IsDormant(entity))
  442.  
  443. {
  444.  
  445. source = Entity.GetEyePosition(entity);
  446.  
  447. }
  448.  
  449. else if (Math.abs(lastImpactTimes[entity] - curtime) < 0.1)
  450.  
  451. {
  452.  
  453. source = lastImpacts[entity];
  454.  
  455. }
  456.  
  457. else
  458.  
  459. {
  460.  
  461. lastImpacts[entity] = impact;
  462.  
  463. lastImpactTimes[entity] = curtime;
  464.  
  465. return;
  466.  
  467. }
  468.  
  469. var local = Entity.GetLocalPlayer();
  470.  
  471. var localEye = Entity.GetEyePosition(local);
  472.  
  473. var localOrigin = Entity.GetProp(local, "CBaseEntity", "m_vecOrigin");
  474.  
  475. var localBody = VectorMultiply(VectorAdd(localEye, localOrigin), [0.5, 0.5, 0.5]);
  476.  
  477.  
  478.  
  479. var bodyVec = ClosestPointOnRay(localBody, source, impact);
  480.  
  481. var bodyDist = VectorDistance(localBody, bodyVec);
  482.  
  483.  
  484.  
  485. if (bodyDist < 256.0) //he clearly shot at us!
  486.  
  487. {
  488. //Global.Print("in range \n");
  489. var realAngle = Local.GetRealYaw();
  490.  
  491. var fakeAngle = Local.GetFakeYaw();
  492.  
  493.  
  494.  
  495. var headVec = ClosestPointOnRay(localEye, source, impact);
  496.  
  497. var headDist = VectorDistance(localEye, headVec);
  498.  
  499. var feetVec = ClosestPointOnRay(localOrigin, source, impact);
  500.  
  501. var feetDist = VectorDistance(localOrigin, feetVec);
  502.  
  503.  
  504.  
  505. var closestRayPoint;
  506.  
  507. var realPos;
  508.  
  509. var fakePos;
  510.  
  511.  
  512.  
  513. if (bodyDist < headDist && bodyDist < feetDist) //that's a pelvis
  514.  
  515. { //pelvis direction = goalfeetyaw + 180
  516.  
  517. closestRayPoint = bodyVec;
  518.  
  519. realPos = ExtendVector(bodyVec, realAngle + 180.0, 10.0);
  520.  
  521. fakePos = ExtendVector(bodyVec, fakeAngle + 180.0, 10.0);
  522.  
  523. }
  524.  
  525. else if (feetDist < headDist) //ow my toe
  526.  
  527. { //toe direction = goalfeetyaw -30 +- 90
  528.  
  529. closestRayPoint = feetVec;
  530.  
  531. var realPos1 = ExtendVector(bodyVec, realAngle - 30.0 + 90.0, 10.0);
  532.  
  533. var realPos2 = ExtendVector(bodyVec, realAngle - 30.0 - 90.0, 10.0);
  534.  
  535. var fakePos1 = ExtendVector(bodyVec, fakeAngle - 30.0 + 90.0, 10.0);
  536.  
  537. var fakePos2 = ExtendVector(bodyVec, fakeAngle - 30.0 - 90.0, 10.0);
  538.  
  539. if (VectorDistance(feetVec, realPos1) < VectorDistance(feetVec, realPos2))
  540.  
  541. {
  542.  
  543. realPos = realPos1;
  544.  
  545. }
  546.  
  547. else
  548.  
  549. {
  550.  
  551. realPos = realPos2;
  552.  
  553. }
  554.  
  555. if (VectorDistance(feetVec, fakePos1) < VectorDistance(feetVec, fakePos2))
  556.  
  557. {
  558.  
  559. fakePos = fakePos1;
  560.  
  561. }
  562.  
  563. else
  564.  
  565. {
  566.  
  567. fakePos = fakePos2;
  568.  
  569. }
  570.  
  571. }
  572.  
  573. else //ow my head i feel like i slept for 2 days
  574.  
  575. {
  576.  
  577. closestRayPoint = headVec;
  578.  
  579. realPos = ExtendVector(bodyVec, realAngle, 10.0);
  580.  
  581. fakePos = ExtendVector(bodyVec, fakeAngle, 10.0);
  582.  
  583. }
  584.  
  585.  
  586. lastHitTime = curtime;
  587. // Global.Print("swap ")
  588. ent = find_enemy(entity);
  589. ent.ent_index = entity;
  590. ent.known_desync = UI.IsHotkeyActive("Anti-Aim", "Fake angles", "Inverter") ? 1 : 2;
  591. best_enemy = ent;
  592.  
  593.  
  594.  
  595. }
  596.  
  597.  
  598.  
  599. lastImpacts[entity] = impact;
  600.  
  601. lastImpactTimes[entity] = curtime;
  602.  
  603. }
  604.  
  605. }
  606.  
  607.  
  608.  
  609.  
  610. function on_player_disconnect(){
  611. if(!UI.GetValue( "Misc", "JAVASCRIPT", "Script items", "Anti aim lua" ))
  612. return;
  613. var uid = Event.GetInt("userid");
  614. arrayRemove(enemies_list ,Entity.GetEntityFromUserID(uid) );
  615.  
  616. }
  617. function Main()
  618. {
  619. UI.AddCheckbox( "Anti aim lua" );
  620. // Cheat.RegisterCallback("player_hurt", "OnHurt");
  621. Cheat.RegisterCallback("bullet_impact", "OnBulletImpact");
  622. Global.RegisterCallback("Draw", "do_aa")
  623. Global.RegisterCallback("player_disconnect", "on_player_disconnect")
  624. // Global.RegisterCallback("CreateMove", "onCreateMove")
  625. // Global.RegisterCallback("player_connect_full", "player_connect")
  626. }
  627. Main();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement