🏠 Home 

PurposeGames Hack

Answers all games on PurposeGames in record Time (with adjustable slider)

// ==UserScript==
// @name         PurposeGames Hack
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  Answers all games on PurposeGames in record Time (with adjustable slider)
// @author       longkidkoolstar
// @match        https://www.purposegames.com/*
// @icon         https://th.bing.com/th/id/R.201395eef044c88cd80bb137b6638932?rik=4SVeP8xG%2bGt2Tg&pid=ImgRaw&r=0
// @license      none
// @grant        none
// ==/UserScript==
(function() {
'use strict';
let previousValue = document.querySelector('#question-box').getAttribute('data-text');
// Function to simulate click
function simulateClick(element) {
const clickEvent = new MouseEvent("click", {
bubbles: true,
cancelable: true,
view: window
});
element.dispatchEvent(clickEvent);
}
// Function to display the unit circle, the number to click, and the element
function displayInfo() {
const dots = document.querySelectorAll('.dot');
dots.forEach(dot => {
console.log(`Dot at (${dot.getAttribute('data-x')}, ${dot.getAttribute('data-y')}) represents ${dot.getAttribute('data-text')}`, dot);
});
const targetAngle = document.querySelector('#question-box').getAttribute('data-text');
console.log(`Number to click: ${targetAngle}`);
if (targetAngle !== previousValue) {
solveUnitCircle();
previousValue = targetAngle;
}
}
// Main function to find and click the correct dot
function solveUnitCircle() {
const targetAngle = document.querySelector('#question-box').getAttribute('data-text');
const dots = document.querySelectorAll('.dot');
dots.forEach(dot => {
if(dot.getAttribute('data-text') === targetAngle) {
simulateClick(dot);
}
});
}
// Create GUI slider and popup
function createSliderAndPopup() {
const slider = document.createElement('input');
slider.type = 'range';
slider.min = '1';
slider.max = '100';
slider.value = localStorage.getItem('sliderValue') || '10'; // Retrieve saved value or use default
slider.style.position = 'fixed';
slider.style.left = '0';
slider.style.bottom = '0';
document.body.appendChild(slider);
// Popup for displaying the current slider value
var popup = document.createElement('div');
popup.classList.add('slider-popup');
popup.style.position = 'fixed';
popup.style.backgroundColor = 'rgba(0, 0, 0, 0.8)';
popup.style.color = 'white';
popup.style.padding = '5px 10px';
popup.style.borderRadius = '5px';
popup.style.zIndex = '9999';
popup.style.display = 'none'; // Initially hidden
document.body.appendChild(popup);
let intervalId;
slider.oninput = function() {
clearInterval(intervalId);
const intervalTime = 1000 / this.value; // Calculate interval time based on slider value
intervalId = setInterval(solveUnitCircle, intervalTime);
localStorage.setItem('sliderValue', this.value); // Save slider value to localStorage
// Show the popup with the current slider value
popup.innerText = 'Speed: ' + this.value;
popup.style.display = 'block';
// Calculate slider position and adjust popup position
var sliderRect = slider.getBoundingClientRect();
var popupX = sliderRect.left + ((slider.value - slider.min) / (slider.max - slider.min)) * sliderRect.width - popup.clientWidth / 2;
var popupY = sliderRect.top - popup.clientHeight - 10;
popup.style.left = popupX + 'px';
popup.style.top = popupY + 'px';
// Start a timer to hide the popup after a certain duration (e.g., 2 seconds)
setTimeout(function() {
popup.style.display = 'none';
}, 2000);
};
// Show popup when mouse hovers over the slider
slider.onmouseover = function() {
popup.style.display = 'block';
};
// Hide popup when mouse leaves the slider
slider.onmouseout = function() {
popup.style.display = 'none';
};
}
createSliderAndPopup();
//setInterval(displayInfo, 1000);
})();