// ==UserScript==
// @name KRUNKER.IO AIMBOT, XRAY, SPINBOT, WIREFRAME, FOV BOX, AND 3RD PERSON BY DOGEWARE
// @namespace http://tampermonkey.net/
// @version 1.0
// @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://unpkg.com/three@0.150.0/build/three.min.js
// @antifeature ads
// @downloadURL none
// ==/UserScript==
const THREE = window.THREE;
function showPopup(message) {
var popupContainer = document.createElement('div')
popupContainer.style.position = 'fixed'
popupContainer.style.top = '0'
popupContainer.style.left = '0'
popupContainer.style.width = '100%'
popupContainer.style.backgroundColor = '#333'
popupContainer.style.color = '#fff'
popupContainer.style.padding = '10px'
popupContainer.style.textAlign = 'center'
popupContainer.style.zIndex = '9999'
var textElement = document.createElement('div')
textElement.textContent = message
textElement.style.fontSize = '18px'
textElement.style.color = '#fff'
textElement.style.fontFamily = '"Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif';
var buttonContainer = document.createElement('div');
buttonContainer.style.display = 'inline-block';
var button1 = document.createElement('button');
button1.textContent = 'Get 24 Hour Key';
button1.style.padding = '5px 10px';
button1.style.backgroundColor = '#ff6600';
button1.style.border = 'none';
button1.style.borderRadius = '5px';
button1.style.color = '#fff';
button1.style.cursor = 'pointer';
button1.style.fontFamily = '"Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif';
buttonContainer.appendChild(button1);
button1.addEventListener('click', function() {
window.open("https://dogescripts.pages.dev/script/key-unlock?script4key=krunker.io&reviewscript=491124-krunker-io-aimbot-xray-spinbot-wireframe-fov-box-and-3rd-person-by-dogeware");
});
var closeButton = document.createElement('button');
closeButton.textContent = 'Close';
closeButton.style.padding = '5px 10px';
closeButton.style.backgroundColor = '#ff6600';
closeButton.style.border = 'none';
closeButton.style.borderRadius = '5px';
closeButton.style.color = '#fff';
closeButton.style.cursor = 'pointer';
closeButton.style.marginLeft = '10px';
closeButton.style.fontFamily = '"Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif';
closeButton.addEventListener('click', function() {
document.body.removeChild(popupContainer);
});
popupContainer.appendChild(textElement);
popupContainer.appendChild(buttonContainer);
popupContainer.appendChild(closeButton);
document.body.appendChild(popupContainer);
}
const urlParams = new URLSearchParams(window.location.search)
var currentDate = new Date()
let key = urlParams.get('key');
let jogmoky = urlParams.get('paid_key')
const Start = ["H7", "J6", "P9", "H8"]
const End = ["BJ8", "C8Y", "PLOG", "C149"]
const day = currentDate.getDate()
let usedKey = localStorage.getItem('key')
const alertMsg = `
๐ Time to Power Up! ๐
Attention! ๐ฃ Access to this script now requires our exclusive license key for activation. ๐ก๏ธ Secure yours now by visiting our official page at dogescripts.pages.dev. It's quick and easy, taking just a few seconds. Remember, this process needs to be completed Every Reload Unless You Get the 24 Hour Key For Free to keep things running smoothly. Let's level up together! ๐ช
๐ซท Ads OnClick (Popunder) If You Get Redirected Please Close Page๐
`
let isValidKey = false
if(jogmoky && jogmoky.endsWith("DONT_SHARE_WITH_ANYONE") && !key){
localStorage.setItem("key4_date", day)
localStorage.setItem("paid_key", jogmoky)
isValidKey = true
alert("Vaild Paid ")
}
if(localStorage.getItem("key4_date") && parseInt(localStorage.getItem("key4_date")) === day){
isValidKey = true
alert("AD Removed: Key Tomorrow")
}else{
isValidKey = false
localStorage.removeItem("paid_key")
localStorage.removeItem("key4_date")
alert("Paid Key Has Expired:(")
location.href = `https://dogescripts.pages.dev/games/?script=${location.hostname}`
return
}
if(key){
for(const startStr of Start) {
if(key.startsWith(startStr)) {
for(const endStr of End) {
if(key.endsWith(endStr)) {
isValidKey = true
break;
}
}
break;
}
}
}else if(!localStorage.getItem("key4_date") && !key){
alert(alertMsg)
location.href = `https://dogescripts.pages.dev/games/?script=${location.hostname}`
return
}
if(isValidKey) {
showPopup(`Remove ADS On this ${location.hostname} Script For 24 Hours For Free!`);
urlParams.delete("key")
urlParams.delete("paid_key")
history.replaceState(null, null, "/" + urlParams.toString())
console.log('Vaild Key')
}else{
return
}
let WorldScene;
let intersections;
let DOGEWARE = {
player: {
wireframe: true,
opacity: 1,
charmsColor: "#000000"
},
spin: {
spinbot: false,
speed: 0.1,
spinAngle: 0
},
ESP: {
BoxESP: true,
Charms: true,
wireframe: false,
layer: 2,
opacity: 0.3
},
Cam: {
x: 0,
y: 0,
z: 0
},
aimbot: {
krunkAimbot: true,
smoothingFactor: 0.6,
AimOffset: 0.6,
far: 100000,
},
}
let norms = {
allowTarget: true,
console: console.log,
injectTime: 3000
}
const origialArrayPush = Array.prototype.push
const getMainScene = function(object) {
if(object && object.parent && object.parent.type === "Scene" && object.parent.name === "Main") {
WorldScene = object.parent;
norms.console(WorldScene)
Array.prototype.push = origialArrayPush;
}
return origialArrayPush.apply(this, arguments);
};
const ESPMatrix = new THREE.EdgesGeometry(new THREE.BoxGeometry( 5, 13, 0.02 ).translate(0,5,0));
const ESPMaterial = new THREE.RawShaderMaterial({
vertexShader: `
attribute vec3 position;
uniform mat4 projectionMatrix;
uniform mat4 modelViewMatrix;
void main() {
vec4 pos = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
pos.z = 0.9999;
gl_Position = pos;
}
`,
fragmentShader: `
void main() {
gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0);
}
`,
depthTest: false,
depthWrite: false,
transparent: true
});
function HBO() {
requestAnimationFrame.call(window, HBO);
if(!WorldScene) {
window.setTimeout(() => {
Array.prototype.push = getMainScene;
}, norms.injectTime)
}
const entities = []
let myController
let PlayerTarget
let RangeFactor = Infinity
WorldScene.children.forEach(child => {
if(child.material)child.material.wireframe = DOGEWARE.ESP.wireframe
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
}
function DoSpin(){
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
}
entities.forEach(player => {
try{
if(player.children[0].children[4].children[0].name === "head"){
const charmsColor = new THREE.Color(DOGEWARE.player.charmsColor);
const material = player.children[0].children[0].material
material.transparent = true
material.fog = false;
material.color.copy(charmsColor);
material.emissive.copy(charmsColor);
material.depthTest = DOGEWARE.ESP.Charms ? false : true;
material.depthWrite = false
material.wireframe = DOGEWARE.player.wireframe;
material.opacity = DOGEWARE.player.opacity;
const vertex = new THREE.LineSegments(ESPMatrix, ESPMaterial)
if (!player.vertex) player.add(vertex)
vertex.frustumCulled = false
player.vertex = vertex;
player.vertex.visible = DOGEWARE.ESP.BoxESP
const { x: playerX, z: playerZ } = player.position;
const { x: controllerX, z: controllerZ } = myController.position;
if (playerX !== controllerX || playerZ !== controllerZ) {
const dist = player.position.distanceTo(myController.position)
if(dist < RangeFactor) {
PlayerTarget = player
RangeFactor = dist
}
}
}
}catch(e){}
});
if(DOGEWARE.spin.spinbot)DoSpin()
const Vector = new THREE.Vector3()
const HoldObject = new THREE.Object3D()
HoldObject.rotation.order = 'YXZ'
HoldObject.matrix.copy(myController.matrix).invert()
myController.children[0].position.set(DOGEWARE.Cam.x,DOGEWARE.Cam.y,DOGEWARE.Cam.z)
if( myController !== undefined && PlayerTarget !== undefined) {
if(DOGEWARE.aimbot.krunkAimbot){
try{
const dist = PlayerTarget.position.distanceTo(myController.position)
Vector.setScalar(0)
PlayerTarget.children[0].children[4].children[0].localToWorld(Vector)
HoldObject.position.copy(myController.position)
HoldObject.lookAt(Vector.x, Vector.y, Vector.z)
const targetRotationX = -HoldObject.rotation.x + DOGEWARE.aimbot.AimOffset / dist * 5
const targetRotationY = HoldObject.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
}catch{}
}
} 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 = ``
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)
let Update;
fetch('https://raw.githubusercontent.com/SigmaMaleSnow/UpdateLogKrunker/main/Update.txt')
.then(response => {
if (response.ok) {
return response.text();
} else {
throw new Error('Failed to fetch data');
}
})
.then(data => {
Update = data;
console.log('Fetched data:', Update);
})
.catch(error => {
console.error('Error:', error);
});
const style = document.createElement('style');
style.innerHTML = `
/* Dark theme styling */
#menuContainer *{
color: #ffffff !important;
font-family: monospace !important;
letter-spacing: -0.5px;
}
#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);
const notification = document.createElement('div');
notification.innerHTML = `
${Update}