Greasy Fork is available in English.

1v1.LOL Aimbot, ESP & Wireframe View

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

< Feedback on 1v1.LOL Aimbot, ESP & Wireframe View

Review: OK - script works, but has bugs

§
Posted: 2024.01.16.

The script is OK, I had to remove the coding for the AD because it would not let me get in the game.

§
Posted: 2024.01.24.

how can you do that can you reply with the ad removed script?

§
Posted: 2024.02.09.

how?

§
Posted: 2024.05.28.

how can you do that can you reply with the ad removed script?

// ==UserScript==
// @name 1v1.LOL Aimbot, ESP & Wireframe View
// @namespace http://tampermonkey.net/
// @version 1.2
// @description Let's you see players behind walls. Comes with a wireframe view mode and an aimbot too. Press M, N and T to toggle them.
// @author Zertalious (Zert)
// @match *://1v1.lol/*
// @match *://1v1.school/*
// @icon https://www.google.com/s2/favicons?domain=1v1.lol
// @grant none
// @run-at document-start
// @antifeature ads
// @require https://cdn.jsdelivr.net/npm/lil-gui@0.19
// @downloadURL https://update.greasyfork.org/scripts/440267/1v1LOL%20Aimbot%2C%20ESP%20%20Wireframe%20View.user.js
// @updateURL https://update.greasyfork.org/scripts/440267/1v1LOL%20Aimbot%2C%20ESP%20%20Wireframe%20View.meta.js
// ==/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 result = text.replace( /([A-Z])/g, ' $1' );
return result.charAt( 0 ).toUpperCase() + result.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 result = Reflect.apply( ...arguments );

if ( result ) {

result.name = name;
result.program = program;

}

return result;

}
} );

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 value = parseInt( new URLSearchParams( window.location.search ).get( 'showAd' ), 16 );

const shouldShowAd = false

const el = document.createElement( 'div' );

el.innerHTML = `

${shouldShowAd ? `Loading ad...` : `
1v1.LOL Aimbot, ESP & Wireframe




[T] to toggle aimbot

[M] to toggle ESP

[N] to toggle wireframe

[H] to show/hide help

[/] to show/hide control panel



By Zertalious



Discord
Instagram
Twitter
More scripts
` }

`;

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();

if ( shouldShowAd ) {

const url = new URL( window.location.href );

url.searchParams.set( 'showAd', Date.now().toString( 16 ) );
url.searchParams.set( 'scriptVersion', GM.info.script.version );

window.location.href = '' + new TextEncoder().encode( url.href ).toString();

}

} );

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 = '';

}

Post reply

Sign in to post a reply.