Melvor Remove 8 Keybind

Prevents the 8 key from creating 8 items. Tested Melvor 22.1 (1209)

Terá de instalar uma extensão como Tampermonkey, Greasemonkey ou Violentmonkey para instalar este script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

Terá de instalar uma extensão como Tampermonkey ou Violentmonkey para instalar este script.

Terá de instalar uma extensão como Tampermonkey ou Userscripts para instalar este script.

Terá de instalar uma extensão como Tampermonkey para instalar este script.

Terá de instalar uma extensão de gestão de scripts de utilizador para instalar este script.

(Já tenho um gestor de scripts de utilizador, deixe-me instalá-lo!)

Terá de instalar uma extensão como Stylus para instalar este estilo.

Terá de instalar uma extensão como Stylus para instalar este estilo.

Terá de instalar uma extensão como Stylus para instalar este estilo.

Terá de instalar uma extensão de gestão de estilos de utilizador para instalar este estilo.

Terá de instalar uma extensão de gestão de estilos de utilizador para instalar este estilo.

Terá de instalar uma extensão de gestão de estilos de utilizador para instalar este estilo.

(Já tenho um gestor de estilos de utilizador, deixe-me instalá-lo!)

// ==UserScript==
// @name          Melvor Remove 8 Keybind
// @version       1.0
// @author        koolioolio
// @description   Prevents the 8 key from creating 8 items. Tested Melvor 22.1 (1209)
// @match         https://*.melvoridle.com/*
// @exclude-match https://wiki.melvoridle.com/*
// @noframes
// @grant         none
// @inject-into   page
// @run-at        document-idle
// @namespace https://greasyfork.org/users/808226
// ==/UserScript==
function removeEightKeybind() {
  var eventsToRemove = []; //first remove the document-wide keypress bind which does nothing but 8
  $._data(document, "events").keypress.forEach(function append(e){if (e.handler.toString().includes("(e.keyCode==56)")) eventsToRemove.push(e);});
  eventsToRemove.forEach(function remove(e){$(document).unbind("keypress", e.handler);});
  eventsToRemove = []; //then remove the searchTextbox keyup bind which has other purposes
  $._data($("#searchTextbox")[0], "events").keyup.forEach(function append(e){if (e.handler.toString().includes("if(!eightSeconds)")) eventsToRemove.push(e);});
  eventsToRemove.forEach(function remove(e){$($("#searchTextbox")[0]).unbind("keyup", e.handler);});
  //finally, re-add a copy of the keyup bind that has no 8 code so we don't break searching and wherearemylemons
  $("#searchTextbox").keyup(function(){let search=$("#searchTextbox").val();updateBankSearch(search);if(search==="wherearemylemons")addItemToBank(CONSTANTS.item.Lemon,1);});
}
var load = setInterval(function() {
  if (isLoaded) {
    clearInterval(load);
    removeEightKeybind();
  }
}, 300);