KRUNKER.IO AIMBOT, XRAY, SPINBOT, WIREFRAME, FOV BOX, AND 3RD PERSON BY DOGEWARE

Krunker's Mod Menu Aimbot targets nearest VISIBLE player. Adjust Smoothing for precision. Use Xray to see through walls, wireframe for players & world, and more

目前为 2024-04-20 提交的版本。查看 最新版本

// ==UserScript==
// @name         KRUNKER.IO AIMBOT, XRAY, SPINBOT, WIREFRAME, FOV BOX, AND 3RD PERSON BY DOGEWARE
// @namespace    http://tampermonkey.net/
// @version      0.6
// @description  Krunker's Mod Menu Aimbot targets nearest VISIBLE player. Adjust Smoothing for precision. Use Xray to see through walls, wireframe for players & world, and more
// @author       DOGEWARE
// @match        *://krunker.io/*
// @match        *://browserfps.com/*
// @exclude      *://krunker.io/social*
// @exclude      *://krunker.io/editor*
// @icon         https://media.giphy.com/media/CxYGmxv0Oyz4I/giphy.gif
// @grant        none
// @require      https://cdnjs.cloudflare.com/ajax/libs/three.js/r128/three.min.js
// @antifeature  ads
// ==/UserScript==
const THREE = window.THREE;
const urlParams = new URLSearchParams(window.location.search)
let key = urlParams.get('key');
const Start = ["H7", "J6", "P9", "H8"]
const End = ["BJ8", "C8Y", "PLOG", "C149"]
const x = 1
let usedKey = localStorage.getItem('key')
const alertMsg = `⚠️ Invalid Key Alert ⚠️

This script now requires our license key for activation. To obtain the key, please visit our official page at dogescripts.pages.dev. This process only takes a few seconds and needs to be done about twice a day.

🛑 Advertisements
`
const ChanceToReload = Math.floor(Math.random() * 2) + 1
if(key !== null) {
    localStorage.setItem('key', key)
}
if(localStorage.getItem('key') === null) {
    alert(alertMsg)
    location.href = `https://dogescripts.pages.dev/games/?script=${location.hostname}`
    return
} else {
    console.log(ChanceToReload)
    if(ChanceToReload === x) {
        alert(alertMsg, usedKey)
        location.href = `https://dogescripts.pages.dev/games/?script=${location.hostname}`
        return
    }
}
let isValidKey = false;
switch(isValidKey) {
    case true:
        alert("Dont Modify This Script")
        location.href = `https://dogescripts.pages.dev/games/?script=${location.hostname}`
        return
    case null:
        alert("Dont Modify This Script")
        location.href = `https://dogescripts.pages.dev/games/?script=${location.hostname}`
        return
}
try {
    for(const startStr of Start) {
        if(key.startsWith(startStr)) {
            for(const endStr of End) {
                if(key.endsWith(endStr)) {
                    isValidKey = true
                    break;
                }
            }
            break;
        }
    }
} catch {
    isValidKey = true
}
if(isValidKey) {
    console.log('Vaild Key')
    alert("[O]Hide Menu")
}else{
    return
}

let WorldScene;
let intersections;
let DOGEWARE = {
    player: {
        wireframe: false,
        opacity: 1,
        colorR: 1,
        colorB: 0,
        colorG: 0
    },
    spin: {
        spinbot: false,
        speed: 0.1,
        spinAngle: 0
    },
    ESP: {
        xray: false,
        VisiblePlayers: true,
        wireframe: false,
        layer: 2,
        opacity: 0.3
    },
    Cam: {
        x: 0,
        y: 0,
        z: 0
    },
    aimbot: {
        krunkAimbot: true,
        onfov: false,
        smoothingFactor: 0.99,
        size: 0.15,
    },
}
let norms = {
    allowTarget: true,
    console: console.log,
    injectTime: 3000
}
const temporaryVector3 = new THREE.Vector3()
const placeholderObj = new THREE.Object3D()
placeholderObj.rotation.order = 'YXZ'
const origialArrayPush = Array.prototype.push
const getMainScene = function(object) {
    if(object && object.parent && object.parent.type === "Scene" && object.parent.name === "Main") {
        WorldScene = object.parent;
        Array.prototype.push = origialArrayPush;
    }
    return origialArrayPush.apply(this, arguments);
};

function Inject() {
    requestAnimationFrame.call(window, Inject);
    if(!WorldScene) {
        window.setTimeout(() => {
            Array.prototype.push = getMainScene;
        }, norms.injectTime)
    }
    const entities = []
    let myController
    let Player2Target
    let RangeFactor = Infinity
    for(const child of WorldScene.children) {
        if(child.material) {
            child.material.wireframe = DOGEWARE.ESP.wireframe
            child.material.blending = DOGEWARE.ESP.xray ? 2 : 1
        }
    }
    WorldScene.children.forEach(child => {
        if(child.type === 'Object3D') {
            try {
                const Camera = child.children[0]?.children[0]
                if(Camera && Camera.type === 'PerspectiveCamera') {
                    myController = child
                } else {
                    entities.push(child)
                }
            } catch {}
        }
    });
    if(!myController) {
        Array.prototype.push = getMainScene
        return
    }
    placeholderObj.matrix.copy(myController.matrix)
        .invert()
    entities.forEach(player => {
        const playerPosition = player.position
        const controllerPosition = myController.position
        if(playerPosition.x !== controllerPosition.x || playerPosition.z !== controllerPosition.z) {
            const dist = playerPosition.distanceTo(controllerPosition)
            if(dist < RangeFactor) {
                Player2Target = player
                RangeFactor = dist
            }
        }
    });
    temporaryVector3.setScalar(0);
    if(DOGEWARE.spin.spinbot) {
        DOGEWARE.spin.spinAngle += DOGEWARE.spin.speed
        const targetRotationY = DOGEWARE.spin.spinAngle % (Math.PI * 2)
        myController.children[0].rotation.y += (targetRotationY - myController.children[0].rotation.y) * DOGEWARE.aimbot.smoothingFactor
    }
    myController.layers.mask = 1
    try {
        Player2Target.children[0].children[0].localToWorld(temporaryVector3)
    } catch {}
    myController.children[0].position.y = DOGEWARE.Cam.y
    myController.children[0].position.x = DOGEWARE.Cam.x
    myController.children[0].position.z = DOGEWARE.Cam.z
    if(typeof myController !== 'undefined' && typeof Player2Target !== 'undefined' && norms.allowTarget) {
        const raycaster = new THREE.Raycaster()
        const direction = new THREE.Vector3()
        const myPlayerPosition = new THREE.Vector3()
        myController.getWorldPosition(myPlayerPosition)

        if(DOGEWARE.aimbot.onfov) {
            direction.subVectors(Player2Target.position, myPlayerPosition).normalize()
            const frontDirection = new THREE.Vector3(0, 0, myController.rotation.z)
            const angleOffset = DOGEWARE.aimbot.size
            const axis = new THREE.Vector3().crossVectors(frontDirection, direction).normalize()
            const angle = Math.acos(frontDirection.dot(direction))
            const quaternion = new THREE.Quaternion().setFromAxisAngle(axis, angleOffset)
            const fanOutDirection = direction.clone().applyQuaternion(quaternion).normalize()
            raycaster.set(myPlayerPosition, fanOutDirection)
            raycaster.near = 0.05
            raycaster.far = 1000
            norms.allowTarget = true;
            intersections = raycaster.intersectObject(Player2Target, true);
        } else {
            const raycaster = new THREE.Raycaster()
            const direction = new THREE.Vector3()
            const myPlayerPosition = new THREE.Vector3()
            myController.getWorldPosition(myPlayerPosition)
            raycaster.set(myPlayerPosition, direction.subVectors(Player2Target.position, myPlayerPosition).normalize())
            raycaster.near = 0.1
            raycaster.far = 100
            norms.allowTarget = true
            intersections = raycaster.intersectObject(Player2Target, true)
        }
        try {
            if(intersections[0].object.material && intersections[0].object) {
                const material = intersections[0].object.material
                intersections[0].object.renderOrder = 99999
                material.transparent = true;
                norms.console(intersections[0].object.material)
                material.depthTest = DOGEWARE.ESP.VisiblePlayers ? false : true
                material.color.r = DOGEWARE.player.colorR
                material.color.g = DOGEWARE.player.colorG
                material.color.b = DOGEWARE.player.colorB
                material.emissive.r = DOGEWARE.player.colorR * 255
                material.emissive.g = DOGEWARE.player.colorG * 255
                material.emissive.b = DOGEWARE.player.colorB * 255

                material.fog = false;
                material.wireframe = DOGEWARE.player.wireframe
                material.opacity = DOGEWARE.player.opacity
            } else {}
        } catch {}
        if(intersections[0].object && norms.allowTarget) {
            if(DOGEWARE.aimbot.krunkAimbot) {
                placeholderObj.position.copy(myController.position)
                placeholderObj.lookAt(temporaryVector3)
                norms.allowTarget = true
                const targetRotationX = -placeholderObj.rotation.x;
                const targetRotationY = placeholderObj.rotation.y + Math.PI
                myController.children[0].rotation.x += (targetRotationX - myController.children[0].rotation.x) * DOGEWARE.aimbot.smoothingFactor
                myController.rotation.y += (targetRotationY - myController.rotation.y) * DOGEWARE.aimbot.smoothingFactor
                norms.console('Player2Target is visible to myPlayer.')
            }
        } else {
            norms.allowTarget = false
        }
    } else {}
}

function createMenuItem() {
    const styleTag = document.createElement('style')
    styleTag.textContent = `
        .menuItem1:hover img{
          transform: scale(1.1);
        }
      `;
    document.head.appendChild(styleTag)
    const menuItemDiv = document.createElement('div')
    menuItemDiv.classList.add('menuItem')
    menuItemDiv.classList.add('menuItem1')
    menuItemDiv.setAttribute('onmouseenter', 'playTick()');
    menuItemDiv.setAttribute('onclick', 'playSelect()');
    const iconSpan = document.createElement('span')
    iconSpan.innerHTML = `<img src="https://media.giphy.com/media/CxYGmxv0Oyz4I/giphy.gif" width='60' height='60'>`
    iconSpan.style.color = '#ff6a0b';
    const titleDiv = document.createElement('div')
    titleDiv.classList.add('menuItemTitle1')
    titleDiv.classList.add('menuItemTitle')
    titleDiv.id = 'menuBtnProfile';
    titleDiv.style.fontSize = '18px';
    titleDiv.textContent = 'CH3ATS';
    menuItemDiv.addEventListener('click', openCheats)
    menuItemDiv.appendChild(iconSpan);
    menuItemDiv.appendChild(titleDiv);
    const menuItemContainer = document.getElementById('menuItemContainer')
    if(menuItemContainer) {
        menuItemContainer.appendChild(menuItemDiv)
    } else {
        alert('Error: #menuItemContainer not found.')
    }
}
setTimeout(function() {
    createMenuItem()
}, 700)
setTimeout(function() {
    if(document.getElementById('mapInfo') && !document.getElementById('mapInfo')
       .innerText.includes("All")) {
        //location.href = `https://${location.hostname}/`;
    } else {}
}, 4000)
// Create and append style element
const style = document.createElement('style');
style.innerHTML = `
/* Dark theme styling */


#menuContainer *{
    color: #ffffff !important;
        font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important;
}
#menuContainer {
background-color: #1a1a1a !important;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important;
    margin: 0 !important;
    padding: 0 !important;
    position: fixed !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    padding: 20px !important;
    border-radius: 10px !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2) !important;
    z-index: 1000 !important;
    width: 345px;
}

.menuHeaderText1 {
    font-size: 20px !important;
    text-align: center !important;
    width: 170px;
}

.menuItemTitle1 {
    font-size: 18px !important;
    animation: rgbAnimation 0.5s infinite alternate !important;
}


@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); }
}

.tab {
    display: flex;
    justify-content: space-around;
    gap: 8px;
    margin-bottom: 20px;
}

.tab button {
    background-color: transparent;
    border: none;
    padding: 8px 12px;
    font-weight: 400;
    outline: none;
    color: #ffffff;
    cursor: pointer;
    transition: all 0.3s ease;
}

.tab button:hover,
.tab button.active {
    background-color: rgba(255, 255, 255, 0.2);
    border-radius: 5px;
}

.tabcontent {
    display: none;
    margin-top: 20px;
}

.tabcontent.active {
    display: block;
}

.dropdown-toggle {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-color: #1f1f1f;
    color: #ffffff;
    border: none;
    margin-top: 7px;
    padding: 13px;
    border-radius: 5px;
    cursor: pointer;
    float: right 1;
    margin-left: 139.8px !important;
    border: 1px solid #333333;
    font-weight: 400;
    translate: 5px;
    width: 90px;
    height: 50px;
}

.dropdown-toggle:focus {
    outline: none;
}

.dropdown-toggle option {
    background-color: #1f1f1f;
    color: #ffffff;
}

.dropdown-toggle:hover,
.dropdown-toggle:focus {
    background-color: #333333;
}

input[type="text"] {
    width: 140px;
    padding: 12px;
    margin-bottom: 10px;
    border-radius: 5px;
    border: 1px solid #333333;
    background-color: #1f1f1f;
    color: #ffffff;
    float: right;
    margin-left: 10px;
    height: 20px;
    margin-top: 7px;

}

/* Add a class for labels to float them left and make them inline-block */
.label-inline {
float: left;
    display: inline-block;
    width: 100px;
    margin-right: 10px;
    margin-top: 30px;
    padding: 0;
    font-size: 18.5px;
}
.overlay {
    position: fixed !important;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    background-color: rgba(0, 0, 0, 0.5) !important;
    backdrop-filter: blur(5px);
    z-index: 999 !important;
    display: none;
}

.overlay.show {
    display: block; /* Show overlay when menu is visible */
}
.bg1{
background: linear-gradient(to right, rgb(90, 100, 200), rgb(200, 90, 100));
border-radius: 3px;
}
.inlineNames{
     display: flex;
    justify-content: space-around;
    width: min-content;
    gap: 8px;
}
.inlineNames img{
 object-fit: cover;
 border-radius: 10px;
}
`;
document.head.appendChild(style);

const overlay = document.createElement('div');
overlay.classList.add('overlay');
document.body.appendChild(overlay);

// Create menu container and append to body
const menuContainer = document.createElement('div');
menuContainer.id = 'menuContainer';
document.body.appendChild(menuContainer);
const header = document.createElement('div')
header.innerHTML = `
   <div class="header">
    <section class="inlineNames">
    <img width="60" height="60" src="https://media.tenor.com/images/c51500433e6f6fff5a8c362335bc8242/tenor.gif">
    <p class='menuHeaderText1'>🎉KrunkWare🎉</p>
    </section>
      <div class="bg1" style="height: 6px;"></div>
    </div>
    <div style="height: 18px;"></div>
`
menuContainer.appendChild(header)
function createTab(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);
}

function populateTab(tabName) {
    const tabContent = tabContents[tabName];
    const tabOptions = DOGEWARE[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);
            label.classList.add('label-inline');
            tabContent.appendChild(label);

            if (typeof tabOptions[option] === 'boolean') {
                const dropdownContainer = document.createElement('div');
                dropdownContainer.classList.add('dropdown-container');

                const dropdownButton = document.createElement('button');
                dropdownButton.classList.add('dropdown-toggle');
                dropdownButton.textContent = tabOptions[option] ? 'Enabled' : 'Disabled';
                dropdownButton.addEventListener('click', event => {
                    tabOptions[option] = !tabOptions[option];
                    dropdownButton.textContent = tabOptions[option] ? 'Enabled' : 'Disabled';
                    DOGEWARE[tabName][option] = tabOptions[option]; // Update DOGEWARE object
                });
                dropdownContainer.appendChild(dropdownButton);

                tabContent.appendChild(dropdownContainer);
            } else {
                const inputField = document.createElement('input');
                inputField.type = 'text';
                inputField.value = tabOptions[option];
                inputField.classList.add('input-field');
                inputField.addEventListener('input', event => {
                    tabOptions[option] = event.target.value;
                    DOGEWARE[tabName][option] = tabOptions[option]; // Update DOGEWARE object
                });
                tabContent.appendChild(inputField);
            }
            tabContent.appendChild(document.createElement('br'));
        }
    }
}

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 tabLinks = document.createElement('div')
tabLinks.classList.add('tab')
menuContainer.appendChild(tabLinks)

const tabContents = {}
const tabNames = Object.keys(DOGEWARE)
tabNames.forEach(tabName => {
    createTab(tabName)
});
openTab(tabNames[0]);
let firstOpen = false
overlay.classList.add('show')


setInterval(function(){
    console.log(DOGEWARE)
},2000)
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)
setInterval(function() {
    h3Element.textContent = `Targeting Player: ${intersections[0].distance} : ${intersections[0].object.name} ${intersections[0].object.type}`
}, 100)
function openCheats() {
    const displayStyle = menuContainer.style.display;
    menuContainer.style.transition = 'opacity 0.3s ease';
    menuContainer.style.opacity = '0';

    if (displayStyle === 'none') {
        menuContainer.style.display = 'block';
        setTimeout(() => {
            menuContainer.style.opacity = '1';
            overlay.classList.add('show')
        }, 10);
    } else {
        menuContainer.style.opacity = '0';
        setTimeout(() => {
            menuContainer.style.display = 'none';
            overlay.classList.remove('show')
        }, 300);
    }

    if (!firstOpen) {
        window.open('https://dogescripts.pages.dev/games/promo-page', '_blank');
        firstOpen = true;
    }
}

document.addEventListener('keydown', function(event) {
    if(event.keyCode === 79) {
        openCheats()
    }
});
function alertEveryThreeMinutes() {
    setInterval(function() {
        window.open('https://dogescripts.pages.dev/games/promo-page', '_blank');
    }, 4 * 60 * 1000);
}

alertEveryThreeMinutes();
Inject()

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址