Skip to content

Instantly share code, notes, and snippets.

@NuarkNoir
Created December 27, 2020 18:40
Show Gist options
  • Save NuarkNoir/b061838c3f7a902a352d724ae7d4f98c to your computer and use it in GitHub Desktop.
Save NuarkNoir/b061838c3f7a902a352d724ae7d4f98c to your computer and use it in GitHub Desktop.
PonyClicker Bot - yes
// ==UserScript==
// @name PonyClicker Bot
// @namespace http://tampermonkey.net/
// @version 0.1
// @description yes
// @author kirasunnight && nuark
// @match https://erikmcclure.com/PonyClicker/ponyclicker.html
// @grant none
// ==/UserScript==
(function() {
'use strict';
window.autogame_run = function(desired_num) {
window.autogame_need_run = true;
let do_buy = () => {
[...document.querySelectorAll("#store > li")].filter((elem) => {
return elem.className !== "disable";
}).reverse().forEach((elem) => {
elem.click();
});
[...document.querySelectorAll("#storeupgrades > li")].filter((elem) => {
return elem.className === "achievement";
}).reverse().forEach((elem) => {
elem.click();
});
};
let funk = () => {
do_buy();
let elem = document.querySelector("#ponywrapper > .pony");
elem.click();
let score_el = document.querySelector("#scorenum");
let score_num = +(score_el.textContent.replaceAll(/[^\d]+/g, ""));
if (score_num < desired_num && window.autogame_need_run) {
setTimeout(funk, window.autogame_delay);
}
};
funk();
}
window.autogame_stop = function() {
window.autogame_need_run = false;
}
window.autogame_ask_for_number = function() {
let message = `Desired number: (chars and minuses will be omited)`;
let desired_num = window.prompt(message, 0);
if (desired_num !== null) {
desired_num = desired_num.replaceAll(/[^\d]+/g, "");
desired_num = +desired_num;
window.autogame_run(desired_num);
}
}
window.autogame_set_delay = function() {
let message = `Desired delay: (chars and minuses will be omited)`;
let delay = window.prompt(message, 100);
if (delay !== null) {
delay = delay.replaceAll(/[^\d]+/g, "");
delay = +delay;
window.autogame_delay = delay;
}
}
let inject_buttons = function() {
if (window.autogame_buttons_injected !== true) {
let menu_bar_el = document.querySelector("#menu > section");
menu_bar_el.innerHTML += `<button id="autogame_run">Run</button>`;
menu_bar_el.innerHTML += `<button id="autogame_stop">Stop</button>`;
menu_bar_el.innerHTML += `<button id="autogame_set_delay">Set delay</button>`;
document.querySelector("#autogame_run").addEventListener("click", window.autogame_ask_for_number);
document.querySelector("#autogame_stop").addEventListener("click", window.autogame_stop);
document.querySelector("#autogame_set_delay").addEventListener("click", window.autogame_set_delay);
}
window.autogame_buttons_injected = true;
};
inject_buttons();
})();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment