SHARE
TWEET

Untitled

a guest Feb 18th, 2020 71 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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();
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Top