Page 158 of 160 FirstFirst ... 58108148156157158159160 LastLast
Results 1,571 to 1,580 of 1598

Thread: Request a Bot/Feature

  1. #1571
    Arcanine's Avatar
    Joined
    Feb 2024
    Posts
    207
    Pronouns
    🔥
    Userbars
    14
    Thanks
    160
    Thanked
    153/85
    DL/UL
    2/0
    Mentioned
    11 times
    Time Online
    12d 15h 36m
    Avg. Time Online
    4h 15m
    Quote Originally Posted by Onetwo View Post
    Thanks! As for the colors, I did not remove space in the search so in your example you need to remove the spaced like this "Blue,Green,Red".

    I'll update the script to remove spaces from the color list and post it to the script section.
    Okay I see. Are quotations needed or not?
    It seems to be highlighting pet names perfectly, but I haven't seen it highlight any of the color/species I've entered in. Unless it's now looking for all 3 (Blue Lupe with the name parameters, for example).

    Apologies for the array of questions.


    Avatar by the wonderful (you need an account to see links)

  2. #1572
    Onetwo's Avatar
    Joined
    Dec 2023
    Posts
    90
    Userbars
    8
    Thanks
    89
    Thanked
    109/53
    DL/UL
    3/0
    Mentioned
    2 times
    Time Online
    3d 9h 5m
    Avg. Time Online
    35m
    Quote Originally Posted by Arcanine View Post
    Okay I see. Are quotations needed or not?
    It seems to be highlighting pet names perfectly, but I haven't seen it highlight any of the color/species I've entered in. Unless it's now looking for all 3 (Blue Lupe with the name parameters, for example).

    Apologies for the array of questions.
    No worries at all, I'd like to find any issues with it. No quotes in the box. Try this version. I made it ignore capitalization and white spaces.

    Code:
    // ==UserScript==
    // @name         Pound Highlighter
    // @version      0.2
    // @description  Highlights content based on text box entries. Color and species is a comma seperated list. Stats can be empty to ignore the stats. The name is a regex matcher. ^[a-zA-Z]{1,10}$ looks for names with only characters that is up the the length of 10. ^[A-Za-z]+$ highlight names with only characters
    // @author       Onetwo
    // @match        https://www.neopets.com/pound/adopt.phtml
    // @grant        GM_setValue
    // @grant        GM_getValue
    // ==/UserScript==
    
    (function() {
        'use strict';
    
        console.log("Script is running...");
        // Hide the element selected by the query
        const elementToHide = document.querySelector("#content > table > tbody > tr > td > div:nth-child(2) > p");
        if (elementToHide) {
            elementToHide.style.display = "none";
        }
        // Function to load saved custom values or initialize default values
        function loadCustomValues() {
            const customValues = JSON.parse(localStorage.getItem('customValues')) || {};
            return customValues;
        }
    
    
        function saveCustomValues(customValues) {
            const regexPattern = document.getElementById('custom_regex').value;
            customValues['regexPattern'] = regexPattern; // Add regex pattern to custom values
            localStorage.setItem('customValues', JSON.stringify(customValues));
        }
    
    // Function to initialize or update text boxes with custom values
    function initializeTextBoxes() {
        console.log("Initializing text boxes...");
        const customValues = loadCustomValues();
        const attributes = ['Colour', 'Species', 'Level', 'Strength', 'Defence', 'Movement'];
        const regexPattern = customValues['regexPattern'] || ''; // Get regex pattern from custom values
    
        // Add a line break before listing the text boxes
        const parentElement = document.getElementById('page_header');
    
        // Create a div before "Name Pattern"
        const divBeforeNamePattern = document.createElement('div');
        parentElement.appendChild(divBeforeNamePattern);
    
        // Create input box for regex pattern
        const regexLabel = document.createElement('label');
        regexLabel.innerText = 'Name Regex: ';
        const regexInput = document.createElement('input');
        regexInput.setAttribute('type', 'text');
        regexInput.setAttribute('id', 'custom_regex');
        regexInput.setAttribute('placeholder', 'Enter Name pattern');
        regexInput.setAttribute('value', '^[A-Za-z]+$');
        regexInput.value = regexPattern;
        divBeforeNamePattern.appendChild(regexLabel);
        divBeforeNamePattern.appendChild(regexInput);
        parentElement.appendChild(document.createElement('br')); // Add line break
    
        // Create a container for the input boxes
        const container = document.createElement('div');
        container.style.display = 'flex';
        container.style.flexWrap = 'wrap';
        container.style.alignItems = 'flex-start'; // Align items at the start of the container
        parentElement.appendChild(container);
    
        attributes.forEach(attribute => {
            const inputId = `custom_${attribute.toLowerCase()}`;
            const inputValue = customValues[inputId] || '';
    
            // Create a div for each input box
            const inputDiv = document.createElement('div');
            inputDiv.style.flexBasis = 'calc(50% - 10px)';
            inputDiv.style.boxSizing = 'border-box';
            inputDiv.style.marginRight = '10px';
    
            const labelElement = document.createElement('label');
            labelElement.style.width = "80px"; // You can adjust the width as needed
            labelElement.style.display = "inline-block"; // Ensures the width property works correctly
            labelElement.innerText = `${attribute}: `;
    
            const inputElement = document.createElement('input');
            inputElement.setAttribute('type', 'text');
            inputElement.setAttribute('id', inputId);
            inputElement.setAttribute('placeholder', `Enter ${attribute}`);
            inputElement.value = inputValue;
    
            inputDiv.appendChild(labelElement);
            inputDiv.appendChild(inputElement);
            container.appendChild(inputDiv);
        });
    }
    
    
        // Function to retrieve text box values
        function getTextValues() {
            const customValues = {};
            const attributes = ['Colour', 'Species', 'Level', 'Strength', 'Defence', 'Movement'];
    
            attributes.forEach(attribute => {
                const inputId = `custom_${attribute.toLowerCase()}`;
                const inputValue = document.getElementById(inputId).value;
                customValues[inputId] = inputValue;
            });
    
            return customValues;
        }
    
        // Function to check if a value exists in a comma-delimited string
        function checkValueInList(customValue, value) {
            // Split the comma-delimited string into an array of values, trim each value, and convert to lowercase
            const values = customValue.toLowerCase().split(',').map(item => item.trim());
    
            // Check if the given value exists in the array
            return values.includes(value.trim());
        }
    
        // Function to highlight pet names based on regex pattern
        function highlightPetNames() {
            const petNameSelectors = ['#pet0_name', '#pet1_name', '#pet2_name'];
            const regexPattern = document.getElementById('custom_regex').value; // Get regex pattern from input box
            const regex = new RegExp(regexPattern, 'i'); // Create regex object with case-insensitive flag
    
            petNameSelectors.forEach(selector => {
                const petNameElement = document.querySelector(selector);
                if (petNameElement) {
                    const petName = petNameElement.innerText.trim();
                    if (regex.test(petName)) {
                        petNameElement.style.backgroundColor = 'yellow';
                    }
                }
                else {
                    //console.log(`${selector} not found. Skipping highlighting process.`);
                }
            });
        }
    
        // Highlight pet attributes other than name
        function highlightPetAttributes() {
            const selectors = ['#pet0_table', '#pet1_table', '#pet2_table'];
            const customValues = {};
    
            // Retrieve values from text boxes
            const attributes = ['Colour', 'Species', 'Level', 'Strength', 'Defence', 'Movement'];
            attributes.forEach(attribute => {
                const inputId = `custom_${attribute.toLowerCase()}`;
                customValues[attribute.toLowerCase()] = document.getElementById(inputId).value;
            });
    
            //console.log('Custom values:', customValues);
    
            selectors.forEach(selector => {
                const table = document.querySelector(selector);
                if (table) {
                    const rows = table.querySelectorAll('tr');
                    rows.forEach(row => {
                        const cells = row.querySelectorAll('td');
                        if (cells.length === 2) {
                            const attribute = cells[0].innerText.trim().toLowerCase().replace(':', '').replace(/\s/g, '');
                            const value = cells[1].querySelector('span').innerText.trim().toLowerCase().replace(/\s/g, '');
                            const customAttribute = customValues[attribute.toLowerCase().replace(/\s/g, '')];
                            if (attribute === 'species' || attribute === 'colour'){
                                if ( checkValueInList(customValues[attribute],value)) {
                                    cells[1].style.backgroundColor = 'yellow';
                                }
                            }
                            else if (parseInt(value) >= parseInt(customValues[attribute] )) {
                                cells[1].style.backgroundColor = 'lightblue';
                            }
    
                        }
                    });
                }
                else {
                    //console.log(`${selector} not found. Skipping highlighting process.`);
                }
            });
        }
    
        // Function to remove all highlights
        function clearHighlights() {
            const highlightedElements = document.querySelectorAll('[style*=background-color]');
            highlightedElements.forEach(element => {
                element.style.backgroundColor = ''; // Remove background color
            });
        }
    
        // Function to save custom values when the page is unloaded
        window.addEventListener('beforeunload', () => {
            const customValues = {};
            const attributes = ['Colour', 'Species', 'Level', 'Strength', 'Defence', 'Movement'];
    
            attributes.forEach(attribute => {
                const inputId = `custom_${attribute.toLowerCase()}`;
                const inputValue = document.getElementById(inputId).value;
                customValues[inputId] = inputValue;
            });
    
            saveCustomValues(customValues);
        });
    
    
        // Function to periodically check for updates and re-highlight attributes and names
        function checkForUpdates() {
            setInterval(() => {
                clearHighlights();
                highlightPetAttributes();
                highlightPetNames();
            }, 100); // Check every 5 seconds
        }
    
    initializeTextBoxes();
        highlightPetAttributes();
        highlightPetNames();
    
        // Save custom values when the page is unloaded
        window.addEventListener('beforeunload', () => {
            const customValues = getTextValues();
            saveCustomValues(customValues);
        });
    
        // Start checking for updates
        checkForUpdates();
    
    })();

  3. The Following 3 Users Say Thank You to Onetwo For This Useful Post:

    Arcanine (03-11-2024),DarkSkies (03-11-2024),Nyu (03-11-2024)

  4. #1573
    Arcanine's Avatar
    Joined
    Feb 2024
    Posts
    207
    Pronouns
    🔥
    Userbars
    14
    Thanks
    160
    Thanked
    153/85
    DL/UL
    2/0
    Mentioned
    11 times
    Time Online
    12d 15h 36m
    Avg. Time Online
    4h 15m
    Quote Originally Posted by Onetwo View Post
    No worries at all, I'd like to find any issues with it. No quotes in the box. Try this version. I made it ignore capitalization and white spaces.

    Code:
    // ==UserScript==
    // @name         Pound Highlighter
    // @version      0.2
    // @description  Highlights content based on text box entries. Color and species is a comma seperated list. Stats can be empty to ignore the stats. The name is a regex matcher. ^[a-zA-Z]{1,10}$ looks for names with only characters that is up the the length of 10. ^[A-Za-z]+$ highlight names with only characters
    // @author       Onetwo
    // @match        https://www.neopets.com/pound/adopt.phtml
    // @grant        GM_setValue
    // @grant        GM_getValue
    // ==/UserScript==
    
    (function() {
        'use strict';
    
        console.log("Script is running...");
        // Hide the element selected by the query
        const elementToHide = document.querySelector("#content > table > tbody > tr > td > div:nth-child(2) > p");
        if (elementToHide) {
            elementToHide.style.display = "none";
        }
        // Function to load saved custom values or initialize default values
        function loadCustomValues() {
            const customValues = JSON.parse(localStorage.getItem('customValues')) || {};
            return customValues;
        }
    
    
        function saveCustomValues(customValues) {
            const regexPattern = document.getElementById('custom_regex').value;
            customValues['regexPattern'] = regexPattern; // Add regex pattern to custom values
            localStorage.setItem('customValues', JSON.stringify(customValues));
        }
    
    // Function to initialize or update text boxes with custom values
    function initializeTextBoxes() {
        console.log("Initializing text boxes...");
        const customValues = loadCustomValues();
        const attributes = ['Colour', 'Species', 'Level', 'Strength', 'Defence', 'Movement'];
        const regexPattern = customValues['regexPattern'] || ''; // Get regex pattern from custom values
    
        // Add a line break before listing the text boxes
        const parentElement = document.getElementById('page_header');
    
        // Create a div before "Name Pattern"
        const divBeforeNamePattern = document.createElement('div');
        parentElement.appendChild(divBeforeNamePattern);
    
        // Create input box for regex pattern
        const regexLabel = document.createElement('label');
        regexLabel.innerText = 'Name Regex: ';
        const regexInput = document.createElement('input');
        regexInput.setAttribute('type', 'text');
        regexInput.setAttribute('id', 'custom_regex');
        regexInput.setAttribute('placeholder', 'Enter Name pattern');
        regexInput.setAttribute('value', '^[A-Za-z]+$');
        regexInput.value = regexPattern;
        divBeforeNamePattern.appendChild(regexLabel);
        divBeforeNamePattern.appendChild(regexInput);
        parentElement.appendChild(document.createElement('br')); // Add line break
    
        // Create a container for the input boxes
        const container = document.createElement('div');
        container.style.display = 'flex';
        container.style.flexWrap = 'wrap';
        container.style.alignItems = 'flex-start'; // Align items at the start of the container
        parentElement.appendChild(container);
    
        attributes.forEach(attribute => {
            const inputId = `custom_${attribute.toLowerCase()}`;
            const inputValue = customValues[inputId] || '';
    
            // Create a div for each input box
            const inputDiv = document.createElement('div');
            inputDiv.style.flexBasis = 'calc(50% - 10px)';
            inputDiv.style.boxSizing = 'border-box';
            inputDiv.style.marginRight = '10px';
    
            const labelElement = document.createElement('label');
            labelElement.style.width = "80px"; // You can adjust the width as needed
            labelElement.style.display = "inline-block"; // Ensures the width property works correctly
            labelElement.innerText = `${attribute}: `;
    
            const inputElement = document.createElement('input');
            inputElement.setAttribute('type', 'text');
            inputElement.setAttribute('id', inputId);
            inputElement.setAttribute('placeholder', `Enter ${attribute}`);
            inputElement.value = inputValue;
    
            inputDiv.appendChild(labelElement);
            inputDiv.appendChild(inputElement);
            container.appendChild(inputDiv);
        });
    }
    
    
        // Function to retrieve text box values
        function getTextValues() {
            const customValues = {};
            const attributes = ['Colour', 'Species', 'Level', 'Strength', 'Defence', 'Movement'];
    
            attributes.forEach(attribute => {
                const inputId = `custom_${attribute.toLowerCase()}`;
                const inputValue = document.getElementById(inputId).value;
                customValues[inputId] = inputValue;
            });
    
            return customValues;
        }
    
        // Function to check if a value exists in a comma-delimited string
        function checkValueInList(customValue, value) {
            // Split the comma-delimited string into an array of values, trim each value, and convert to lowercase
            const values = customValue.toLowerCase().split(',').map(item => item.trim());
    
            // Check if the given value exists in the array
            return values.includes(value.trim());
        }
    
        // Function to highlight pet names based on regex pattern
        function highlightPetNames() {
            const petNameSelectors = ['#pet0_name', '#pet1_name', '#pet2_name'];
            const regexPattern = document.getElementById('custom_regex').value; // Get regex pattern from input box
            const regex = new RegExp(regexPattern, 'i'); // Create regex object with case-insensitive flag
    
            petNameSelectors.forEach(selector => {
                const petNameElement = document.querySelector(selector);
                if (petNameElement) {
                    const petName = petNameElement.innerText.trim();
                    if (regex.test(petName)) {
                        petNameElement.style.backgroundColor = 'yellow';
                    }
                }
                else {
                    //console.log(`${selector} not found. Skipping highlighting process.`);
                }
            });
        }
    
        // Highlight pet attributes other than name
        function highlightPetAttributes() {
            const selectors = ['#pet0_table', '#pet1_table', '#pet2_table'];
            const customValues = {};
    
            // Retrieve values from text boxes
            const attributes = ['Colour', 'Species', 'Level', 'Strength', 'Defence', 'Movement'];
            attributes.forEach(attribute => {
                const inputId = `custom_${attribute.toLowerCase()}`;
                customValues[attribute.toLowerCase()] = document.getElementById(inputId).value;
            });
    
            //console.log('Custom values:', customValues);
    
            selectors.forEach(selector => {
                const table = document.querySelector(selector);
                if (table) {
                    const rows = table.querySelectorAll('tr');
                    rows.forEach(row => {
                        const cells = row.querySelectorAll('td');
                        if (cells.length === 2) {
                            const attribute = cells[0].innerText.trim().toLowerCase().replace(':', '').replace(/\s/g, '');
                            const value = cells[1].querySelector('span').innerText.trim().toLowerCase().replace(/\s/g, '');
                            const customAttribute = customValues[attribute.toLowerCase().replace(/\s/g, '')];
                            if (attribute === 'species' || attribute === 'colour'){
                                if ( checkValueInList(customValues[attribute],value)) {
                                    cells[1].style.backgroundColor = 'yellow';
                                }
                            }
                            else if (parseInt(value) >= parseInt(customValues[attribute] )) {
                                cells[1].style.backgroundColor = 'lightblue';
                            }
    
                        }
                    });
                }
                else {
                    //console.log(`${selector} not found. Skipping highlighting process.`);
                }
            });
        }
    
        // Function to remove all highlights
        function clearHighlights() {
            const highlightedElements = document.querySelectorAll('[style*=background-color]');
            highlightedElements.forEach(element => {
                element.style.backgroundColor = ''; // Remove background color
            });
        }
    
        // Function to save custom values when the page is unloaded
        window.addEventListener('beforeunload', () => {
            const customValues = {};
            const attributes = ['Colour', 'Species', 'Level', 'Strength', 'Defence', 'Movement'];
    
            attributes.forEach(attribute => {
                const inputId = `custom_${attribute.toLowerCase()}`;
                const inputValue = document.getElementById(inputId).value;
                customValues[inputId] = inputValue;
            });
    
            saveCustomValues(customValues);
        });
    
    
        // Function to periodically check for updates and re-highlight attributes and names
        function checkForUpdates() {
            setInterval(() => {
                clearHighlights();
                highlightPetAttributes();
                highlightPetNames();
            }, 100); // Check every 5 seconds
        }
    
    initializeTextBoxes();
        highlightPetAttributes();
        highlightPetNames();
    
        // Save custom values when the page is unloaded
        window.addEventListener('beforeunload', () => {
            const customValues = getTextValues();
            saveCustomValues(customValues);
        });
    
        // Start checking for updates
        checkForUpdates();
    
    })();
    That is working perfectly! How cool, thank you so much!


    Avatar by the wonderful (you need an account to see links)

  5. #1574

    Joined
    Aug 2015
    Posts
    29
    Userbars
    1
    Thanks
    40
    Thanked
    13/10
    DL/UL
    13/0
    Mentioned
    7 times
    Time Online
    4d 1h 11m
    Avg. Time Online
    1m
    Is a restock alert possible?
    A script that makes rf every X seconds and notifies with a sound when there is stock.
    I know that for fast stores this doesn't work but for slow stores like coins or winter petpets it would be wonderful.
    I imagine watching my netlix series and leaving doing rf every 10-15 seconds

  6. #1575
    Rook's Avatar
    Joined
    Mar 2020
    Posts
    103
    Userbars
    7
    Thanks
    36
    Thanked
    120/52
    DL/UL
    8/0
    Mentioned
    8 times
    Time Online
    6d 5h 31m
    Avg. Time Online
    5m
    Any way to get a floating, horizontal or vertical nav bar that has shop links in it for rsing? Maybe customizable? They're overtaking my bookmark bar. Maybe with the icon of the shopkeeper on it? Maybe have it float in the area in the top bar between Neopets and the Community button to where it'd work on both the beta and old layout?

  7. #1576
    Stunna's Avatar
    Joined
    Dec 2021
    Posts
    80
    Userbars
    3
    Thanks
    38
    Thanked
    115/38
    DL/UL
    3/0
    Mentioned
    5 times
    Time Online
    7d 19m
    Avg. Time Online
    11m
    Is there a program that auto feeds your pet at certain intervals?

    I want my pet to be fed 1 item every time its at the 'dying' state. But only once so that it goes to 'starving' after you feed it. Then after a few hours once your pet goes back to 'dying' the program should feed the pet again. Just keep doing that over and over. Just going from 'dying' to 'starving' to 'dying'.

    Is there something like that or can I request something like that? Will it be safe to use?
    Last edited by Stunna; 03-20-2024 at 01:57 AM.

  8. #1577

    Joined
    Jun 2012
    Posts
    2,270
    Pronouns
    He / Him
    Userbars
    40
    Thanks
    1,505
    Thanked
    2,191/821
    DL/UL
    16/0
    Mentioned
    232 times
    Time Online
    65d 14h 36m
    Avg. Time Online
    22m
    Quote Originally Posted by Stunna View Post
    Is there a program that auto feeds your pet at certain intervals?

    I want my pet to be fed 1 item every time its at the 'dying' state. But only once so that it goes to 'starving' after you feed it. Then after a few hours once your pet goes back to 'dying' the program should feed the pet again. Just keep doing that over and over. Just going from 'dying' to 'starving' to 'dying'.

    Is there something like that or can I request something like that? Will it be safe to use?
    This? (you need an account to see links)

  9. #1578
    Stunna's Avatar
    Joined
    Dec 2021
    Posts
    80
    Userbars
    3
    Thanks
    38
    Thanked
    115/38
    DL/UL
    3/0
    Mentioned
    5 times
    Time Online
    7d 19m
    Avg. Time Online
    11m
    Quote Originally Posted by Shawn View Post
    Yea something like that. Is it safe though? can I get frozen for this?

  10. #1579
    Bui bui!
    Buizel's Avatar
    Joined
    Sep 2013
    Posts
    3,509
    Pronouns
    She/her
    Userbars
    105
    Thanks
    10,321
    Thanked
    11,443/2,831
    DL/UL
    67/0
    Mentioned
    713 times
    Time Online
    356d 5h 7m
    Avg. Time Online
    2h 12m
    Quote Originally Posted by Stunna View Post
    Yea something like that. Is it safe though? can I get frozen for this?
    You run a risk of being frozen using scripts/bots on your account as nothing is 100% foolproof. You have to keep that in mind for everything you use outside of Neo's TOS.

    That being said, you'll be ok so long as you don't do crazy stuff like running multiple scripts/bots at one time. There are also guides here on ways to help keep your account more secure than you can read up on as well.



    Ryu adoptable made by Stardust
    Waving Buizel avatar made/animated by Da Plushee Boree
    Buimeleon made by Hare
    Static User bar & Anarchy Buizel made by honeycomb
    Name User bar made by Lyrichord
    Buizel Ryus made by Zapdos & GWN, respectfully
    Cutey Buizel made by Wooloo
    Buizel gif User bar made by Zenitsu
    Vector Buizel made by Hollow
    Ryu Buizel User bar made by Dero
    Christmas Buizel made by DankRUSE


    National Dex Number: 418
    Type: Water
    Sea Weasel Pokemon
    (you need an account to see links)

  11. The Following User Says Thank You to Buizel For This Useful Post:

    Stunna (03-20-2024)

  12. #1580

    Joined
    Jun 2012
    Posts
    2,270
    Pronouns
    He / Him
    Userbars
    40
    Thanks
    1,505
    Thanked
    2,191/821
    DL/UL
    16/0
    Mentioned
    232 times
    Time Online
    65d 14h 36m
    Avg. Time Online
    22m
    Quote Originally Posted by Stunna View Post
    Yea something like that. Is it safe though? can I get frozen for this?
    The real answer is cheating obviously has its risks.
    Despite that, I'd say I've never been frozen for Userscript use before.

  13. The Following 3 Users Say Thank You to Shawn For This Useful Post:

    Buizel (03-20-2024),DarkSkies (03-20-2024),Stunna (03-20-2024)

Page 158 of 160 FirstFirst ... 58108148156157158159160 LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •