Use arrow keys to move.
// ==UserScript==
// @name Agar Movement Keys - Works After Update ☑
// @namespace http://tampermonkey.net/
// @description Use arrow keys to move.
// @version 0.1
// @match http://agar.io/*
// @grant none
// ==/UserScript==
(function() {
'use strict';
var keysDown = [];
var X = 0;
var Y = 0;
document.addEventListener("keydown", function(event) {
switch(event.keyCode) {
case 37: //left
if (keysDown.indexOf(37) == -1) {
keysDown[keysDown.length] = 37;
update();
}
break;
case 38: //up
if (keysDown.indexOf(38) == -1) {
keysDown[keysDown.length] = 38;
update();
}
break;
case 39: //right
if (keysDown.indexOf(39) == -1) {
keysDown[keysDown.length] = 39;
update();
}
break;
case 40: //down
if (keysDown.indexOf(40) == -1) {
keysDown[keysDown.length] = 40;
update();
}
break;
}
});
document.addEventListener("keyup", function(event) {
switch(event.keyCode) {
case 37: //left
keysDown.splice(keysDown.indexOf(37), 1);
update();
break;
case 38: //up
keysDown.splice(keysDown.indexOf(38), 1);
update();
break;
case 39: //right
keysDown.splice(keysDown.indexOf(39), 1);
update();
break;
case 40: //down
keysDown.splice(keysDown.indexOf(40), 1);
update();
break;
}
});
function update() {
if (keysDown.length === 0) {
X = window.innerWidth/2;
Y = window.innerHeight/2;
$("canvas").trigger($.Event("mousemove", {clientX: X, clientY: Y}));
} else if (keysDown.length == 1) {
switch (keysDown[0]) {
case 37: //left
X = window.innerWidth/2-window.innerHeight/2;
Y = window.innerHeight/2;
$("canvas").trigger($.Event("mousemove", {clientX: X, clientY: Y}));
break;
case 38: //up
X = window.innerWidth/2;
Y = 0;
$("canvas").trigger($.Event("mousemove", {clientX: X, clientY: Y}));
break;
case 39: //right
X = window.innerWidth/2+window.innerHeight/2;
Y = window.innerHeight/2;
$("canvas").trigger($.Event("mousemove", {clientX: X, clientY: Y}));
break;
case 40: //down
X = window.innerWidth/2;
Y = window.innerHeight;
$("canvas").trigger($.Event("mousemove", {clientX: X, clientY: Y}));
break;
}
} else if (keysDown.length == 2) {
if (keysDown.indexOf(37) != -1 && keysDown.indexOf(38) != -1) {
X = window.innerWidth/2-(window.innerHeight/2*0.70710678118);
Y = window.innerHeight/2-(window.innerHeight/2*0.70710678118);
$("canvas").trigger($.Event("mousemove", {clientX: X, clientY: Y}));
} else if (keysDown.indexOf(38) != -1 && keysDown.indexOf(39) != -1) {
X = window.innerWidth/2+(window.innerHeight/2*0.70710678118);
Y = window.innerHeight/2-(window.innerHeight/2*0.70710678118);
$("canvas").trigger($.Event("mousemove", {clientX: X, clientY: Y}));
} else if (keysDown.indexOf(39) != -1 && keysDown.indexOf(40) != -1) {
X = window.innerWidth/2+(window.innerHeight/2*0.70710678118);
Y = window.innerHeight/2+(window.innerHeight/2*0.70710678118);
$("canvas").trigger($.Event("mousemove", {clientX: X, clientY: Y}));
} else if (keysDown.indexOf(40) != -1 && keysDown.indexOf(37) != -1) {
X = window.innerWidth/2-(window.innerHeight/2*0.70710678118);
Y = window.innerHeight/2+(window.innerHeight/2*0.70710678118);
$("canvas").trigger($.Event("mousemove", {clientX: X, clientY: Y}));
} else {
X = window.innerWidth/2;
Y = window.innerHeight/2;
$("canvas").trigger($.Event("mousemove", {clientX: X, clientY: Y}));
}
}
}
})();