您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Auto-battles the specified trainer; used to level up Pokemon.
// ==UserScript== // @name TPPC v8: Battle Script // @description Auto-battles the specified trainer; used to level up Pokemon. // @include http://*tppcrpg.net* // @grant GM_deleteValue // @grant GM_getValue // @grant GM_setValue // @namespace https://gitlab.com/toxocious // @author Toxocious // @version 8.0 // ==/UserScript== /** * Gyms */ const GYMS = { '3379420': { 'Roster_Levels': [ 25, 25, 25, 25, 25, 25 ] }, '3166941': { 'Roster_Levels': [ 43, 40, 40, 40, 40, 40 ] }, '3269882': { 'Roster_Levels': [ 75, 75, 75, 75, 75, 75 ] }, '3101815': { 'Roster_Levels': [ 100, 100, 100, 100, 100, 100 ] }, '1113640': { 'Roster_Levels': [ 150, 150, 150, 150, 150, 150 ] }, '1325349': { 'Roster_Levels': [ 200, 200, 200, 200, 200, 200 ] }, '924714': { 'Roster_Levels': [ 250, 250, 250, 250, 250, 250 ] }, '913641': { 'Roster_Levels': [ 350, 350, 350, 350, 350, 350 ] }, '3033909': { 'Roster_Levels': [ 400, 400, 400, 400, 400, 400 ] }, '3384456': { 'Roster_Levels': [ 500, 500, 500, 500, 500, 500 ] }, '2646064': { 'Roster_Levels': [ 650, 650, 650, 650, 650, 650 ] }, '2656958': { 'Roster_Levels': [ 800, 800, 800, 815, 815, 815 ] }, '1933117': { 'Roster_Levels': [ 900, 900, 900, 900, 900, 900 ] }, '3384457': { 'Roster_Levels': [ 1000, 1000, 1000, 1000, 1000, 1000 ] }, '3394572': { 'Roster_Levels': [ 1200, 1200, 1200, 1200, 1200, 1200 ] }, '498042': { 'Roster_Levels': [ 1506, 1551, 1576, 1550, 1550, 1550 ] }, '2536240': { 'Roster_Levels': [ 1760, 1760, 1760, 1760, 1760, 1760 ] }, '3384459': { 'Roster_Levels': [ 2000, 2000, 2000, 2000, 2000, 2000 ] }, '482301': { 'Roster_Levels': [ 2500, 2500, 2500, 2500, 2500, 2500 ] }, '3439851': { 'Roster_Levels': [ 3000, 3000, 3000, 3000, 3000, 3000 ] }, '3421893': { 'Roster_Levels': [ 3499, 3499, 3500, 3499, 3499, 3499 ] }, '995268': { 'Roster_Levels': [ 4000, 4000, 4000, 4000, 4000, 4000 ] }, '3328818': { 'Roster_Levels': [ 4499, 4499, 4499, 4499, 4499, 4499 ] }, '3101818': { 'Roster_Levels': [ 5000, 5000, 5000, 5000, 5000, 5000 ] }, '3395546': { 'Roster_Levels': [ 5500, 5500, 5500, 5500, 5500, 5500 ] }, '3402750': { 'Roster_Levels': [ 6000, 6000, 6000, 6000, 6000, 6000 ] }, '3387834': { 'Roster_Levels': [ 6500, 6500, 6500, 6500, 6500, 6500 ] }, '3355075': { 'Roster_Levels': [ 7000, 7000, 7000, 7000, 7000, 7000 ] }, '3395547': { 'Roster_Levels': [ 7500, 7500, 7500, 7500, 7500, 7500 ] }, }; // Pick an ID from above, and the macro will auto-battle that account. const GYM_ID = 3397010; /** * The level in which you want the script to stop macroing. */ const goalLevel = 150; // Variables ( Don't touch these. ) let randClick = 0; let clicked = 0; let count = 0; let set = 0; let randWidth = Math.floor(Math.random() * 50 + 20); let randArea = Math.floor(Math.random() * 6 + 10); // Sleep function. function sleep(miliseconds) { var currentTime = new Date().getTime(); while (currentTime + miliseconds >= new Date().getTime()) {} } // If you're on the battle page. if (window.location.pathname == "/battle.php") { // Track random battle pauses. $(document).ready(function() { let set = 0; if (!localStorage.getItem('TPPC-v8-BS-Short-Pause')) { localStorage.setItem('TPPC-v8-BS-Short-Pause', 0); } if (!localStorage.getItem('TPPC-v8-BS-Long-Pause')) { localStorage.setItem('TPPC-v8-BS-Long-Pause', 0); } if ( set == 0 ) { $(".lvlitem").append(` <br> <a href='#' style='color:#FFFFFF !important;text-decoration:none;'> Pause Count: </a> ` + localStorage.getItem('TPPC-v8-BS-Short-Pause') + ` <br /> Long Pause: ` + localStorage.getItem('TPPC-v8-BS-Long-Pause') ); } set = 1; $(".lvlitem a").click(function() { if(clicked === 0) { if (confirm("Reset counter?")) { clicked = 1; clearInterval(interval); localStorage.removeItem('TPPC-v8-BS-Short-Pause') localStorage.removeItem('TPPC-v8-BS-Long-Pause') } } }); }); // Set an interval. interval = setInterval(function() { // Alert once you've reached your set Goal Level. if (document.body.innerHTML.search("has reached level (" + goalLevel + ")") != -1) { clearInterval(interval); alert("Done!"); return true; } // Restart battle with a random delay. links = document.getElementsByTagName("a"); if ($("#cancelBattle > A").html() == "Restart Battle" && count === 0) { count++; myDelay = 200; randInt = Math.floor(Math.random() * 200 + 1); if (randInt == 1) { randDelay = Math.floor(Math.random() * 300 + Math.random() * 125 + 225); myDelay = myDelay * randDelay; var longpause = localStorage.getItem('TPPC-v8-BS-Long-Pause') + 1; localStorage.setItem('TPPC-v8-BS-Long-Pause', longpause); } setTimeout(function() { window.location = document.location.href.replace(/battle\.php.*$/, '') + 'battle.php?Battle=Trainer&Trainer=' + GYM_ID; }, Math.random() * 400 + myDelay); } // Get battle button position and top left, bottom right coords. x = $('.submit').position(); cordX = x.left; cordY = x.top; if (document.body.innerHTML.lastIndexOf(/Loading.../) == -1) { inputs = document.getElementsByTagName("input"); randInt = Math.floor(Math.random() * 720 + 1); if (randInt == 1) { randClick = Math.floor(Math.random() * 25000) + 5000; sleep(randClick); var shortpause = localStorage.getItem('TPPC-v8-BS-Short-Pause') + 1; localStorage.setItem('TPPC-v8-BS-Short-Pause', shortpause); } // Check to see if Blissey's levels have changed. let validGym = true; storeText = $('#Trainer2_Pokemon').text(); storeText.split('|').slice(1).map(index => { let pokemon = index.split(' ')[0]; if (pokemon.indexOf('Chansey') < 0 && pokemon.indexOf('Blissey') < 0) validGym = false; let level = pokemon.split('(L:')[1].split(')')[0]; if (GYMS[GYM_ID]['Roster_Levels'].includes(level) < 0) validGym = false; }); if (!validGym) { clearInterval(interval); alert("The gym has been altered to some extent, so the macro has stopped execution."); return true; } for (i = 0; i < inputs.length; i++) { if (inputs[i].value.search(/(Attack)/) != -1) { count = 0; Move = document.getElementById("MyMove").value; var genX = Math.floor(Math.random() * randArea + cordX + randWidth); var genY = Math.floor(Math.random() * randArea + cordY + randWidth); unsafeWindow.getBattleStatus({ "MyMove": Move, "pageID": Math.floor(Math.random() * randArea + cordX + randWidth) + "." + Math.floor(Math.random() * 18 + cordY + 3) }); } if (inputs[i].value.search(/(Continue)/) != -1) { unsafeWindow.getBattleStatus({ "MyMove": "WaitFaint", "pageID": Math.floor(Math.random() * randArea + cordX + randWidth) + "." + Math.floor(Math.random() * 15 + cordY + 2) }); } } } }, Math.random() * 75 + 225); } /* =========== Captcha stuff =========== */ $(document).ready(function() { // Alert when a captcha appears. if (document.body.innerHTML.search(/Please Enter The Combination You See Above/) != -1) { alert("Captcha!"); } // After you solve the captcha, redirect to the battle trainer page. if (document.body.innerHTML.search(/You can resume battling/) != -1) { window.location = "http://www.tppcrpg.net/battle_trainer.php"; } // If you're on the battle trainer page, begin battling. if (window.location == "http://www.tppcrpg.net/battle_trainer.php") { var input = document.getElementById('Trainer'); input.value = input.value + battleGym["b" + gymLevel]; $('input').click(); } }); // ==UserScript== // @name New script - google.com // @namespace Violentmonkey Scripts // @match https://chromewebstore.google.com/detail/violentmonkey/jinjaccalgkegednnccohejagnlnfdag // @grant none // @version 1.0 // @author - // @description 06/12/2023, 19:34:14 // ==/UserScript==