AutoSelects value used for number of items for Give/Drop/Take actions
// ==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");
}
}