Keyboard controls for Bilge Dice. Streak tracking removed after it was implemented on-site.
当前为
// ==UserScript==
// @name [GC | BETA] - Bilge Dice Keyboard Controls
// @namespace https://greasyfork.org/en/users/1225524-kaitlin
// @match https://www.grundos.cafe/games/bilgedice/*
// @license MIT
// @version 2.2
// @grant GM_getValue
// @grant GM_setValue
// @author Cupkait
// @description Keyboard controls for Bilge Dice. Streak tracking removed after it was implemented on-site.
// ==/UserScript==
const activeGame = document.querySelector("#bilge-dice-user-wrapper");
const gameStart = document.querySelector("form.mt-1");
function indexElements(elements, type) {
if (elements) {
const maxCount = Math.min(elements.length, 6);
elements.forEach((element, index) => {
const key = (index + 1).toString();
const label = document.createElement('label');
label.textContent = key;
label.style.fontWeight = 'bold';
label.style.fontSize = '10px';
label.style.color = 'black';
label.style.background = 'EEEEEE';
label.style.marginRight = '1px';
element.parentNode.insertBefore(label, element);
});
}
}
if (activeGame) {
indexElements(activeGame.querySelectorAll('input[type="checkbox"]'), 'dice');
document.addEventListener('keydown', event => {
const key = event.key;
if (key >= '1' && key <= '6') {
const index = parseInt(key) - 1;
const checkboxes = activeGame.querySelectorAll('input[type="checkbox"]');
if (checkboxes.length > 0 && index < checkboxes.length) {
checkboxes[index].checked = !checkboxes[index].checked;
checkboxes[index].dispatchEvent(new Event('change', {
bubbles: true
}));
}
}
if (key === 'Enter') {
const submitButton = activeGame.querySelector('input[type="submit"]');
if (submitButton) {
submitButton.click();
}
}
});
} else if (gameStart) {
indexElements(gameStart.querySelectorAll('input[type="submit"]'), 'ante');
document.addEventListener('keydown', event => {
const key = event.key;
if (key >= '1' && key <= '6') {
const index = parseInt(key) - 1;
const placeAnte = document.querySelectorAll('#page_content > div:nth-child(5) > form input[type="submit"]');
if (placeAnte.length > 0 && index < placeAnte.length) {
placeAnte[index].click();
}
}
});
} else {
document.addEventListener('keydown', event => {
const key = event.key;
if (key === 'Enter') {
const endGame = document.querySelector('#page_content');
const submitButton = endGame.querySelector('input[type="submit"]');
if (submitButton) {
submitButton.click();
}
}
});
}