您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Autoplays Tyranu Evavu remembering which cards have been played
// ==UserScript== // @name Tyranu Evavu Player [Fixed] // @version 1.1 // @description Autoplays Tyranu Evavu remembering which cards have been played // @match https://www.neopets.com/games/tyranuevavu.phtml* // @namespace https://greasyfork.org/users/1521429 // ==/UserScript== var KEY_PLAY = 'playTyranuEvavu'; var KEY_CARDS = 'cards'; addToggleButton(); if (JSON.parse(localStorage.getItem(KEY_PLAY) || "false")) { setTimeout(execute, 1000 * (1 + Math.random())); } function execute() { startGame(); playGame(); endGame(); } function addToggleButton() { var toggleButton = document.createElement('button'); toggleButton.id = 'autoplayer'; toggleButton.style.display = 'block'; toggleButton.style.margin = '0 auto'; toggleButton.addEventListener('click', toggleAutoPlay); var content = document.querySelector('.content, #content, body'); if (content) content.prepend(toggleButton); updateButtonText(); } function updateButtonText() { var autoplayIsOn = JSON.parse(localStorage.getItem(KEY_PLAY) || "false"); document.getElementById('autoplayer').textContent = (autoplayIsOn ? 'Stop AP' : 'Start AP'); } function toggleAutoPlay() { var autoplayIsOn = JSON.parse(localStorage.getItem(KEY_PLAY) || "false"); localStorage.setItem(KEY_PLAY, !autoplayIsOn); updateButtonText(); if (!autoplayIsOn) execute(); } function startGame() { var form = document.querySelector('form[action*="tyranuevavu.phtml"]'); if (form && form.querySelector('input[name="type"][value="play"]')) { var suits = ['hearts', 'clubs', 'diamonds', 'spades']; var cards = []; for (var i = 2; i <= 14; i++) { for (var s of suits) cards.push(i + '_' + s); } localStorage.setItem(KEY_CARDS, JSON.stringify(cards)); form.submit(); } } function playGame() { var tyranuButton = document.querySelector('a[href*="action=higher"]'); var evavuButton = document.querySelector('a[href*="action=lower"]'); if (tyranuButton) { updateRound(); var img = document.querySelector('img[src*="images.neopets.com/games/cards/"]'); if (!img) return; var card = img.src.match(/cards\/(.+)\.gif/); var cards = JSON.parse(localStorage.getItem(KEY_CARDS) || "[]"); var length = cards.length; var index = cards.indexOf(card[1]); if (index > -1) cards.splice(index, 1); localStorage.setItem(KEY_CARDS, JSON.stringify(cards)); if (length > 1) { (index / (length - 1) > 0.5 ? evavuButton : tyranuButton).click(); } else { alert('You have won the game!'); } } } function updateRound() { var b = document.querySelector('.content center b'); if (b) document.title += ' (' + parseInt(b.textContent) + ')'; } function endGame() { var form = document.querySelector('form[action*="tyranuevavu.phtml"]'); if (form && form.querySelector('input[name="type"][value="intro"]')) { form.submit(); } else { limitReached(); } } function limitReached() { if (document.querySelector('form[action="/gameroom.phtml"]')) { document.title += ' (Limit Reached)'; } }