// ==UserScript== // @name Mathletics Auto Math Solver (Updated) // @namespace http://greasyfork.org // @version 1.0 // @description Automatically solves Mathletics math problems when "A" is pressed. // @author YourName // @match https://*.mathletics.com/* // @grant none // @downloadURL none // ==/UserScript== (function () { 'use strict'; // Wait for the page to fully load window.addEventListener('load', function () { // Listen for the "A" key press to trigger the solving of problems document.addEventListener('keydown', function (event) { if (event.key.toLowerCase() === 'a') { solveMathleticsProblems(); } }); }); // Function to solve math problems on the page function solveMathleticsProblems() { // Select the elements that could contain math problems (adjusting the selector as needed) const mathProblems = document.querySelectorAll('div.problem, .math-problem, span.problem-text, input.problem-input'); mathProblems.forEach(problem => { let problemText = problem.textContent.trim() || problem.value.trim(); // Regex to match basic math problems (e.g., 5 + 3) const mathRegex = /(\d+)\s*([\+\-\*\/])\s*(\d+)/; const match = problemText.match(mathRegex); if (match) { const num1 = parseFloat(match[1]); const operator = match[2]; const num2 = parseFloat(match[3]); let result; switch (operator) { case '+': result = num1 + num2; break; case '-': result = num1 - num2; break; case '*': result = num1 * num2; break; case '/': result = num1 / num2; break; default: result = 'Error'; } // Display the result next to the problem or input field if (problem.tagName === 'INPUT' || problem.tagName === 'TEXTAREA') { // If it's an input or textarea, insert the result problem.value = `${problem.value} = ${result}`; } else { // Otherwise, insert the result next to the problem const resultDiv = document.createElement('span'); resultDiv.style.fontWeight = 'bold'; resultDiv.style.color = 'green'; resultDiv.textContent = ` = ${result}`; problem.appendChild(resultDiv); } } }); } })();