Access storage on inventory and yard screen

Add storage inventory to market screen

  1. // ==UserScript==
  2. // @name Access storage on inventory and yard screen
  3. // @namespace http://tampermonkey.net/
  4. // @version 2025-05-08
  5. // @description Add storage inventory to market screen
  6. // @author Disk217
  7. // @match *://fairview.deadfrontier.com/onlinezombiemmo/index.php?page=24
  8. // @match *://fairview.deadfrontier.com/onlinezombiemmo/index.php?page=25
  9. // @require https://update.greasyfork.org/scripts/441829/1573182/Dead%20Frontier%20-%20API.js
  10. // @icon https://www.google.com/s2/favicons?sz=64&domain=deadfrontier.com
  11. // @license MIT
  12. // @grant none
  13. // @noframes
  14. // ==/UserScript==
  15.  
  16. (function() {
  17. 'use strict';
  18.  
  19. function openPage(url) {
  20. // Create an iframe element
  21. const iframe = document.createElement('iframe');
  22.  
  23. // Append the iframe to the document body
  24. document.body.appendChild(iframe);
  25.  
  26. // Load the URL into the iframe
  27. iframe.src = url;
  28.  
  29. return iframe;
  30. }
  31.  
  32. function isTextNode(node) {
  33. return node.nodeType === Node.TEXT_NODE;
  34. }
  35.  
  36. function isElementNode(node) {
  37. return node && node.nodeType === Node.ELEMENT_NODE;
  38. }
  39.  
  40. function hideExcept(doc, id){
  41. var el = doc.getElementById(id)
  42. var node, nodes = [];
  43.  
  44. do {
  45. var parent = el.parentNode;
  46.  
  47. // Collect element children
  48. for (var i=0; i<parent.childNodes.length; i++) {
  49. node = parent.childNodes[i];
  50.  
  51. // Collect only sibling nodes and not the current element
  52. if (node != el) {
  53. nodes.push(node);
  54. }
  55. }
  56.  
  57. // Go up to parent
  58. el = parent;
  59.  
  60. // Stop when processed the body's child nodes
  61. } while (el.tagName.toLowerCase() != 'body');
  62.  
  63. // Hide the collected nodes
  64. nodes.forEach(function(node) {
  65. if (isTextNode(node)) {
  66. node.remove()
  67. }
  68. else if (isElementNode(node)) {
  69. node.style.display = 'none'
  70. }
  71. });
  72. }
  73.  
  74. const storageWindow = openPage('https://fairview.deadfrontier.com/onlinezombiemmo/index.php?page=50')
  75.  
  76. storageWindow.style.width = "675px"
  77.  
  78. storageWindow.style.height = "100px"
  79.  
  80. storageWindow.style.position = 'absolute'
  81.  
  82. storageWindow.style.top = '830px'
  83.  
  84. storageWindow.style.right = '510px'
  85.  
  86. storageWindow.addEventListener('load', function() {
  87. // Code to execute after the iframe has loaded
  88. console.log('iframe has loaded!');
  89. hideExcept(storageWindow.contentDocument, "inventoryholder")
  90.  
  91. storageWindow.contentWindow.scrollTo(170,420)
  92.  
  93. storageWindow.contentDocument.getElementById("inventoryholder").addEventListener('contextmenu', function(event) {
  94. event.preventDefault()
  95. storageWindow.contentWindow.reloadInventoryData()
  96. })
  97. });
  98.  
  99. const UiUpdate = DeadFrontier.UiUpdate;
  100.  
  101. const player_items = new DeadFrontier.PlayerItems();
  102.  
  103. const inventory_holder = document.getElementById("inventoryholder");
  104.  
  105. const refresh_button = makeRefreshButton();
  106. refresh_button.addEventListener("click", function(e) {
  107. refresh()
  108. });
  109. inventory_holder.appendChild(refresh_button);
  110.  
  111. function refresh() {
  112. return reloadInventoryData()
  113. }
  114.  
  115. function makeRefreshButton() {
  116. const button = document.createElement("button");
  117. button.innerHTML = "Refresh";
  118. button.style.setProperty("position", "absolute");
  119. button.style.setProperty("font-size", "15px");
  120. button.style.setProperty("text-align", "right");
  121. button.style.setProperty("left", "450px");
  122. button.style.setProperty("top", "15px");
  123. return button;
  124. }
  125.  
  126. document.getElementById("inventoryholder").addEventListener('contextmenu', function(event) {
  127. event.preventDefault()
  128. refresh()
  129. })
  130.  
  131.  
  132.  
  133.  
  134. })();