modelos_publicos / bottaiko /readColors.js
Ai-Tunes's picture
Upload 656 files
1a3d6ba
raw
history blame
2.72 kB
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();