UI Tweaks By web crawler 111 installs Rating 0.0 (0) approved

Neopets - Remember Last Zap

Remembers last selected pet in the lab ray
lab map laboratory
https://www.scriptneo.com/script/neopets-remember-last-zap

Version selector


SHA256
ff3d85b744e6e3fa3b5776e5899ad76b97b34e2df22ca4b24a4893bdfd5cc377
No scan flags on this version.

Source code

// ==UserScript==
// @name         Neopets - Remember last zap
// @version      2024-04-15
// @description  Remember last choice; auto redirect to zap selection page
// @author       senerio
// @match        *://*.neopets.com/petpetlab.phtml
// @match        *://*.neopets.com/lab2.phtml
// @match        *://*.neopets.com/lab.phtml
// @icon         https://www.google.com/s2/favicons?sz=64&domain=neopets.com
// @grant        none
// @downloadURL  https://www.scriptneo.com/scripts/download.php?id=18
// @updateURL    https://www.scriptneo.com/scripts/download.php?id=18
// ==/UserScript==

function load() {
    const savedName = localStorage?.getItem('np_'+loc);
    document.querySelector(`.content form :not([aria-hidden=true])>*>input[value=${savedName}]`)?.click();
    document.querySelectorAll('.content form :not([aria-hidden=true]) input[type=radio][name=chosen]')
    .forEach(e => e.addEventListener('click', (event) => {
        localStorage?.setItem('np_'+loc, event.target.value);
    }));
}

const loc = location.pathname.split(/\/|\./).at(-2);

if(loc=='lab') {
    location.replace('lab2.phtml');
}
else if(loc=='petpetlab') {
    load();
}
else if(loc=='lab2') {
    const observer = new MutationObserver(() => {
        load();
        observer.disconnect();
    });
    observer.observe(document.querySelector('#bxlist'), {childList: true});
}