Selling Button

A button in "Key Items" to just keep a choosen amount of all ores! :)

  1. // ==UserScript==
  2. // @name Selling Button
  3. // @namespace http://tampermonkey.net/
  4. // @version 0.2.3
  5. // @description A button in "Key Items" to just keep a choosen amount of all ores! :)
  6. // @author Lasse98brus
  7. // @match http://dh2.diamondhunt.co/DH1/game.php
  8. // @grant none
  9. // ==/UserScript==
  10.  
  11. console.log("Selling Button by Lasse Brustad is running!");
  12.  
  13. var val,
  14. amount,
  15. stuff = [
  16. {
  17. item : 'stone',
  18. keep : 1e9 // 1b
  19. },
  20. {
  21. item : 'copper',
  22. keep : 100e6 // 100m
  23. },
  24. {
  25. item : 'tin',
  26. keep : 100e6 // 100m
  27. },
  28. {
  29. item : 'iron',
  30. keep : 80e6 // 80m
  31. },
  32. {
  33. item : 'silver',
  34. keep : 60e6 // 60m
  35. },
  36. {
  37. item : 'gold',
  38. keep : 50e6 // 50m
  39. },
  40. {
  41. item : 'quartz',
  42. keep : 30e6 // 30m
  43. },
  44. {
  45. item : 'flint',
  46. keep : 20e6 // 20m
  47. },
  48. {
  49. item : 'marble',
  50. keep : 10e6 // 10m
  51. },
  52. {
  53. item : 'titanium',
  54. keep : 5e6 // 5m
  55. },
  56. {
  57. item : 'promethium',
  58. keep : 500e3 // 500k
  59. },
  60. {
  61. item : 'runite',
  62. keep : 5e3 // 5k
  63. }
  64. ];
  65.  
  66. function sellOre() {
  67. var logger = "Selling Button! here is the results:";
  68. var dialogue = "You sold some: ";
  69. var once = false;
  70. // An allways up-to-date array to check your resources before selling anything
  71. val = [stone,copper,tin,iron,silver,gold,quartz,flint,marble,titanium,promethium,runite];
  72.  
  73. // The statements
  74. i = 0;
  75. while(i < stuff.length) {
  76. if(val[i] > stuff[i].keep) {
  77. amount = val[i] - stuff[i].keep;
  78. sell(stuff[i].item, amount);
  79. logger = logger + "\n" + amount + " of " + stuff[i].item + " is sold!";
  80. if(once) {
  81. dialogue = dialogue + ", " + stuff[i].item;
  82. } else {
  83. dialogue = dialogue + stuff[i].item;
  84. once = true;
  85. }
  86. }
  87. i++;
  88. }
  89.  
  90. if(!once) dialogue = 'You didn\'t sell anything';
  91. dialogue = dialogue + "!";
  92. console.log(logger); // Detailed selling info
  93. openDialogue('Sell Button Used!', dialogue); // Only what ores you sold
  94. }
  95.  
  96. addSellOresButton();
  97. function addSellOresButton() {
  98. var keyItemTabNode = document.getElementById("key-items-tab");
  99. if (keyItemTabNode) {
  100. var GhostNode = keyItemTabNode.querySelector("[tooltip='Click to see what items you have collected.']");
  101. if (GhostNode) {
  102. var newNode = GhostNode.cloneNode(true);
  103. newNode.setAttribute("tooltip", "Click me to sell ores!");
  104. newNode.childNodes[0].id = "key-item-sellores-button";
  105. newNode.childNodes[0].onclick = "";
  106. newNode.childNodes[0].addEventListener("click", function() {
  107. sellOre();
  108. });
  109. var boxTitleNode = newNode.childNodes[0].querySelector(".item-box-title");
  110. var boxImageNode = newNode.querySelector("[src]");
  111. boxTitleNode.innerHTML = "Sell Ores";
  112. boxImageNode.src = "images/icons/donor-icon.gif";
  113. newNode.childNodes[0].innerHTML = newNode.childNodes[0].innerHTML.replace("Click to Read", "");
  114. keyItemTabNode.appendChild(newNode);
  115. }
  116. }
  117. }