您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Makes it possible to rewrite your mistakes after a game
// ==UserScript== // @name Correct your bad habits // @namespace https://www.madcaphacker.com/ // @version 1.9 // @author Gl4zy // @match https://play.typeracer.com/ // @description Makes it possible to rewrite your mistakes after a game // ==/UserScript== var focus = false; //set "true" to "false" and the scirpt will no longer focus the input feld var gameended = false; var reset; function scanner() { if (document.getElementsByClassName("gameStatusLabel")[0] == undefined) return; if (document.getElementsByClassName("gameStatusLabel")[0].innerText == "The race has ended." && !gameended) { gameended = true; var mistakes = document.getElementsByClassName("content")[0].innerText.split("\n"); reset = document.getElementsByClassName("content")[0].innerHTML; var textarea = document.createElement("input"); textarea.style.width = "500px"; document.getElementsByClassName("content")[0].appendChild(textarea); if(focus){ textarea.focus(); } var button = document.createElement("a"); button.innerHTML = "replay" button.style.backgroundColor = "#3cc1a3"; button.style.color = "#fff"; button.style.fontWeight = "700"; button.style.height = "50px"; button.style.padding = "6px"; button.style.borderRadius = "10px"; button.style.cursor = "pointer"; button.titel = "Keyboard shortcut: Ctrl+Alt+N"; button.onclick = () => { document.getElementsByClassName("content")[0].innerHTML = reset; scanner(); gameended = false; }; document.getElementsByClassName("content")[0].appendChild(document.createElement("br")); document.getElementsByClassName("content")[0].appendChild(document.createElement("br")); document.getElementsByClassName("content")[0].appendChild(button); var i = 0; textarea.addEventListener("keydown", function(event){ if (event.keyCode === 32) { if (textarea.value.trim() == mistakes[i]) { document.getElementsByClassName("content")[0].children[i].style.color = "#99cc00"; textarea.value = ""; i++; if (i == mistakes.length) { textarea.value = "GZ your on your way to become a better typists. Ctrl+Alt+N to replay" } } } }) textarea.addEventListener("keyup", function(event) { if (event.keyCode === 32) { if(textarea.value[0] == " " && textarea.value.length == 1){ textarea.value = ""; }; } if (event.keyCode == 78 && event.ctrlKey && event.altKey) {button.click();} if (mistakes[i] != undefined) { for (var x = mistakes[i].length; x > 0; x--) { if (textarea.value.trim().slice(0, x) == mistakes[i].slice(0, x)) { document.getElementsByClassName("content")[0].children[i].innerHTML = ""; var span = document.createElement("span"); span.style.color = "#99cc00"; var text = document.createTextNode(mistakes[i].slice(0, x)); span.appendChild(text); if (textarea.value.length > x) { var span2 = document.createElement("span"); span2.style.color = "#803333"; span2.style.backgroundColor = "#f0a3a3"; var text2 = document.createTextNode(mistakes[i].slice(x, textarea.value.length)); span2.appendChild(text2) } var text3 = document.createTextNode(mistakes[i].slice(textarea.value.length, mistakes[i].length)); var span3 = document.createElement("span"); span3.appendChild(text3); document.getElementsByClassName("content")[0].children[i].appendChild(span); if (span2 != undefined) { document.getElementsByClassName("content")[0].children[i].appendChild(span2); } document.getElementsByClassName("content")[0].children[i].appendChild(span3); break; } } } }) } else if (document.getElementsByClassName("gameStatusLabel")[0].innerText != "The race has ended.") { gameended = false; } } var sc = setInterval(scanner, 1000);