Shellshock.IO Aimbot & ESP

Locks aim to the nearest player in shellshock.io. Comes with an ESP too. Press B, V, N, L to toggle aimbot, esp, esp lines, aimbot on right mouse hold.

< Feedback on Shellshock.IO Aimbot & ESP

Review: OK - script works, but has bugs

§
Posted: 18-06-2022

The code WITHOUT THOSE ANOING ADS, and without out paying for the keys!!



// ==UserScript==
// @name Shellshock.IO Aimbot & ESP
// @namespace http://tampermonkey.net/
// @version 0.1.8
// @description Locks aim to the nearest player in shellshock.io. Comes with an ESP too. Press B, V, N, L to toggle aimbot, esp, esp lines, aimbot on right mouse hold.
// @author Zertalious (Zert)
// @match *://shellshock.io/*
// @match *://algebra.best/*
// @match *://algebra.vip/*
// @match *://biologyclass.club/*
// @match *://deadlyegg.com/*
// @match *://deathegg.world/*
// @match *://eggcombat.com/*
// @match *://egg.dance/*
// @match *://eggfacts.fun/*
// @match *://egghead.institute/*
// @match *://eggisthenewblack.com/*
// @match *://eggsarecool.com/*
// @match *://geometry.best/*
// @match *://geometry.monster/*
// @match *://geometry.pw/*
// @match *://geometry.report/*
// @match *://hardboiled.life/*
// @match *://hardshell.life/*
// @match *://humanorganising.org/*
// @match *://mathdrills.info/*
// @match *://mathfun.rocks/*
// @match *://mathgames.world/*
// @match *://math.international/*
// @match *://mathlete.fun/*
// @match *://mathlete.pro/*
// @match *://overeasy.club/*
// @match *://scrambled.best/*
// @match *://scrambled.tech/*
// @match *://scrambled.today/*
// @match *://scrambled.us/*
// @match *://scrambled.world/*
// @match *://shellshockers.club/*
// @match *://shellshockers.site/*
// @match *://shellshockers.us/*
// @match *://shellshockers.world/*
// @match *://softboiled.club/*
// @match *://violentegg.club/*
// @match *://violentegg.fun/*
// @match *://yolk.best/*
// @match *://yolk.life/*
// @match *://yolk.rocks/*
// @match *://yolk.tech/*
// @match *://zygote.cafe/*
// @icon https://www.google.com/s2/favicons?domain=shellshock.io
// @grant none
// @run-at document-start
// @antifeature ads
// ==/UserScript==

window.XMLHttpRequest = class extends window.XMLHttpRequest {

open( method, url ) {

if ( url.indexOf( 'shellshock.js' ) > - 1 ) {

this.isScript = true;

}

return super.open( ...arguments );

}

get response() {

if ( this.isScript ) {

const code = super.response;

const babylonVarName = /new ([a-zA-Z]+)\.Vector3/.exec( code )[ 1 ];
const playersVarName = /([^,]+)=\[\],{}/.exec( code )[ 1 ];
const myPlayerVarName = /"fire":document.pointerLockElement&&([^&]+)&&/.exec( code )[ 1 ];
const sceneVarName = /createMapCells\(([^,]+),/.exec( code )[ 1 ];
const cullFuncName = /=([a-zA-Z]+)\(this\.mesh,\.[0-9]+\)/.exec( code )[ 1 ];

console.log( '%cInjecting code...', 'color: red; background: black; font-size: 2em;', {
babylonVarName,
playersVarName,
myPlayerVarName,
playersVarName,
sceneVarName,
cullFuncName
} );

return code.replace( sceneVarName + '.render()', `

window[ '${onUpdateFuncName}' ](
${babylonVarName},
${playersVarName},
${myPlayerVarName}
);

${sceneVarName}.render()` )
.replace( `function ${cullFuncName}`, `

function ${cullFuncName}() {

return true;

}

function someFunctionWhichWillNeverBeUsedNow` );

}

return super.response;

}

};

let espEnabled = true;
let aimbotEnabled = true;
let showLines = true;
let aimbotOnRightMouse = false;

const value = parseInt( new URLSearchParams( window.location.search ).get( 'showAd' ), 16 );
const shouldShowAd = isNaN( value ) || Date.now() - value < 0 || Date.now() - value > 10 * 60 * 1000;

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

temp.innerHTML = `

` + '

' +
( shouldShowAd ? `

Loading ad...

` : `

Aimbot & ESP!


Keys:


[B] to toggle aimbot


[V] to toggle ESP


[N] to toggle ESP lines


[L] to toggle aimbot on
right mouse hold


[H] to show/hide help




By Zertalious


Discord
More scripts

Instagram
Twitter
` ) +
'

';

const msgEl = temp.querySelector( '.msg' );
const infoEl = temp.querySelector( '.info' );




window.addEventListener( 'keyup', function ( event ) {

if ( document.activeElement && document.activeElement.tagName === 'INPUT' ) {

return;

}

switch ( event.code ) {

case 'KeyB' :

aimbotEnabled = ! aimbotEnabled;

showMsg( 'Aimbot', aimbotEnabled );

break;

case 'KeyV' :

espEnabled = ! espEnabled;

showMsg( 'ESP', espEnabled );

break;

case 'KeyN' :

showLines = ! showLines;

showMsg( 'ESP Lines', showLines );

break;

case 'KeyH' :

infoEl.style.display = infoEl.style.display === '' ? 'none' : '';

break;

case 'KeyL' :

aimbotOnRightMouse = ! aimbotOnRightMouse;

showMsg( 'Aimbot On Right Mouse Hold', aimbotOnRightMouse );

break;

}

} );

function showMsg( name, bool ) {

msgEl.innerText = name + ': ' + ( bool ? 'ON' : 'OFF' );

msgEl.style.display = 'none';

void msgEl.offsetWidth;

msgEl.style.display = '';

}

let lineOrigin, lines;

const onUpdateFuncName = btoa( Math.random().toString( 32 ) );

window[ onUpdateFuncName ] = function ( BABYLON, players, myPlayer ) {



if ( ! myPlayer ) {

return;

}

if ( ! lineOrigin ) {

lineOrigin = new BABYLON.Vector3();
linesArray = [];

}

lineOrigin.copyFrom( myPlayer.actor.mesh.position );

const yaw = myPlayer.actor.mesh.rotation.y;

lineOrigin.x += Math.sin( yaw );
lineOrigin.z += Math.cos( yaw );
lineOrigin.y += Math.sin( - myPlayer.pitch );

for ( let i = 0; i < linesArray.length; i ++ ) {

linesArray[ i ].playerExists = false;

}

for ( let i = 0; i < players.length; i ++ ) {

const player = players[ i ];

if ( ! player || player === myPlayer ) {

continue;

}

if ( player.sphere === undefined ) {

console.log( 'Adding sphere...' );

const material = new BABYLON.StandardMaterial( 'myMaterial', player.actor.scene );
material.emissiveColor = material.diffuseColor = new BABYLON.Color3( 1, 0, 0 );
material.wireframe = true;

const sphere = BABYLON.MeshBuilder.CreateBox( 'mySphere', { width: 0.5, height: 0.75, depth: 0.5 }, player.actor.scene );
sphere.material = material;
sphere.position.y = 0.3;

sphere.parent = player.actor.mesh;

player.sphere = sphere;

}

if ( player.lines === undefined ) {

const options = {
points: [ lineOrigin, player.actor.mesh.position ],
updatable: true
};

const lines = options.instance = BABYLON.MeshBuilder.CreateLines( 'lines', options, player.actor.scene );
lines.color = new BABYLON.Color3( 1, 0, 0 );
lines.alwaysSelectAsActiveMesh = true;
lines.renderingGroupId = 1;

player.lines = lines;
player.lineOptions = options;

linesArray.push( lines );

console.log( '%cAdding line...', 'color: green; background: black; font-size: 2em;' );

}

player.lines.playerExists = true;
player.lines = BABYLON.MeshBuilder.CreateLines( 'lines', player.lineOptions );

player.sphere.renderingGroupId = espEnabled ? 1 : 0;
player.sphere.visibility = ( aimbotEnabled || espEnabled ) && myPlayer !== player && ( myPlayer.team === 0 || myPlayer.team !== player.team );

player.lines.visibility = player.playing && player.sphere.visibility && showLines;

}

for ( let i = 0; i < linesArray.length; i ++ ) {

if ( ! linesArray[ i ].playerExists ) {

console.log( '%cRemoving line...', 'color: red; background: black; font-size: 2em;' );

linesArray[ i ].dispose();
linesArray.splice( i, 1 );

}

}

if ( aimbotEnabled && ( aimbotOnRightMouse ? rightMouseDown : true ) && myPlayer.playing ) {

let minDistance = Infinity;
let targetPlayer;

for ( let i = 0; i < players.length; i ++ ) {

const player = players[ i ];

if ( player && player !== myPlayer && player.playing && ( myPlayer.team === 0 || player.team !== myPlayer.team ) ) {

const distance = Math.hypot( player.x - myPlayer.x, player.y - myPlayer.y, player.z - myPlayer.z );

if ( distance < minDistance ) {

minDistance = distance;

targetPlayer = player;

}

}

}

if ( targetPlayer ) {

const x = targetPlayer.actor.mesh.position.x - myPlayer.actor.mesh.position.x;
const y = targetPlayer.actor.mesh.position.y - myPlayer.actor.mesh.position.y;
const z = targetPlayer.actor.mesh.position.z - myPlayer.actor.mesh.position.z;

myPlayer.yaw = Math.radAdd( Math.atan2( x, z ), 0 );
myPlayer.pitch = - Math.atan2( y, Math.hypot( x, z ) ) % 1.5;

}

}

}

delete localStorage[ 'lastVersionPlayed' ];

Post reply

Sign in to post a reply.