File size: 2,719 Bytes
1a3d6ba |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 |
const robot = require("robotjs");
// Função para ler a cor de um pixel na tela
function getPixelColor(x, y) {
return robot.getPixelColor(x, y);
}
// O script AHK será executado e a macro será ativada/desativada pela tecla "B"
// Função para verificar se a cor está dentro de uma faixa de cores
function isColorInRange(color, minColor, maxColor) {
const intColor = parseInt(color, 16);
const intMinColor = parseInt(minColor, 16);
const intMaxColor = parseInt(maxColor, 16);
return intColor >= intMinColor && intColor <= intMaxColor;
}
// Cor mínima e máxima para a faixa de cores (por exemplo, laranja)
const minColor = "ffc500"; // Cor mínima
const maxColor = "ffdf0f"; // Cor máxima
// Função para pressionar a tecla "J"
function pressKeyJ() {
robot.keyTap("j");
}
// Função para pressionar a tecla "D"
function pressKeyD() {
robot.keyToggle("d", "down");
setTimeout(() => robot.keyToggle("d", "up"), 10); // Liberar a tecla "D" após 10 ms
}
// Função para pressionar a tecla "F"
function pressKeyF() {
robot.keyToggle("f", "down");
setTimeout(() => robot.keyToggle("f", "up"), 10); // Liberar a tecla "F" após 10 ms
}
// Função para pressionar a tecla "K"
function pressKeyK() {
robot.keyTap("k");
}
// Função principal para verificar a cor de um único pixel continuamente
async function checkPixelColor() {
try {
const inicio = performance.now(); // Marca o tempo de início
const color = getPixelColor(635, 365); // Coordenadas do pixel que você deseja verificar
// console.log(getPixelColor(1154, 282));
if (color === "f84828") {
// A cor do pixel é vermelha
pressKeyJ();
} else if (color === "68c0c0") {
// A cor do pixel é azul
pressKeyK();
} else if (color === "f8b800") {
// A cor do pixel é "f8b800"
robot.keyTap("b");
while (getPixelColor(635, 365) === "f8b800") {
} robot.keyTap("b");
} //else if (isColorInRange(color, minColor, maxColor)) {
// A cor do pixel está dentro da faixa de cores
// robot.keyTap("b");
// while (getPixelColor(1154, 282) !== "000000") {
// }
// robot.keyTap("b");
//}
else if (color === "ff7800") {
// A cor do pixel é "ff7800"
robot.keyTap("b");
await sleep(700); // Espera por 10 ms
robot.keyTap("b");
}
} catch (error) {
console.error("Erro:", error);
}
setTimeout(checkPixelColor, 10); // Chama a função novamente após 10 ms
}
// Função de pausa assíncrona
function sleep(ms) {
return new Promise((resolve) => setTimeout(resolve, ms));
}
// Inicie a verificação pela primeira vez
checkPixelColor();
|