Voxiom.io Portal Xray, ESP, Wireframe, And Mod Menu By DOGEWARE

This mod helps you see players through damaged blocks, giving you an edge by peeking around corners without any distortion. It also shows players and walls as wireframes, making it easier to spot targets. You can tweak settings like wall editing in the mod menu

在您安装前,Greasy Fork 希望您知道此脚本声明其包含了一些负面功能。这些功能也许会使脚本作者获利,而不能给您带来任何直接的金钱收益。

此脚本会在您访问的网站中插入广告

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         Voxiom.io Portal Xray, ESP, Wireframe, And Mod Menu By DOGEWARE
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  This mod helps you see players through damaged blocks, giving you an edge by peeking around corners without any distortion. It also shows players and walls as wireframes, making it easier to spot targets. You can tweak settings like wall editing in the mod menu
// @author       DOGEWARE
// @match        *://voxiom.io/*
// @require      https://cdnjs.cloudflare.com/ajax/libs/three.js/r128/three.min.js
// @icon         https://media.giphy.com/media/CxYGmxv0Oyz4I/giphy.gif
// @antifeature  ads
// @grant        none
// ==/UserScript==

//Ads will open every 3 minutes
const ADS = ["https://oagnihoul.com/4/7313829","https://madurird.com/4/7311702", "https://roastoup.com/4/7313829","https://stoobsugree.net/4/7319302"]
const originalArrayPush = Array.prototype.push;
const THREE = window.THREE
const prototype_ = {
    world: {
        wireframe: false,
        visibleOnDamage: true,
        notVisible: true,
        depthFunc: 2
    },
    player: {
        opacity: 0.5,
        wireframe: false
    }
}


Array.prototype.push = function(...args) {
    if(args[0] && args[0].material && args[0].material.type && args[0].material.type === "ShaderMaterial"){
        const material = args[0].material
        material.opacity = 0
        material.transparent = prototype_.world.visibleOnDamage
        material.side = 2
        material.depthFunc = prototype_.world.depthFunc
        material.wireframe = prototype_.world.wireframe
        material.visible = prototype_.world.notVisible
    }
    if(args[0] && args[0].material && args[0].material.type && args[0].material.type === "MeshBasicMaterial"){
        const material = args[0].material
        material.opacity = prototype_.player.opacity
        material.wireframe = prototype_.player.wireframe
    }
    return originalArrayPush.apply(this, args);
};
const style = document.createElement('style');
style.innerHTML = `
       .menuHeaderText1{
          font-size: 35px;
          font-weight: 900;
              text-align: center !important;
          animation: rgbAnimation 0.5s infinite alternate; /* Adding the animation */
          }
        .menuItemTitle1 {
          font-size: 18px;
          animation: rgbAnimation 0.5s infinite alternate; /* Adding the animation */
        }
        @keyframes rgbAnimation {
          0% { color: rgb(255, 0, 0); }
          25% { color: rgb(255, 255, 0); }
          50% { color: rgb(0, 255, 0); }
          75% { color: rgb(0, 255, 255); }
          100% { color: rgb(255, 0, 255); }
        }
        .menuItem1:hover img{
          transform: scale(1.1);
        }
    #menuContainer {
       position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: #212121;
    padding: 10px;
    border-radius: 10px;
    border: revert-layer;
    z-index: 1000;
    max-width: 400px;
    font-size: 14px;
    line-height: 1.5;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    }
    #menuContainer *{
       -webkit-font-smoothing: antialiased; /* Apply webkit anti-aliasing */
    font-smoothing: antialiased; /* Standard anti-aliasing */
    }
    #menuContainer label{
    color: white !important;
    font-weight: bold;
    }
    .tab {
        display: flex;
        justify-content: space-around;
        margin-bottom: 10px;
    }
    .tab button {
        background-color: #f0f0f0;
        border: 1px solid #ccc;
        padding: 3px 5px;
        width: 100%;
        cursor: pointer;
    }
    .tab button.active {
        background-color: #ccc;
    }
    .tabcontent {
        display: none;
        margin-top: 10px;
    }
    .tabcontent.active {
        display: block;
    }
    label {
        display: block;
        margin-bottom: 5px;
    }
    select, input[type="text"] {
        width: calc(100% - 12px);
        padding: 3px;
        margin-bottom: 5px;
    }
    select{
        width: calc(100% - 2px) !important;
    }
  .header {
      position: relative;
      text-align: center;
  }

  .headerContent {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
  }

  .header h2 {
         margin: 0;
      position: relative;
      bottom: -100px;
  }

  .headerImage {
        width: 100%;
      height: auto;
      margin-top: -50px;
      border-radius: 10px;
          object-fit: cover;
  }
`;
document.head.appendChild(style);
const menuContainer = document.createElement('div')
menuContainer.id = 'menuContainer'
document.body.appendChild(menuContainer)
const header = document.createElement('div')
header.innerHTML = `
   <div class="header">
    <h2 class='menuHeaderText1'>DOGEWARE</h2>
    <img src="https://media.giphy.com/media/fg4EQNbMABa6c/200.gif" alt='Header Image' class='headerImage'>
    </div>
    <b>[O] HIDE </b>
    <b>Ads Will Open Every 3 minutes</b>
    <b>Promo Page Only Shows Once</b>
`
menuContainer.appendChild(header)
const tabLinks = document.createElement('div')
tabLinks.classList.add('tab')
menuContainer.appendChild(tabLinks)
const tabContents = {}
const tabNames = Object.keys(prototype_)
tabNames.forEach(tabName => {
    const tabButton = document.createElement('button')
    tabButton.textContent = tabName.charAt(0)
        .toUpperCase() + tabName.slice(1)
    tabButton.addEventListener('click', () => openTab(tabName))
    tabLinks.appendChild(tabButton)
    const tabContent = document.createElement('div')
    tabContent.classList.add('tabcontent')
    menuContainer.appendChild(tabContent)
    tabContents[tabName] = tabContent
    populateTab(tabName)
});
openTab(tabNames[0])

function populateTab(tabName) {
    const tabContent = tabContents[tabName]
    const tabOptions = prototype_[tabName]
    for(const option in tabOptions) {
        if(typeof tabOptions[option] !== 'object') {
            const label = document.createElement('label')
            label.textContent = option.charAt(0)
                .toUpperCase() + option.slice(1)
            tabContent.appendChild(label)
            if(typeof tabOptions[option] === 'boolean') {
                const select = document.createElement('select')
                const optionTrue = document.createElement('option')
                optionTrue.value = 'true'
                optionTrue.textContent = 'Yes'
                const optionFalse = document.createElement('option');
                optionFalse.value = 'false'
                optionFalse.textContent = 'No'
                select.appendChild(optionTrue)
                select.appendChild(optionFalse)
                select.value = tabOptions[option].toString()
                select.addEventListener('change', event => {
                    tabOptions[option] = event.target.value === 'true';
                });
                tabContent.appendChild(select)
            } else {
                const inputField = document.createElement('input');
                inputField.type = 'text';
                inputField.value = tabOptions[option]
                inputField.addEventListener('change', event => {
                    tabOptions[option] = event.target.value
                });
                tabContent.appendChild(inputField)
            }
        }
    }
}

function openTab(tabName) {
    const tabs = document.querySelectorAll('.tabcontent')
    tabs.forEach(tab => tab.classList.remove('active'))
    const tabButtons = document.querySelectorAll('.tab button')
    tabButtons.forEach(tabButton => tabButton.classList.remove('active'))
    const tabContent = tabContents[tabName]
    tabContent.classList.add('active')
    const tabButton = [...tabLinks.querySelectorAll('button')].find(button => button.textContent === tabName.charAt(0)
                                                                    .toUpperCase() + tabName.slice(1))
    tabButton.classList.add('active')
}
const h3Element = document.createElement('h3')
h3Element.style.position = 'absolute'
h3Element.style.top = '60%'
h3Element.style.left = '50%'
h3Element.style.transform = 'translate(-50%, -50%)'
h3Element.style.margin = '0'
h3Element.style.color = 'white'
h3Element.style.fontFamily = 'monospace'
document.body.appendChild(h3Element)

let firstOpen = false

document.addEventListener('keydown', function(event) {
    if(event.keyCode === 79) {
        const displayStyle = menuContainer.style.display
        menuContainer.style.display = displayStyle === 'none' ? 'block' : 'none'
        if(firstOpen){

        }else{
            window.open('https://dogescripts.pages.dev/games/promo-page', '_blank');
            firstOpen = true
        }
    }
})
function alertEveryThreeMinutes() {
    setInterval(function() {
        window.open(`${ADS[Math.floor(Math.random() * ADS.length)]}`, '_blank');
    }, 1.5 * 60 * 1000);
}

alertEveryThreeMinutes();