Light Rising Remember Number of Items

AutoSelects value used for number of items for Give/Drop/Take actions

Dovrai installare un'estensione come Tampermonkey, Greasemonkey o Violentmonkey per installare questo script.

You will need to install an extension such as Tampermonkey to install this script.

Dovrai installare un'estensione come Tampermonkey o Violentmonkey per installare questo script.

Dovrai installare un'estensione come Tampermonkey o Userscripts per installare questo script.

Dovrai installare un'estensione come ad esempio Tampermonkey per installare questo script.

Dovrai installare un gestore di script utente per installare questo script.

(Ho già un gestore di script utente, lasciamelo installare!)

Dovrai installare un'estensione come ad esempio Stylus per installare questo stile.

Dovrai installare un'estensione come ad esempio Stylus per installare questo stile.

Dovrai installare un'estensione come ad esempio Stylus per installare questo stile.

Dovrai installare un'estensione per la gestione degli stili utente per installare questo stile.

Dovrai installare un'estensione per la gestione degli stili utente per installare questo stile.

Dovrai installare un'estensione per la gestione degli stili utente per installare questo stile.

(Ho già un gestore di stile utente, lasciamelo installare!)

// ==UserScript==
// @name        Light Rising Remember Number of Items
// @namespace   http://userscripts.org/users/125692
// @description AutoSelects value used for number of items for Give/Drop/Take actions
// @include        *lightrising.com*game.cgi
// @grant       GM_getValue
// @grant       GM_setValue
// @version     1
// ==/UserScript==


//event fuction to be fire upon clicking a button in a form with a number select for storing that number in GMvariable
var storenumber=function(e) {
//alert("running");
        var parentform=e.target.form;
        var dropdowns=parentform.getElementsByTagName('select');
        var dropdownwewant=dropdowns[0];
        GM_setValue('GMNumberSelect'+e.target.value,dropdownwewant[dropdownwewant.selectedIndex].value)
        }


//TWEAK
//remember via gm variables the value of quantity dropdowns.
//first get the number dropdowns
var numberselects=document.evaluate( "//select[@name='number']", document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
//if we have any then for each check for gm variable and set that number selected.
//also set up listener to record the number upon it being used.

if(numberselects.snapshotLength>0){//we have some

//alert("we have: "+numberselects.snapshotLength+" selects to process");;
    //recall and set value
    var numberselectslength=numberselects.snapshotLength;
    for (i=0;i<numberselectslength;i++ ){//for each dropdown
//alert("we are processing select: "+i);
        var numberselect=numberselects.snapshotItem(i);
        //var formbutton=document.evaluate( ".//input[@type='submit']", numberselect.form, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null).snapshotItem(0);
        //var formbutton=numberselect.parentNode.firstChild;
        var formbutton=numberselect.form.getElementsByTagName('input')[0]//first input is button to press
        
        var numbervalue=GM_getValue('GMNumberSelect'+formbutton.value,-1);
//alert("recalled:"+numbervalue);
        var keeper=0;
        var testnum;    
        if (numbervalue>-1){//we have a stored value. lets try and select it.
            //first set value to first index!
            numberselect.selectedIndex=0;
            var len=numberselect.length;
            for (j=0;j<len;j++ ){//need 'j's here as nested for
                testnum=numberselect[j].value;
                if (testnum==numbervalue){
                    keeper=j;
                    break;//stop looking
                }
            }
            numberselect.selectedIndex=keeper;
        }
        //setup event for storing the value
        //setup event
        formbutton.addEventListener("click",storenumber,false);
//alert("Setup a listener");
    }
}