Greasy Fork

Dogger market script

description

目前为 2022-11-16 提交的版本。查看 最新版本

// ==UserScript==
// @name         Dogger market script
// @namespace    Doggerdata
// @version      1.0.0
// @author       Doggerip
// @description  description
// @copyright    2012 Doggerip
// @match        https://fr114.grepolis.com/game/*
// @license      GPL-3.0-or-later; https://www.gnu.org/licenses/gpl-3.0.txt
// ==/UserScript==
//&& document.querySelector('.tab.selected > .middle').innerText == "Créer une offre"
//>

//appel de la fonction
markeCreatebutton()

function markeCreatebutton() {
    // Create button
    //const marketCreateoffert = document.querySelectorAll('.nui_main_menu > .middle')[0]
    //const marketCreateoffert = document.querySelector('.tb_activities.toolbar_activities > .right')
    const marketCreateoffert = document.querySelector('#devtools')


   const divnewbutton = document.createElement('div');
    marketCreateoffert.appendChild(divnewbutton);
    divnewbutton.classList.add('button_new', 'btn_submit_offer');
    divnewbutton.style.position ='absolute'
    divnewbutton.style.top ='6px'
    divnewbutton.style.right ='680px'
    divnewbutton.style.zIndex ='1001'





    const divnewbuttonleft = document.createElement('div');
    divnewbuttonleft.classList.add('left');

    divnewbutton.appendChild(divnewbuttonleft);

    const divnewbuttonright = document.createElement('div');
    divnewbuttonright.classList.add('right');
    divnewbutton.appendChild(divnewbuttonright);

    const divnewbuttoncaption = document.createElement('div');
    divnewbuttoncaption.classList.add('caption', 'js-caption');
    divnewbuttoncaption.innerText = 'Full ressources';
    divnewbutton.appendChild(divnewbuttoncaption);
    /*********************************
    // Click function start
    *********************************/
    divnewbutton.addEventListener('click', () => {
        // button add offer
        const activatebutton = document.querySelectorAll('.section.odd.centered > div')[0].classList

        // New menu icon option
        const ressourcesoffer = document.querySelectorAll('#dd_res_offer > div')[0].classList
        const ressourcesdemand = document.querySelectorAll('#dd_res_demand > div')[0].classList

        //button arrow up ressources
        const buttontradingofferup = document.querySelector('.section.even.market_offer > div > .spinner.sp_trading_offer > .button_up')
        const buttontradingdemandup = document.querySelector('.section.even.market_offer > div > .spinner.sp_trading_demand > .button_up')

        //list selected  demands ressource icons
        const listdemandWood = document.querySelector('#dd_res_demand_list .item-list .option.wood')
        const listdemandStone = document.querySelector('#dd_res_demand_list .item-list .option.stone')
        const listdemandiron = document.querySelector('#dd_res_demand_list .item-list .option.iron')

        //list selected  offers ressource icons
        const listofferWood = document.querySelector('#dd_res_offer_list .item-list .option.wood')
        const listofferStone = document.querySelector('#dd_res_offer_list .item-list .option.stone')
        const listofferiron = document.querySelector('#dd_res_offer_list .item-list .option.iron')

        // icon selected in offer dropdown menu
        if (listofferStone.classList.contains('disabled')) {
            listofferStone.classList.replace('disabled', 'selected')
        } else {
            listofferStone.classList.add('selected')
        }
        if (listofferWood.classList.contains('selected')) {
            listofferWood.classList.remove('selected')
        }
        if (listofferiron.classList.contains('selected')) {
            listofferiron.classList.remove('selected')
        }
        for (let i = 0; i < 20; i++) {
            buttontradingofferup.click();
            buttontradingdemandup.click()
        }


        // icon selected in demand dropdown menu
        if (listdemandWood.classList.contains('disabled')) {
            listdemandWood.classList.replace('disabled', 'selected')
        } else {
            listdemandWood.classList.add('selected')
        }
        if (listdemandStone.classList.contains('selected')) {
            listdemandStone.classList.replace('selected', 'disabled')
        } else {
            listdemandStone.classList.add('disabled')
        }
        if (listdemandiron.classList.contains('selected')) {
            listdemandiron.classList.remove('disabled','selected')

        }
        // add time in input field
        document.querySelectorAll('.spinner.sp_trading_lifetime > div input')[0].value = '03:00:00'

        // select Tous sauf les ennemis
        document.querySelector('.section.even.market_offer > div > table > tbody > tr.row2 > td > div > div:nth-child(4) > div').click()

        //click selecte ressources icons
        listdemandWood.click()
        listofferStone.click()

        // activate button submit offer
        if (activatebutton.contains('disabled')) {
            activatebutton.remove('disabled')
            activatebutton.remove('active')
        };

        // replace wood to stone in new demand menu icon
        if (ressourcesoffer.contains('wood')) {
            ressourcesoffer.replace('wood', 'stone')
        };
        // replace wood to stone in new demand menu icon
        if (ressourcesdemand.contains('iron')) {
            ressourcesdemand.replace('iron', 'wood')
        }
        // replace stone to wood in new offer menu icon
        if (ressourcesdemand.contains('stone')) {
            ressourcesdemand.replace('stone', 'wood')
        }
    }
        /*********************************
       // Click function end
       *********************************/
    );


}