Greasy Fork 还支持 简体中文。

Light Rising Remember Number of Items

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

  1. // ==UserScript==
  2. // @name Light Rising Remember Number of Items
  3. // @namespace http://userscripts.org/users/125692
  4. // @description AutoSelects value used for number of items for Give/Drop/Take actions
  5. // @include *lightrising.com*game.cgi
  6. // @grant GM_getValue
  7. // @grant GM_setValue
  8. // @version 1
  9. // ==/UserScript==
  10.  
  11.  
  12. //event fuction to be fire upon clicking a button in a form with a number select for storing that number in GMvariable
  13. var storenumber=function(e) {
  14. //alert("running");
  15. var parentform=e.target.form;
  16. var dropdowns=parentform.getElementsByTagName('select');
  17. var dropdownwewant=dropdowns[0];
  18. GM_setValue('GMNumberSelect'+e.target.value,dropdownwewant[dropdownwewant.selectedIndex].value)
  19. }
  20.  
  21.  
  22. //TWEAK
  23. //remember via gm variables the value of quantity dropdowns.
  24. //first get the number dropdowns
  25. var numberselects=document.evaluate( "//select[@name='number']", document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
  26. //if we have any then for each check for gm variable and set that number selected.
  27. //also set up listener to record the number upon it being used.
  28.  
  29. if(numberselects.snapshotLength>0){//we have some
  30.  
  31. //alert("we have: "+numberselects.snapshotLength+" selects to process");;
  32. //recall and set value
  33. var numberselectslength=numberselects.snapshotLength;
  34. for (i=0;i<numberselectslength;i++ ){//for each dropdown
  35. //alert("we are processing select: "+i);
  36. var numberselect=numberselects.snapshotItem(i);
  37. //var formbutton=document.evaluate( ".//input[@type='submit']", numberselect.form, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null).snapshotItem(0);
  38. //var formbutton=numberselect.parentNode.firstChild;
  39. var formbutton=numberselect.form.getElementsByTagName('input')[0]//first input is button to press
  40. var numbervalue=GM_getValue('GMNumberSelect'+formbutton.value,-1);
  41. //alert("recalled:"+numbervalue);
  42. var keeper=0;
  43. var testnum;
  44. if (numbervalue>-1){//we have a stored value. lets try and select it.
  45. //first set value to first index!
  46. numberselect.selectedIndex=0;
  47. var len=numberselect.length;
  48. for (j=0;j<len;j++ ){//need 'j's here as nested for
  49. testnum=numberselect[j].value;
  50. if (testnum==numbervalue){
  51. keeper=j;
  52. break;//stop looking
  53. }
  54. }
  55. numberselect.selectedIndex=keeper;
  56. }
  57. //setup event for storing the value
  58. //setup event
  59. formbutton.addEventListener("click",storenumber,false);
  60. //alert("Setup a listener");
  61. }
  62. }