Nuked Ware V2.0

Best Level Medium Free Cheat for 1v1.lol with advanced features

作者のサイトでサポートを受ける。または、このスクリプトの質問や評価の投稿はこちら通報はこちらへお寄せください。
// ==UserScript==
// @license MIT
// @name         Nuked Ware V2.0
// @namespace    http://tampermonkey.net/
// @version      2.0
// @description  Best Level Medium Free Cheat for 1v1.lol with advanced features
// @author       Nuked Rust
// @match        *://1v1.lol/*
// @icon         data:image/png;base64,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
// @grant        none
// @run-at       document-start
// @antifeature  ads
// @supportURL   https://nkeac.zya.me/nukedcheats/
// ==/UserScript==

// Aimbot configuration
const searchSize = 75;
const threshold = 3.8;
const aimbotSpeed = 0.25;

// Feature toggles
let aimbotEnabled = false;
let espEnabled = false;
let wireframeEnabled = false;

const WebGL = WebGL2RenderingContext.prototype;

// Enable drawing buffer preservation (required for pixel reading in aimbot)
HTMLCanvasElement.prototype.getContext = new Proxy(HTMLCanvasElement.prototype.getContext, {
  apply(target, thisArgs, args) {
    if (args[1]) {
      args[1].preserveDrawingBuffer = true;
    }
    return Reflect.apply(...arguments);
  }
});

// ESP and Aimbot: Modify shaders to implement wall hacks
WebGL.shaderSource = new Proxy(WebGL.shaderSource, {
  apply(target, thisArgs, args) {
    if (args[1].indexOf('gl_Position') > -1) {
      args[1] = args[1].replace('void main', `
        out float vDepth;
        uniform bool enabled;
        uniform float threshold;
        void main
      `).replace(/return;/, `
        vDepth = gl_Position.z;
        if (enabled && vDepth > threshold) {
          gl_Position.z = 1.0;
        }
      `);
    } else if (args[1].indexOf('SV_Target0') > -1) {
      args[1] = args[1].replace('void main', `
        in float vDepth;
        uniform bool enabled;
        uniform float threshold;
        void main
      `).replace(/return;/, `
        if (enabled && vDepth > threshold) {
          SV_Target0 = vec4(1.0, 0.0, 0.0, 1.0);
        }
      `);
    }
    return Reflect.apply(...arguments);
  }
});

// Helper function for shader uniforms
WebGL.getUniformLocation = new Proxy(WebGL.getUniformLocation, {
  apply(target, thisArgs, [program, name]) {
    const result = Reflect.apply(...arguments);
    if (result) {
      result.name = name;
      result.program = program;
    }
    return result;
  }
});

// Identify UI elements to prevent wireframe from affecting them
WebGL.uniform4fv = new Proxy(WebGL.uniform4fv, {
  apply(target, thisArgs, args) {
    if (args[0].name === 'hlslcc_mtx4x4unity_ObjectToWorld') {
      args[0].program.isUIProgram = true;
    }
    return Reflect.apply(...arguments);
  }
});

// Aimbot variables
let movementX = 0, movementY = 0;
let count = 0;

// Main game rendering proxy: implements ESP, Aimbot, and Wireframe
WebGL.drawElements = new Proxy(WebGL.drawElements, {
  apply(target, thisArgs, args) {
    const program = thisArgs.getParameter(thisArgs.CURRENT_PROGRAM);
    if (!program.uniforms) {
      program.uniforms = {
        enabled: thisArgs.getUniformLocation(program, 'enabled'),
        threshold: thisArgs.getUniformLocation(program, 'threshold')
      };
    }
    const couldBePlayer = args[1] > 4000;

    // ESP and Aimbot: Enable shader modifications
    thisArgs.uniform1i(program.uniforms.enabled, (espEnabled || aimbotEnabled) && couldBePlayer);
    thisArgs.uniform1f(program.uniforms.threshold, threshold);

    // Wireframe: Change rendering mode to lines
    args[0] = wireframeEnabled && !program.isUIProgram && args[1] > 6 ? thisArgs.LINES : args[0];
    Reflect.apply(...arguments);

    // Aimbot: Detect and calculate aim adjustments
    if (aimbotEnabled && couldBePlayer) {
      const width = Math.min(searchSize, thisArgs.canvas.width);
      const height = Math.min(searchSize, thisArgs.canvas.height);
      const pixels = new Uint8Array(width * height * 4);
      const centerX = thisArgs.canvas.width / 2;
      const centerY = thisArgs.canvas.height / 2;
      const x = Math.floor(centerX - width / 2);
      const y = Math.floor(centerY - height / 2);
      thisArgs.readPixels(x, y, width, height, thisArgs.RGBA, thisArgs.UNSIGNED_BYTE, pixels);
      for (let i = 0; i < pixels.length; i += 4) {
        if (pixels[i] === 255 && pixels[i + 1] === 0 && pixels[i + 2] === 0 && pixels[i + 3] === 255) {
          const idx = i / 4;
          const dx = idx % width;
          const dy = (idx - dx) / width;
          movementX += (x + dx - centerX);
          movementY += -(y + dy - centerY);
          count++;
        }
      }
    }
  }
});

// Aimbot: Apply calculated aim adjustments
window.requestAnimationFrame = new Proxy(window.requestAnimationFrame, {
  apply(target, thisArgs, args) {
    args[0] = new Proxy(args[0], {
      apply() {
        const isPlaying = document.querySelector('canvas').style.cursor === 'none';
        rangeEl.style.display = isPlaying && aimbotEnabled ? '' : 'none';
        if (count > 0 && isPlaying) {
          const f = aimbotSpeed / count;
          movementX *= f;
          movementY *= f;
          window.dispatchEvent(new MouseEvent('mousemove', { movementX, movementY }));
          rangeEl.classList.add('range-active');
        } else {
          rangeEl.classList.remove('range-active');
        }
        movementX = 0;
        movementY = 0;
        count = 0;
        return Reflect.apply(...arguments);
      }
    });
    return Reflect.apply(...arguments);
  }
});

const styles = `
:root { --radius: 0; }
@font-face {
  font-family: 'Russo One';
  font-style: normal;
  font-weight: 400;
  src: url(https://fonts.gstatic.com/s/russoone/v14/Z9XUDmZRWg6M1LvRYsHOz8mJ.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
.dialog {
  position: absolute;
  left: 50%;
  top: 50%;
  padding: 20px;
  background: rgba(131, 100, 226, 0.9);
  color: #fff;
  transform: translate(-50%, -50%);
  text-align: center;
  z-index: 999999;
  font-family: 'Russo One', sans-serif;
  border-radius: 10px;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
}
.dialog-header {
  padding: 10px;
  cursor: move;
  background: rgba(0, 0, 0, 0.2);
  border-radius: 10px 10px 0 0;
}
.close {
  position: absolute;
  right: 5px;
  top: 5px;
  width: 20px;
  height: 20px;
  opacity: 0.5;
  cursor: pointer;
}
.close:before, .close:after {
  content: ' ';
  position: absolute;
  left: 50%;
  top: 50%;
  width: 100%;
  height: 20%;
  transform: translate(-50%, -50%) rotate(-45deg);
  background: #fff;
}
.close:after {
  transform: translate(-50%, -50%) rotate(45deg);
}
.close:hover {
  opacity: 1;
}
.btn {
  cursor: pointer;
  padding: 0.7em;
  background: rgba(255, 255, 255, 0.1);
  border: 2px solid rgba(255, 255, 255, 0.2);
  margin: 10px;
  text-align: center;
  border-radius: 5px;
  transition: all 0.3s ease;
}
.btn:hover {
  background: rgba(255, 255, 255, 0.2);
  transform: scale(1.05);
}
.btn:active {
  transform: scale(0.95);
}
.msg {
  position: absolute;
  left: 10px;
  bottom: 10px;
  background: rgba(30, 41, 74, 0.8);
  color: #fff;
  font-family: 'Russo One', sans-serif;
  font-weight: bolder;
  padding: 15px;
  animation: msg 0.5s forwards, msg 0.5s reverse forwards 3s;
  z-index: 999999;
  pointer-events: none;
  border-radius: 5px;
}
@keyframes msg {
  from { transform: translate(-120%, 0); }
  to { transform: none; }
}
.range {
  position: absolute;
  left: 50%;
  top: 50%;
  width: ${searchSize}px;
  height: ${searchSize}px;
  max-width: 100%;
  max-height: 100%;
  border-radius: 50%;
  border: 1px solid white;
  transform: translate(-50%, -50%);
}
.range-active {
  border: 2px solid #45ff99;
  box-shadow: 0 0 50px 15px rgba(69, 255, 153, 0.5);
}
.toggle-btn {
  display: inline-block;
  margin: 5px;
  padding: 5px 10px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 15px;
  cursor: pointer;
}
.toggle-btn.active {
  background: rgba(0, 255, 0, 0.3);
}
`;

const menuHTML = `
<div class="dialog" id="cheatMenu">
  <div class="dialog-header">Nuked Ware 1v1.lol</div>
  <div class="close" onclick="this.parentNode.style.display='none';"></div>
  <div class="celemenu">
    <div class="toggle-btn" id="aimbotToggle">Aimbot: OFF</div>
    <div class="toggle-btn" id="espToggle">ESP: OFF</div>
    <div class="toggle-btn" id="wireframeToggle">Wireframe: ON</div>
    <br><br>
    <small>[H] to show/hide menu</small>
    <br><br>
    <div style="display: grid; grid-template-columns: 1fr 1fr; grid-gap: 5px;">
      <div class="btn" onclick="window.open('', '_blank')">Discord</div>
      <div class="btn" onclick="window.open('', '_blank')">Latest video</div>
    </div>
  </div>
</div>
<div class="msg" style="display: none;"></div>
<div class="range" style="display: none;"></div>
`;

let isDragging = false;
let dragOffsetX, dragOffsetY;

function nukedDraggable(element) {
  const header = element.querySelector('.dialog-header');

  header.addEventListener('mousedown', (e) => {
    isDragging = true;
    dragOffsetX = e.clientX - element.offsetLeft;
    dragOffsetY = e.clientY - element.offsetTop;
  });

  document.addEventListener('mousemove', (e) => {
    if (isDragging) {
      element.style.left = (e.clientX - dragOffsetX) + 'px';
      element.style.top = (e.clientY - dragOffsetY) + 'px';
    }
  });

  document.addEventListener('mouseup', () => {
    isDragging = false;
  });
}

window.addEventListener('DOMContentLoaded', function () {
  document.body.insertAdjacentHTML('beforeend', menuHTML);
  const styleElement = document.createElement('style');
  styleElement.textContent = styles;
  document.head.appendChild(styleElement);

  const cheatMenu = document.getElementById('cheatMenu');
  nukedDraggable(cheatMenu);

  const msgEl = document.querySelector('.msg');
  const rangeEl = document.querySelector('.range');
  const aimbotToggle = document.getElementById('aimbotToggle');
  const espToggle = document.getElementById('espToggle');
  const wireframeToggle = document.getElementById('wireframeToggle');

  aimbotToggle.addEventListener('click', () => nukedFeature('Aimbot', aimbotToggle));
  espToggle.addEventListener('click', () => nukedFeature('ESP', espToggle));
  wireframeToggle.addEventListener('click', () => nukedFeature('Wireframe', wireframeToggle));

  // Initialize toggle states
  updateToggleState(wireframeToggle, wireframeEnabled);
});

function nukedFeature(feature, element) {
  switch (feature) {
    case 'Aimbot':
      aimbotEnabled = !aimbotEnabled;
      break;
    case 'ESP':
      espEnabled = !espEnabled;
      break;
    case 'Wireframe':
      wireframeEnabled = !wireframeEnabled;
      break;
  }
  updateToggleState(element, feature === 'Aimbot' ? aimbotEnabled : (feature === 'ESP' ? espEnabled : wireframeEnabled));
  nukedsMsg(feature, feature === 'Aimbot' ? aimbotEnabled : (feature === 'ESP' ? espEnabled : wireframeEnabled));
}

function updateToggleState(element, state) {
  element.textContent = `${element.textContent.split(':')[0]}: ${state ? 'ON' : 'OFF'}`;
  element.classList.toggle('active', state);
}

function nukedsMsg(name, bool) {
  const msgEl = document.querySelector('.msg');
  msgEl.innerText = name + ': ' + (bool ? 'ON' : 'OFF');
  msgEl.style.display = 'none';
  void msgEl.offsetWidth;
  msgEl.style.display = '';
}

window.addEventListener('keyup', function (event) {
  const key = event.key.toUpperCase();
  switch (key) {
    case 'M':
      nukedFeature('ESP', document.getElementById('espToggle'));
      break;
    case 'N':
      nukedFeature('Wireframe', document.getElementById('wireframeToggle'));
      break;
    case 'T':
      nukedFeature('Aimbot', document.getElementById('aimbotToggle'));
      break;
    case 'H':
      const cheatMenu = document.getElementById('cheatMenu');
      cheatMenu.style.display = cheatMenu.style.display === 'none' ? 'block' : 'none';
      break;
  }
});