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希望您了解本腳本包含“負面功能”,可能幫助腳本的作者獲利,而不能給你帶來任何收益。

此腳本會在您造訪的網站插入廣告

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 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();