Light Rising Remember Number of Items

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

K instalaci tototo skriptu si budete muset nainstalovat rozšíření jako Tampermonkey, Greasemonkey nebo Violentmonkey.

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

K instalaci tohoto skriptu si budete muset nainstalovat rozšíření jako Tampermonkey nebo Violentmonkey.

K instalaci tohoto skriptu si budete muset nainstalovat rozšíření jako Tampermonkey nebo Userscripts.

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

K instalaci tohoto skriptu si budete muset nainstalovat manažer uživatelských skriptů.

(Už mám manažer uživatelských skriptů, nechte mě ho nainstalovat!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(Už mám manažer uživatelských stylů, nechte mě ho nainstalovat!)

// ==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");
    }
}