返回首頁 

1v1.LOL Aimbot, ESP & Wireframe View

Lets you see players behind walls. Comes with a wireframe view mode and an aimbot too. Press M, N, and T to toggle them.


Install this script?
// ==UserScript==// @name         1v1.LOL Aimbot, ESP & Wireframe View// @namespace    http://tampermonkey.net/// @version      1.2// @description  Lets you see players behind walls. Comes with a wireframe view mode and an aimbot too. Press M, N, and T to toggle them.// @author       maxence (Zert)// @match        *://1v1.lol/*// @match        *://1v1.school/*// @icon         https://www.google.com/s2/favicons?domain=1v1.lol// @grant        none// @run-at       document-start// @require      https://cdn.jsdelivr.net/npm/[email protected]// ==/UserScript==const isSchoolLink = window.location.hostname.indexOf('1v1.school') > -1;const searchSize = 300;const threshold = 4.5;const settings = {aimbot: false,aimbotSpeed: 0.15,esp: true,wireframe: true,createdBy: 'Zertalious',showHelp() {dialogEl.style.display = dialogEl.style.display === '' ? 'none' : '';}};let gui;function initGui() {gui = new lil.GUI();const controllers = {};for (const key in settings) {controllers[key] = gui.add(settings, key).name(fromCamel(key)).listen();}controllers.aimbotSpeed.min(0.05).max(0.5).step(0.01);controllers.createdBy.disable();}function fromCamel(text) {const r###lt = text.replace(/([A-Z])/g, ' $1');return r###lt.charAt(0).toUpperCase() + r###lt.slice(1);}const WebGL = WebGL2RenderingContext.prototype;HTMLCanvasElement.prototype.getContext = new Proxy(HTMLCanvasElement.prototype.getContext, {apply(target, thisArgs, args) {if (args[1]) {args[1].preserveDrawingBuffer = true;}return Reflect.apply(...arguments);}});WebGL.shaderSource = new Proxy(WebGL.shaderSource, {apply(target, thisArgs, args) {let [shader, src] = args;if (src.indexOf('gl_Position') > -1) {if (src.indexOf('OutlineEnabled') > -1) {shader.isPlayerShader = true;}src = src.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 (src.indexOf('SV_Target0') > -1) {src = src.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);}`);}args[1] = src;return Reflect.apply(...arguments);}});WebGL.attachShader = new Proxy(WebGL.attachShader, {apply(target, thisArgs, [program, shader]) {if (shader.isPlayerShader) program.isPlayerProgram = true;return Reflect.apply(...arguments);}});WebGL.getUniformLocation = new Proxy(WebGL.getUniformLocation, {apply(target, thisArgs, [program, name]) {const r###lt = Reflect.apply(...arguments);if (r###lt) {r###lt.name = name;r###lt.program = program;}return r###lt;}});WebGL.uniform4fv = new Proxy(WebGL.uniform4fv, {apply(target, thisArgs, [uniform]) {const name = uniform && uniform.name;if (name === 'hlslcc_mtx4x4unity_ObjectToWorld' ||name === 'hlslcc_mtx4x4unity_ObjectToWorld[0]') {uniform.program.isUIProgram = true;}return Reflect.apply(...arguments);}});let movementX = 0, movementY = 0;let count = 0;let gl;const handler = {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 = (isSchoolLink || program.isPlayerProgram) && args[1] > 3000;program.uniforms.enabled && thisArgs.uniform1i(program.uniforms.enabled, (settings.esp || settings.aimbot) && couldBePlayer);program.uniforms.threshold && thisArgs.uniform1f(program.uniforms.threshold, threshold);args[0] = settings.wireframe && !program.isUIProgram && args[1] > 6 ? thisArgs.LINES : args[0];if (couldBePlayer) {gl = thisArgs;}Reflect.apply(...arguments);}};WebGL.drawElements = new Proxy(WebGL.drawElements, handler);WebGL.drawElementsInstanced = new Proxy(WebGL.drawElementsInstanced, handler);window.requestAnimationFrame = new Proxy(window.requestAnimationFrame, {apply(target, thisArgs, args) {args[0] = new Proxy(args[0], {apply() {update();return Reflect.apply(...arguments);}});return Reflect.apply(...arguments);}});function update() {const isPlaying = document.querySelector('canvas').style.cursor === 'none';rangeEl.style.display = isPlaying && settings.aimbot ? '' : 'none';if (settings.aimbot && gl) {const width = Math.min(searchSize, gl.canvas.width);const height = Math.min(searchSize, gl.canvas.height);const pixels = new Uint8Array(width * height * 4);const centerX = gl.canvas.width / 2;const centerY = gl.canvas.height / 2;const x = Math.floor(centerX - width / 2);const y = Math.floor(centerY - height / 2);gl.readPixels(x, y, width, height, gl.RGBA, gl.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++;}}}if (count > 0 && isPlaying) {const f = settings.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;gl = null;}const el = document.createElement('div');el.innerHTML = `<style>.dialog {position: absolute;left: 50%;top: 50%;padding: 20px;background: #1e294a;color: #fff;transform: translate(-50%, -50%);text-align: center;z-index: 999999;font-family: cursive;}.dialog * {color: #fff;}.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.5em;background: red;border: 3px solid rgba(0, 0, 0, 0.2);}.btn:active {transform: scale(0.8);}.msg {position: absolute;left: 10px;top: 10px;background: #1e294a;color: #fff;font-family: cursive;font-weight: bolder;padding: 15px;animation: msg 0.5s forwards, msg 0.5s reverse forwards 3s;z-index: 999999;pointer-events: none;}@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: 1px solid white;transform: translate(-50%, -50%);}.range-active {border: 2px solid red;}</style><div class="dialog"><big>1v1.LOL Aimbot, ESP & Wireframe</big><br><br>[T] to toggle aimbot<br>[M] to toggle ESP<br>[N] to toggle wireframe<br>[H] to show/hide help<br>[/ ] to show/hide control panel<br><br>By Zertalious<br><br><div style="display: grid; grid-template-columns: 1fr 1fr; grid-gap: 5px;"><div class="btn" onclick="window.open('https://discord.gg/K24Zxy88VM', '_blank')">Discord</div><div class="btn" onclick="window.open('https://www.instagram.com/zertalious/', '_blank')">Instagram</div><div class="btn" onclick="window.open('https://twitter.com/Zertalious', '_blank')">Twitter</div><div class="btn" onclick="window.open('https://greasyfork.org/en/users/662330-zertalious', '_blank')">More scripts</div></div></div><div class="msg" style="display: none;"></div><div class="range" style="display: none;"></div>`;const msgEl = el.querySelector('.msg');const dialogEl = el.querySelector('.dialog');const rangeEl = el.querySelector('.range');window.addEventListener('DOMContentLoaded', function () {while (el.children.length > 0) {document.body.appendChild(el.children[0]);}initGui();});function toggleSetting(key) {settings[key] = !settings[key];showMsg(fromCamel(key), settings[key]);}const keyToSetting = {'KeyM': 'esp','KeyN': 'wireframe','KeyT': 'aimbot'};window.addEventListener('keyup', function (event) {if (document.activeElement && document.activeElement.value !== undefined) return;if (keyToSetting[event.code]) {toggleSetting(keyToSetting[event.code]);}switch (event.code) {case 'KeyH':settings.showHelp();break;case 'Slash':gui._hidden ? gui.show() : gui.hide();break;}});function showMsg(name, bool) {msgEl.innerText = name + ': ' + (bool ? 'ON' : 'OFF');msgEl.style.display = 'none';void msgEl.offsetWidth;msgEl.style.display = '';}