Created
August 28, 2018 17:45
-
-
Save rawsh/fde6472bcb4aca89b05c7c9c2a086195 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
"use strict"; | |
// ==UserScript== | |
// @name Vertix.io Aimbotaaaa | |
// @description Aim at the closest player by pressing Shift. | |
// @match http://vertix.io | |
// @match http://www.vertix.io | |
// @version 1.0 | |
// | |
// @namespace https://greasyfork.org/users/119655 | |
// ==/UserScript== | |
var active = false; | |
var interval = void 0; | |
function activate(event) { | |
event.preventDefault(); | |
if (event.keyCode === 16 && !active) { | |
c.removeEventListener("mousemove", gameInput, false); | |
active = true; | |
interval = setInterval(aimClosestPlayer, 10); | |
} | |
} | |
function deactivate(event) { | |
event.preventDefault(); | |
if (event.keyCode === 16) { | |
active = false; | |
clearInterval(interval); | |
c.addEventListener("mousemove", gameInput, false); | |
} | |
} | |
c.addEventListener("keydown", activate, false); | |
c.addEventListener("keyup", deactivate, false); | |
function getOtherPlayers(gameObjects, myTeam) { | |
return gameObjects.filter(function (o) { | |
return o.type === 'player' && o.dead === false && o.name !== player.name && o.team !== myTeam; | |
}); | |
} | |
function getMyPlayer(gameObjects) { | |
return gameObjects.filter(function (o) { | |
return o.name === player.name; | |
})[0]; | |
} | |
function distance(x1, y1, x2, y2) { | |
return Math.sqrt(Math.pow(x2 - x1, 2) + Math.pow(y2 - y1, 2)); | |
} | |
function getClosestPlayer(gameObjects) { | |
var myTeam = getMyPlayer(gameObjects).team; | |
var otherPlayers = getOtherPlayers(gameObjects, myTeam); | |
var closestDistance = Infinity; | |
var closestPlayer = void 0; | |
otherPlayers.forEach(function (p) { | |
var d = distance(player.x, player.y, p.x, p.y); | |
if (d < closestDistance) { | |
closestPlayer = p; | |
closestDistance = d; | |
} | |
}); | |
return closestPlayer; | |
} | |
function getAngle(x1, y1, x2, y2) { | |
return Math.atan2(y1 - y2, x1 - x2); | |
} | |
var angles = []; | |
var distances = []; | |
const add = (a, b) => a + b; | |
function setTarget(angle, distance) { | |
angles.push(angle); | |
distances.push(distance); | |
var suma = angles.reduce(add); | |
var sumd = distances.reduce(add); | |
console.log(suma, sumd); | |
target.f = suma / (angles.length); | |
target.d = distance; | |
if (angles.length > 5) { | |
angles.shift(); | |
} | |
if (distances.length > 5) { | |
distances.shift(); | |
} | |
} | |
function aimClosestPlayer() { | |
var closestPlayer = getClosestPlayer(gameObjects); | |
if (!closestPlayer) { | |
return; | |
} | |
var angle = getAngle(player.x, player.y, closestPlayer.x, closestPlayer.y); | |
var distance = 100; | |
setTarget(angle, distance); | |
targetChanged = true; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment