Add storage inventory to market screen
// ==UserScript==
// @name Access storage on inventory and yard screen
// @namespace http://tampermonkey.net/
// @version 2025-05-08
// @description Add storage inventory to market screen
// @author Disk217
// @match *://fairview.deadfrontier.com/onlinezombiemmo/index.php?page=24
// @match *://fairview.deadfrontier.com/onlinezombiemmo/index.php?page=25
// @require https://update.greasyfork.org/scripts/441829/1573182/Dead%20Frontier%20-%20API.js
// @icon https://www.google.com/s2/favicons?sz=64&domain=deadfrontier.com
// @license MIT
// @grant none
// @noframes
// ==/UserScript==
(function() {
'use strict';
function openPage(url) {
// Create an iframe element
const iframe = document.createElement('iframe');
// Append the iframe to the document body
document.body.appendChild(iframe);
// Load the URL into the iframe
iframe.src = url;
return iframe;
}
function isTextNode(node) {
return node.nodeType === Node.TEXT_NODE;
}
function isElementNode(node) {
return node && node.nodeType === Node.ELEMENT_NODE;
}
function hideExcept(doc, id){
var el = doc.getElementById(id)
var node, nodes = [];
do {
var parent = el.parentNode;
// Collect element children
for (var i=0; i<parent.childNodes.length; i++) {
node = parent.childNodes[i];
// Collect only sibling nodes and not the current element
if (node != el) {
nodes.push(node);
}
}
// Go up to parent
el = parent;
// Stop when processed the body's child nodes
} while (el.tagName.toLowerCase() != 'body');
// Hide the collected nodes
nodes.forEach(function(node) {
if (isTextNode(node)) {
node.remove()
}
else if (isElementNode(node)) {
node.style.display = 'none'
}
});
}
const storageWindow = openPage('https://fairview.deadfrontier.com/onlinezombiemmo/index.php?page=50')
storageWindow.style.width = "675px"
storageWindow.style.height = "100px"
storageWindow.style.position = 'absolute'
storageWindow.style.top = '830px'
storageWindow.style.right = '510px'
storageWindow.addEventListener('load', function() {
// Code to execute after the iframe has loaded
console.log('iframe has loaded!');
hideExcept(storageWindow.contentDocument, "inventoryholder")
storageWindow.contentWindow.scrollTo(170,420)
storageWindow.contentDocument.getElementById("inventoryholder").addEventListener('contextmenu', function(event) {
event.preventDefault()
storageWindow.contentWindow.reloadInventoryData()
})
});
const UiUpdate = DeadFrontier.UiUpdate;
const player_items = new DeadFrontier.PlayerItems();
const inventory_holder = document.getElementById("inventoryholder");
const refresh_button = makeRefreshButton();
refresh_button.addEventListener("click", function(e) {
refresh()
});
inventory_holder.appendChild(refresh_button);
function refresh() {
return reloadInventoryData()
}
function makeRefreshButton() {
const button = document.createElement("button");
button.innerHTML = "Refresh";
button.style.setProperty("position", "absolute");
button.style.setProperty("font-size", "15px");
button.style.setProperty("text-align", "right");
button.style.setProperty("left", "450px");
button.style.setProperty("top", "15px");
return button;
}
document.getElementById("inventoryholder").addEventListener('contextmenu', function(event) {
event.preventDefault()
refresh()
})
})();