Advertisement
Guest User

Untitled

a guest
May 22nd, 2019
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 26.16 KB | None | 0 0
  1. import "API" for IEvent, IEntity, IGraphicsListener, Engine, EventType, Graphics, Vec3, Vec2, OS
  2. import "CoreTargetResolver" for ITargetResolver, TargetResolver
  3.  
  4. class AimSettings {
  5. construct new() {
  6. _keys = {
  7. "LB": 0x01,
  8. "RB": 0x02,
  9. "LS": 0xA0
  10. }
  11. _heroes = {
  12. 64: "RoadHog",
  13. 41: "Genji",
  14. 122: "Dva",
  15. 318: "Orisa",
  16. 7: "Reinhardt",
  17. 9: "Winston",
  18. 458: "Ball",
  19. 104: "Zarya",
  20. 512: "Ashe",
  21. 21: "Bastion",
  22. 303: "Doomfist",
  23. 5: "Hanzo",
  24. 101: "Junkrat",
  25. 66: "Mccree",
  26. 221: "Mei",
  27. 8: "Pharah",
  28. 2: "Reaper",
  29. 110: "Soldier76",
  30. 302: "Sombra",
  31. 22: "Symmetra",
  32. 6: "Torbjorn",
  33. 3: "Tracer",
  34. 10: "Widowmaker",
  35. 315: "Ana",
  36. 545: "Baptiste",
  37. 405: "Brigitte",
  38. 121: "Lucio",
  39. 4: "Mercy",
  40. 418: "Moira",
  41. 32: "Zenyatta",
  42. }
  43.  
  44. _dmg = {
  45. 64: "RoadHog",
  46. 41: "Genji",
  47. 122: "Dva",
  48. 318: "Orisa",
  49. 7: "Reinhardt",
  50. 9: "Winston",
  51. 458: "Ball",
  52. 104: "Zarya",
  53. 512: "Ashe",
  54. 21: "Bastion",
  55. 303: "Doomfist",
  56. 5: "Hanzo",
  57. 101: "Junkrat",
  58. 66: "Mccree",
  59. 221: "Mei",
  60. 8: "Pharah",
  61. 2: "Reaper",
  62. 110: "Soldier76",
  63. 302: "Sombra",
  64. 22: "Symmetra",
  65. 6: "Torbjorn",
  66. 3: "Tracer",
  67. 10: "Widowmaker",
  68. 315: "Ana",
  69. 545: "Baptiste",
  70. 405: "Brigitte",
  71. 121: "Lucio",
  72. 4: "Mercy",
  73. 418: "Moira",
  74. 32: "Zenyatta",
  75. }
  76.  
  77. _projectileSpeed = {
  78. 41: 75,
  79. 5: 110,
  80. 32: 110,
  81. 4: 60,
  82. 6: 70,
  83. 121: 60,
  84. 318: 120,
  85. 122: 60,
  86. 221: 120
  87. }
  88. _projectileGravity = {
  89. 41: 0,
  90. 5: 9.8,
  91. 32: 0,
  92. 4: 0,
  93. 6: 9.8,
  94. 121: 0,
  95. 318: 0,
  96. 122: 0,
  97. 221: 0
  98. }
  99. }
  100. keys { _keys }
  101. heroes { _heroes }
  102. dmg { _dmg }
  103. projectileSpeed { _projectileSpeed }
  104. projectileGravity { _projectileGravity }
  105. }
  106.  
  107. class FPSCounter {
  108. construct new() {
  109. _lastTick = 0
  110. _fps = 0
  111. _fps_temp = 0
  112. }
  113. fps { _fps }
  114. handle(time) {
  115. var currentTick = time * 0.001
  116. _fps_temp = _fps_temp + 1
  117. if ((currentTick - _lastTick) > 1) {
  118. _lastTick = currentTick
  119. _fps = _fps_temp
  120. _fps_temp = 0
  121. }
  122.  
  123. }
  124. }
  125.  
  126.  
  127. class Common {
  128. static viewPortToScreenX(x) {
  129. return Graphics.screenWidth * (x + 1)/2
  130. }
  131.  
  132. static viewPortToScreenY(y) {
  133. return Graphics.screenHeight * (1 - y)/2
  134. }
  135.  
  136. static screenToViewPort(x,y) {
  137. return Vec3.new(2 * (x/Graphics.screenWidth) - 1,-2 * (y/Graphics.screenHeight) + 1,0)
  138. }
  139.  
  140. static entityHealthPercent(ent) {
  141. return (ent.health/ent.healthMax) * 100
  142. }
  143.  
  144. static dotProduct(vec1,vec2) {
  145. return (vec1.x * vec2.x) + (vec1.y * vec2.y) + (vec1.z * vec2.z)
  146. }
  147.  
  148. static crossProduct(vec1,vec2) {
  149. var x = vec1.y * vec2.z - vec1.z * vec2.y
  150. var y = vec1.z * vec2.x - vec1.x * vec2.z
  151. var z = vec1.x * vec2.y - vec1.y * vec2.x
  152. return Vec3.new(x,y,z)
  153. }
  154.  
  155. static lengthSqr2D(vec1) {
  156. return (vec1.x * vec1.x) + (vec1.y * vec1.y)
  157. }
  158.  
  159. //Thanks to dev with no profile name in discord
  160. static multiplyVectors(vec1, vec2) {
  161. return Vec3.new(vec1.x * vec2.x, vec1.y * vec2.y, vec1.z * vec2.z)
  162. }
  163.  
  164. static multiplyVectors2D(vec1, n) {
  165. return Vec2.new(vec1.x * n, vec1.y * n)
  166. }
  167.  
  168. static addVectors(vec1, vec2) {
  169. return Vec3.new(vec1.x + vec2.x, vec1.y + vec2.y, vec1.z + vec2.z)
  170. }
  171. static addVectors2D(vec1, vec2) {
  172. return Vec2.new(vec1.x + vec2.x, vec1.y + vec2.y)
  173. }
  174. static subtractVectors(vec1, vec2) {
  175. var res = Vec3.new(vec1.x - vec2.x, vec1.y - vec2.y, vec1.z - vec2.z)
  176. return res
  177. }
  178. static subtractVectors2D(vec1, vec2) {
  179. var res = Vec2.new(vec1.x - vec2.x, vec1.y - vec2.y)
  180. return res
  181. }
  182. static multiplyVectorN(vec1, n) {
  183. return Vec3.new(vec1.x * n, vec1.y * n, vec1.z * n)
  184. }
  185. static drawCircle(x,y,r2,c) {
  186. x = Graphics.screenWidth * (x + 1)/2
  187. y = Graphics.screenHeight * (1 - y)/2
  188. var xf = null
  189. var yf = null
  190. for(i in 1..64) {
  191. var ang = i / 30 * Num.pi
  192. var xt = x + r2 * ang.cos
  193. var yt = y + r2 * ang.sin
  194. if(xf != null) {
  195. var res1 = Vec3.new(2 * (xt/Graphics.screenWidth) - 1,-2 * (yt/Graphics.screenHeight) + 1,0)
  196. var res2 = Vec3.new(2 * (xf/Graphics.screenWidth) - 1,-2 * (yf/Graphics.screenHeight) + 1,0)
  197. Graphics.addLine(res1.x,res1.y,c,res2.x,res2.y,c)
  198. }
  199. xf = xt
  200. yf = yt
  201. }
  202. }
  203. static drawFov(radius,drawfov) {
  204. var tc = Graphics.colorARGB(255,255,255,255)
  205. var screenM = Vec2.new(0,0)
  206. if(drawfov) {
  207. drawCircle(screenM.x, screenM.y, radius, tc)
  208. }
  209. }
  210.  
  211. }
  212.  
  213. class AimPred {
  214. //Thanks to qwert1119
  215. static calcGravityZ(z, projGravity, projTravelTime) {
  216. return z + (projGravity * projTravelTime.pow(2) * 0.5)
  217. }
  218. static calcStaticTarget(entAimVec, projectileTravelTime, projectileGravity) {
  219. entAimVec.z = calcGravityZ(entAimVec.z, projectileGravity, projectileTravelTime)
  220. return entAimVec
  221. }
  222. static calcMovingTarget(uid, entBasePos, entAimVec, projectileTravelTime, projectileGravity) {
  223. var targetVelocityVec3 = entBasePos.sub(Global.PositionCache[uid])
  224. var targetSpeed = Global.PositionCache[uid].distTo(entBasePos) * Global.FPSCounter.fps
  225. var predictionScale = projectileTravelTime * targetSpeed
  226. var predictedPos = (entAimVec.add(targetVelocityVec3.normalized().scale(predictionScale)))
  227. predictedPos.z = calcGravityZ(predictedPos.z, projectileGravity, projectileTravelTime)
  228. return predictedPos
  229. }
  230.  
  231. static predAim() {
  232. var lPlayer = Engine.getLocalPlayer()
  233. if (lPlayer && Global.AimSettings.projectileSpeed.containsKey(lPlayer.heroId)) {
  234. var enemies = Engine.getEnemies()
  235. if (enemies) {
  236. for(ent in enemies) {
  237. var uid = ent.uid
  238. if (ent.health > 0) {
  239. var localPlayerPos = lPlayer.basePosition
  240. var basePos = ent.basePosition
  241. var headPos = ent.headPosition
  242. if (!Global.PositionCache[uid]) { Global.PositionCache[uid] = basePos }
  243.  
  244. var distance = basePos.distTo(localPlayerPos)
  245. var projectileTravelTime = distance / Global.AimSettings.projectileSpeed[lPlayer.heroId]
  246. var aimPos = null
  247. if (Global.PositionCache[uid].x == basePos.x && Global.PositionCache[uid].y == basePos.y && Global.PositionCache[uid].z == basePos.z) {
  248. aimPos = calcStaticTarget(headPos, projectileTravelTime, Global.AimSettings.projectileGravity[lPlayer.heroId])
  249. } else {
  250. aimPos = calcMovingTarget(uid, basePos, headPos, projectileTravelTime, Global.AimSettings.projectileGravity[lPlayer.heroId])
  251. }
  252. Global.PredictedCache[uid] = aimPos
  253. Global.PositionCache[uid] = basePos
  254. }
  255. }
  256. }
  257. }
  258. }
  259. }
  260.  
  261. class AimBot {
  262. static aimTarget(x,y,speed) {
  263. var targetX = 0
  264. var targetY = 0
  265. x = Graphics.screenWidth * (x + 1)/2
  266. y = Graphics.screenHeight * (1 - y)/2
  267. if(x != 0) {
  268. if(x > Graphics.screenWidth / 2) {
  269. targetX = -(Graphics.screenWidth / 2 - x)
  270. targetX = targetX / speed
  271. if(targetX + Graphics.screenWidth / 2 > Graphics.screenWidth / 2 * 2) {
  272. targetX = 0
  273. }
  274. }
  275. if (x < Graphics.screenWidth / 2) {
  276. targetX = x - Graphics.screenWidth / 2
  277. targetX = targetX /speed
  278. if (targetX + Graphics.screenWidth / 2 < 0) {
  279. targetX = 0
  280. }
  281. }
  282. }
  283.  
  284. if (y != 0) {
  285. if (y > Graphics.screenHeight / 2) {
  286. targetY = -(Graphics.screenHeight / 2 - y)
  287. targetY = targetY /speed
  288. if (targetY + Graphics.screenHeight / 2 > Graphics.screenHeight / 2 * 2) {
  289. targetY = 0
  290. }
  291. }
  292.  
  293. if (y < Graphics.screenHeight / 2) {
  294. targetY = y - Graphics.screenHeight / 2
  295. targetY = targetY /speed
  296. if (targetY + Graphics.screenHeight / 2 < 0) {
  297. targetY = 0
  298. }
  299. }
  300. }
  301. var checkPos = Vec2.new(targetX,targetY)
  302. var currentPos = Vec2.new(x,y)
  303. var ppPos = checkPos
  304. var ppPos2 = Common.multiplyVectors2D(ppPos,0.56)
  305. var ppPos3 = Common.addVectors2D(ppPos2,checkPos)
  306. //var predPos = Common.addVectors2D(Common.multiplyVectors2D(Common.subtractVectors2D(checkPos,currentPos).normalized(),220),currentPos)
  307. if(checkPos.validate()){
  308. OS.moveMouse(checkPos.x,checkPos.y)
  309. }
  310. }
  311.  
  312. static getClosestEnemy() {
  313. var lowestDistance = 99999
  314. var closestPlayer = null
  315. for(currentPlayer in Engine.getEnemies()) {
  316. var currentPlayerPos = currentPlayer.headPosition.project()
  317. var curP = Vec2.new(currentPlayerPos.x,currentPlayerPos.y)
  318. var sP = Vec2.new(0, 0)
  319. var currentPlayerDistance = curP.distTo(sP)
  320.  
  321. if(currentPlayerDistance < lowestDistance) {
  322. lowestDistance = currentPlayerDistance
  323. closestPlayer = currentPlayer
  324. }
  325. }
  326.  
  327. if(closestPlayer != null && closestPlayer.validate() && closestPlayer.health > 0 && closestPlayer.isVisible){
  328. return closestPlayer
  329. }
  330.  
  331. }
  332.  
  333. static pointInCircle(point,cirCenter,radius) {
  334. var x = Graphics.screenWidth * (cirCenter.x + 1)/2
  335. var y = Graphics.screenHeight * (1 - cirCenter.y)/2
  336. var cirScreen = Vec2.new(x,y)
  337. var res = (((cirScreen.x - point.x) * (cirScreen.x - point.x)) + ((cirScreen.y - point.y) * (cirScreen.y - point.y)))
  338. System.print("%(res.sqrt)")
  339. return res.sqrt < radius
  340. }
  341. static aimTar(currentPlayer) {
  342. var bonePos = currentPlayer.headPosition.project()
  343. var x = Graphics.screenWidth * (bonePos.x + 1)/2
  344. var y = Graphics.screenHeight * (1 - bonePos.y)/2
  345. return Vec2.new(x,y)
  346. }
  347.  
  348.  
  349. static shootClosestEnemy(keyDown,speed) {
  350. var lowestDistance = 99999
  351. var closestPlayer = null
  352. for(currentPlayer in Engine.getEnemies()) {
  353. var currentPlayerPos = currentPlayer.headPosition.project()
  354. var curP = Vec2.new(currentPlayerPos.x,currentPlayerPos.y)
  355. var sP = Vec2.new(0, 0)
  356. var currentPlayerDistance = curP.distTo(sP)
  357.  
  358. if(currentPlayerDistance < lowestDistance) {
  359. lowestDistance = currentPlayerDistance
  360. closestPlayer = currentPlayer
  361. }
  362. }
  363. if(closestPlayer != null && closestPlayer.validate() && closestPlayer.health > 0 && closestPlayer.isVisible){
  364. var bonePos = closestPlayer.headPosition.project() //_closestPlayer.getBonePosition(2).project()
  365.  
  366. var lp = Engine.getLocalPlayer()
  367. if (Global.AimSettings.projectileSpeed.containsKey(lp.heroId) || Global.PredictedCache[closestPlayer.uid] || (lp.heroId == 122 && lp.healthMax <= 400)) {
  368. bonePos = Global.PredictedCache[closestPlayer.uid].project()
  369. }
  370.  
  371. if(OS.isKeyDown(keyDown)){
  372. aimTarget(bonePos.x,bonePos.y,speed)
  373. }
  374. }
  375.  
  376. }
  377.  
  378. static shootClosestFov(keyDown,speed,fov,drawfov) {
  379. Common.drawFov(fov,drawfov)
  380. var lowestDistance = 99999
  381. var closestPlayer = null
  382. for(currentPlayer in Engine.getEnemies()) {
  383. var currentPlayerPos = currentPlayer.headPosition.project()
  384. var curP = Vec2.new(currentPlayerPos.x,currentPlayerPos.y)
  385. var sP = Vec2.new(0, 0)
  386. var currentPlayerDistance = curP.distTo(sP)
  387.  
  388. if(currentPlayerDistance < lowestDistance) {
  389. lowestDistance = currentPlayerDistance
  390. closestPlayer = currentPlayer
  391. }
  392. }
  393. if(closestPlayer != null && closestPlayer.validate()){
  394. var bonePos = closestPlayer.headPosition.project()
  395. var lp = Engine.getLocalPlayer()
  396. if (Global.AimSettings.projectileSpeed.containsKey(lp.heroId) || Global.PredictedCache[closestPlayer.uid] || (lp.heroId == 122 && lp.healthMax <= 400)) {
  397. bonePos = Global.PredictedCache[closestPlayer.uid].project()
  398. }
  399.  
  400. var sP2 = Vec2.new(Graphics.screenWidth/2, Graphics.screenHeight/2)
  401. var head = aimTar(closestPlayer) //_closestPlayer.getBonePosition(2).project()
  402. if(OS.isKeyDown(keyDown) && pointInCircle(sP2,bonePos,fov) && closestPlayer.health > 0 && closestPlayer.isVisible){
  403. aimTarget(bonePos.x,bonePos.y,speed)
  404. }
  405. }
  406.  
  407. }
  408.  
  409. static shootClosestEnemyAna(keyDown,speed) {
  410. var lowestDistance = 99999
  411. var closestPlayer = null
  412. for(currentPlayer in Engine.getEnemies()) {
  413. var currentPlayerPos = currentPlayer.headPosition.project()
  414. var curP = Vec2.new(currentPlayerPos.x,currentPlayerPos.y)
  415. var sP = Vec2.new(0, 0)
  416. var currentPlayerDistance = curP.distTo(sP)
  417.  
  418. if(currentPlayerDistance < lowestDistance) {
  419. lowestDistance = currentPlayerDistance
  420. closestPlayer = currentPlayer
  421. }
  422. }
  423. if(closestPlayer != null && closestPlayer.validate() && closestPlayer.health > 0 && closestPlayer.isVisible){
  424. var bonePos = closestPlayer.getBonePosition(2).project() //_closestPlayer.getBonePosition(2).project()
  425. if(OS.isKeyDown(keyDown)){
  426. aimTarget(bonePos.x,bonePos.y,speed)
  427. }
  428. }
  429.  
  430. }
  431.  
  432. static drawLine() {
  433. var fc = Graphics.colorARGB(0,1,0,0)
  434. var tc = Graphics.colorARGB(1,1,0,0)
  435. var fx = 0
  436. var fy = -0.25
  437.  
  438. for(ent in Engine.getEnemies()) {
  439. var screenPos = ent.boundingBoxMin.project()
  440. var sP = Vec2.new(Graphics.screenWidth/2, Graphics.screenHeight/2)
  441. if(screenPos.validate() && ent.health > 0){
  442. Common.drawCircle(screenPos.x, screenPos.y, 20, tc)
  443. //Graphics.addLine(fx,fy,fc,screenPos.x,screenPos.y,tc)
  444. }
  445. if(pointInCircle(sP,screenPos,20)) {
  446. Graphics.addLine(fx,fy,fc,screenPos.x,screenPos.y,tc)
  447. }
  448. }
  449. }
  450.  
  451. static drawLine2() {
  452. var fc = Graphics.colorARGB(0,1,0,0)
  453. var tc = Graphics.colorARGB(1,1,0,0)
  454. var fx = 0
  455. var fy = -0.25
  456.  
  457. for(ent in Engine.getEnemies()) {
  458. var screenPos = ent.headPosition.project()
  459. var sP = Vec2.new(Graphics.screenWidth/2, Graphics.screenHeight/2)
  460. if(screenPos.validate() && ent.health > 0){
  461. Common.drawCircle(screenPos.x, screenPos.y, 20, tc)
  462. //Graphics.addLine(fx,fy,fc,screenPos.x,screenPos.y,tc)
  463. }
  464. if(pointInCircle(sP,screenPos,100)) {
  465. Graphics.addLine(fx,fy,fc,screenPos.x,screenPos.y,tc)
  466. }
  467. }
  468. }
  469.  
  470.  
  471. static shootVisableEnemy(keyDown,speed) {
  472. var lowestDistance = 0
  473. var closestPlayer = null
  474. for(currentPlayer in Engine.getEnemies()) {
  475. var currentPlayerPos = currentPlayer.headPosition.project()
  476. var curP = Vec2.new(currentPlayerPos.x,currentPlayerPos.y)
  477. var sP = Vec2.new(0, 0)
  478. var currentPlayerDistance = curP.distTo(sP)
  479.  
  480. if(currentPlayer.isVisible && currentPlayer.health > lowestDistance) {
  481. lowestDistance = currentPlayerDistance
  482. closestPlayer = currentPlayer
  483. }
  484. }
  485. if(closestPlayer != null && closestPlayer.validate() && closestPlayer.health > 0 && closestPlayer.isVisible){
  486. var bonePos = closestPlayer.headPosition.project() //_closestPlayer.getBonePosition(2).project()
  487. if(OS.isKeyDown(keyDown)){
  488. aimTarget(bonePos.x,bonePos.y,speed)
  489. }
  490. }
  491.  
  492. }
  493.  
  494. static healClosestAlly(keyDown,speed) {
  495. var lowestDistance = 99999
  496. var closestPlayer = null
  497. for(currentPlayer in Engine.getAllies()) {
  498. var currentPlayerPos = currentPlayer.basePosition.project()
  499. var curP = Vec2.new(currentPlayerPos.x,currentPlayerPos.y)
  500. var sP = Vec2.new(0, 0)
  501. var currentPlayerDistance = curP.distTo(sP)
  502.  
  503. if(currentPlayerDistance < lowestDistance) {
  504. lowestDistance = currentPlayerDistance
  505. closestPlayer = currentPlayer
  506. }
  507. }
  508. if(closestPlayer != null && closestPlayer.validate() && closestPlayer.health > 0 && closestPlayer.isVisible){
  509. var bonePos = closestPlayer.headPosition.project() //_closestPlayer.getBonePosition(2).project()
  510. if(OS.isKeyDown(keyDown)){
  511. aimTarget(bonePos.x,bonePos.y,speed)
  512. }
  513. }
  514.  
  515. }
  516.  
  517.  
  518. static heallowestAlly(keyDown,speed) {
  519. var lowestHealth = 99999
  520. var closestPlayer = null
  521. for(currentPlayer in Engine.getAllies()) {
  522. var currentPlayerHealth = currentPlayer.health
  523.  
  524. if(currentPlayerHealth < lowestHealth) {
  525. lowestHealth = currentPlayerHealth
  526. closestPlayer = currentPlayer
  527. }
  528. }
  529. if(closestPlayer != null && closestPlayer.validate() && closestPlayer.health > 0 && closestPlayer.isVisible){
  530. var bonePos = closestPlayer.basePosition.project() //_closestPlayer.getBonePosition(2).project()
  531. if(OS.isKeyDown(keyDown)){
  532. aimTarget(bonePos.x,bonePos.y,speed)
  533. }
  534. }
  535.  
  536. }
  537.  
  538. static logicShoot(keyDown,keyDown2,sleepSpeed,healSpeed,shootSpeed) {
  539. var lowestHealth = 99999
  540. var closestPlayer = null
  541. for(currentPlayer in Engine.getAllies()) {
  542. var currentPlayerHealth = currentPlayer.health
  543.  
  544. if(currentPlayerHealth < lowestHealth) {
  545. lowestHealth = currentPlayerHealth
  546. closestPlayer = currentPlayer
  547. }
  548. }
  549. if(OS.isKeyDown(keyDown2)) {
  550. shootClosestEnemyAna(keyDown2,sleepSpeed)
  551. }
  552. if(closestPlayer != null && closestPlayer.validate() && closestPlayer.health > 0 && closestPlayer.isVisible && Common.entityHealthPercent(closestPlayer) < 75 ){
  553. var bonePos = closestPlayer.getBonePosition(2).project()
  554. if(OS.isKeyDown(keyDown)){
  555. aimTarget(bonePos.x,bonePos.y,healSpeed)
  556. }
  557. } else {
  558. if(OS.isKeyDown(keyDown)){
  559. shootClosestEnemyAna(keyDown,shootSpeed)
  560. }
  561. }
  562. }
  563.  
  564. static logicShoot2(keyDown,keyDown2,sleepSpeed,healSpeed,shootSpeed) {
  565. var lowestDistance = 99999
  566. var closestPlayer = null
  567. for(currentPlayer in Engine.getAllies()) {
  568. var currentPlayerPos = currentPlayer.basePosition.project()
  569. var curP = Vec2.new(currentPlayerPos.x,currentPlayerPos.y)
  570. var sP = Vec2.new(0, 0)
  571. var currentPlayerDistance = curP.distTo(sP)
  572.  
  573. if(currentPlayerDistance < lowestDistance) {
  574. lowestDistance = currentPlayerDistance
  575. closestPlayer = currentPlayer
  576. }
  577. }
  578. if(OS.isKeyDown(keyDown2)) {
  579. shootClosestEnemyAna(keyDown2,sleepSpeed)
  580. }
  581. if(closestPlayer != null && closestPlayer.validate() && closestPlayer.health > 0 && closestPlayer.isVisible && Common.entityHealthPercent(closestPlayer) < 75 ){
  582. var bonePos = closestPlayer.getBonePosition(2).project()
  583. if(OS.isKeyDown(keyDown)){
  584. aimTarget(bonePos.x,bonePos.y,healSpeed)
  585. }
  586. } else {
  587. if(OS.isKeyDown(keyDown)){
  588. shootClosestEnemyAna(keyDown,shootSpeed)
  589. }
  590. }
  591. }
  592. }
  593.  
  594. class Global {
  595. static init() {
  596. if (!__PositionCache) {
  597. __PositionCache = {}
  598. }
  599. if (!__PredictedCache) {
  600. __PredictedCache = {}
  601. }
  602. if(!__AimSettings) {
  603. __AimSettings = AimSettings.new()
  604. }
  605. if (!__FPSCounter) {
  606. __FPSCounter = FPSCounter.new()
  607. }
  608. }
  609. static AimSettings { __AimSettings }
  610. static FPSCounter { __FPSCounter }
  611. static PositionCache { __PositionCache }
  612. static PredictedCache { __PredictedCache }
  613. }
  614.  
  615. class GraphicsEvent is IGraphicsListener {
  616. static onDraw() {
  617. Global.FPSCounter.handle(OS.time)
  618. AimPred.predAim()
  619. var key = Global.AimSettings.keys["LB"]
  620. var speed = 5.5 // 1 - 100 smoothing
  621. var fov = 25
  622. var drawfov = true
  623. var localPlayer = Engine.getLocalPlayer()
  624. //Future Pred Based Aimbot
  625. if (Global.AimSettings.heroes[localPlayer.heroId] == "Genji") {
  626. key = Global.AimSettings.keys["LB"]
  627. speed = 3
  628. fov = 100
  629.  
  630. AimBot.shootClosestFov(key,speed,fov,drawfov)
  631. }
  632. if (Global.AimSettings.heroes[localPlayer.heroId] == "Torbjorn") {
  633. key = Global.AimSettings.keys["LB"]
  634. speed = 4.5
  635. fov = 100
  636.  
  637. AimBot.shootClosestFov(key,speed,fov,drawfov)
  638. }
  639. if (Global.AimSettings.heroes[localPlayer.heroId] == "Hanzo") {
  640. key = Global.AimSettings.keys["LB"]
  641. speed = 4.5
  642. fov = 100
  643.  
  644. AimBot.shootClosestFov(key,speed,fov,drawfov)
  645. }
  646. if (Global.AimSettings.heroes[localPlayer.heroId] == "Mei") {
  647. key = Global.AimSettings.keys["LB"]
  648. speed = 4.5
  649. fov = 100
  650.  
  651. AimBot.shootClosestFov(key,speed,fov,drawfov)
  652. }
  653. if (Global.AimSettings.heroes[localPlayer.heroId] == "Mercy") {
  654. key = Global.AimSettings.keys["LB"]
  655. speed = 4.5
  656. fov = 100
  657.  
  658. AimBot.shootClosestFov(key,speed,fov,drawfov)
  659. }
  660. if (Global.AimSettings.heroes[localPlayer.heroId] == "Lucio") {
  661. key = Global.AimSettings.keys["LB"]
  662. speed = 4.5
  663. fov = 100
  664.  
  665. AimBot.shootClosestFov(key,speed,fov,drawfov)
  666. }
  667. if (Global.AimSettings.heroes[localPlayer.heroId] == "Zenyatta") {
  668. key = Global.AimSettings.keys["LB"]
  669. speed = 4.5
  670. fov = 100
  671.  
  672. AimBot.shootClosestFov(key,speed,fov,drawfov)
  673. }
  674.  
  675. //Flick Based Aimbot
  676. if (Global.AimSettings.heroes[localPlayer.heroId] == "Mccree") {
  677. key = Global.AimSettings.keys["LB"]
  678. speed = 2
  679. fov = 100
  680. //AimBot.pointInCircleCheck()
  681. //Aimbot.shootNearCrossHairFov(key,speed,fov)
  682. AimBot.shootClosestFov(key,speed,fov,drawfov)
  683. //AimBot.shootClosestEnemy(key,speed)
  684. }
  685.  
  686. //FPS Aimbot
  687. if (Global.AimSettings.heroes[localPlayer.heroId] == "Tracer") {
  688. key = Global.AimSettings.keys["LB"]
  689. speed = 12
  690. fov = 100
  691.  
  692. AimBot.shootClosestFov(key,speed,fov,drawfov)
  693. }
  694. if (Global.AimSettings.heroes[localPlayer.heroId] == "Soldier76") {
  695. key = Global.AimSettings.keys["LB"]
  696. speed = 10
  697. fov = 100
  698.  
  699. AimBot.shootClosestFov(key,speed,fov,drawfov)
  700. }
  701. if (Global.AimSettings.heroes[localPlayer.heroId] == "Bastion") {
  702. key = Global.AimSettings.keys["LB"]
  703. speed = 10
  704. fov = 100
  705.  
  706. AimBot.shootClosestFov(key,speed,fov,drawfov)
  707. }
  708. if (Global.AimSettings.heroes[localPlayer.heroId] == "Dva") {
  709. key = Global.AimSettings.keys["LB"]
  710. speed = 10
  711. fov = 100
  712.  
  713. AimBot.shootClosestFov(key,speed,fov,drawfov)
  714. }
  715. if (Global.AimSettings.heroes[localPlayer.heroId] == "Orisa") {
  716. key = Global.AimSettings.keys["LB"]
  717. speed = 10
  718. fov = 100
  719.  
  720. AimBot.shootClosestFov(key,speed,fov,drawfov)
  721. }
  722. if (Global.AimSettings.heroes[localPlayer.heroId] == "Reaper") {
  723. key = Global.AimSettings.keys["LB"]
  724. speed = 10
  725. fov = 100
  726.  
  727. AimBot.shootClosestFov(key,speed,fov,drawfov)
  728. }
  729. if (Global.AimSettings.heroes[localPlayer.heroId] == "Sombra") {
  730. key = Global.AimSettings.keys["LB"]
  731. speed = 10
  732. fov = 100
  733.  
  734. AimBot.shootClosestFov(key,speed,fov,drawfov)
  735. }
  736.  
  737. //Smart Logic/Adaptive Smoothing Aimbot
  738. if (Global.AimSettings.heroes[localPlayer.heroId] == "Ana") {
  739. key = Global.AimSettings.keys["LB"]
  740. var key2 = Global.AimSettings.keys["LS"]
  741. var sleepSpeed = 1.5 ////speed when using your sleep
  742. var healSpeed = 2.5 //speed to heal allies
  743. speed = 4.5 //speed to hit enemies
  744.  
  745. AimBot.logicShoot(key,key2,sleepSpeed,healSpeed,speed)
  746. }
  747. if (Global.AimSettings.heroes[localPlayer.heroId] == "Widowmaker") {
  748. key = Global.AimSettings.keys["LB"]
  749. var key2 = Global.AimSettings.keys["RB"]
  750. var speed2 = 10 //Speed without scoping
  751. speed = 1.2 //speed with scoping
  752. fov = 100
  753.  
  754. if(OS.isKeyDown(key2)) {
  755. Common.drawFov(fov * 2,drawfov)
  756. }
  757. if(!OS.isKeyDown(key2)) {
  758. Common.drawFov(fov,drawfov)
  759. }
  760.  
  761. if(OS.isKeyDown(key2) && OS.isKeyDown(key)){
  762. AimBot.shootClosestFov(key,speed,fov * 2,false)
  763. }
  764. if(OS.isKeyDown(key)) {
  765. AimBot.shootClosestFov(key,speed2,fov,false)
  766. }
  767. }
  768. if (Global.AimSettings.heroes[localPlayer.heroId] == "Ashe") {
  769. key = Global.AimSettings.keys["LB"]
  770. var key2 = Global.AimSettings.keys["RB"]
  771. var speed2 = 7.5 //Speed without scoping
  772. speed = 3.5 //speed with scoping
  773. fov = 100
  774.  
  775. if(OS.isKeyDown(key2)) {
  776. Common.drawFov(fov * 2,drawfov)
  777. }
  778. if(!OS.isKeyDown(key2)) {
  779. Common.drawFov(fov,drawfov)
  780. }
  781.  
  782. if(OS.isKeyDown(key2) && OS.isKeyDown(key)){
  783. AimBot.shootClosestFov(key,speed,fov * 2,false)
  784. }
  785. if(OS.isKeyDown(key)) {
  786. AimBot.shootClosestFov(key,speed2,fov,false)
  787. }
  788. }
  789.  
  790. //AimBot.shootClosestEnemy(key,12)
  791.  
  792.  
  793. }
  794. }
  795. Global.init()
  796. Graphics.registerListener(GraphicsEvent)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement