您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Fed up of a popular script injecting ads into your game? Need a simple script to modify or use? FOSS ESP and Aimbot. Hold right mouse button to aimlock.
当前为
// ==UserScript== // @name LibertyMutualV1 For Shell Shockers // @namespace https://github.com/onlypuppy7/LibertyMutualShellShockers/ // @license GPL-3.0 // @version 1.0.2 // @author onlypuppy7 // @description Fed up of a popular script injecting ads into your game? Need a simple script to modify or use? FOSS ESP and Aimbot. Hold right mouse button to aimlock. // @match https://shellshock.io/* // @grant none // @run-at document-start // @icon https://github.com/onlypuppy7/LibertyMutualShellShockers/blob/main/scripticon.jpg?raw=true // ==/UserScript== //Usage: Hold right mouse button to aimlock (function () { //Config: if you want to turn off esp, you can. //This script is more of a template than a functioning tool. If you're modifying this, you can add a GUI to start! const enableESP=true; //turn to false for off //Credit for script injection code: AI. ChatGPT prompt: "tampermonkey script. how can i make it grab a javascript file as it's loaded. if it detects the javascript file, make it apply modifications to it via regex? using XMLHttpRequest" //Credit for idea to use XMLHttpRequest: A3+++ const originalXHROpen = XMLHttpRequest.prototype.open; const originalXHRGetResponse = Object.getOwnPropertyDescriptor(XMLHttpRequest.prototype, 'response'); let shellshockjs XMLHttpRequest.prototype.open = function(...args) { const url = args[1]; if (url && url.includes("js/shellshock.js")) { shellshockjs = this; }; originalXHROpen.apply(this, args); }; Object.defineProperty(XMLHttpRequest.prototype, 'response', { get: function() { if (this===shellshockjs) { return applyLibertyMutual(originalXHRGetResponse.get.call(this)); }; return originalXHRGetResponse.get.call(this); } }); //VAR STUFF let F=[]; let functionNames=[]; let ESPArray=[]; let RMB=false; //Credit: AI. ChatGPT prompt: "make javascript tampermonkey code that sets a variable RMB to true while right mouse button is being held" document.addEventListener('mousedown', function(event) { if (event.button === 2) { RMB = true; } }); document.addEventListener('mouseup', function(event) { if (event.button === 2) { RMB = false; } }); //scrambled... geddit???? const getScrambled=function(){return Array.from({length: 10}, () => String.fromCharCode(97 + Math.floor(Math.random() * 26))).join('')} const createAnonFunction=function(name,func){ const funcName=getScrambled(); window[funcName]=func; F[name]=window[funcName]; functionNames[name]=funcName }; //Credit for idea to use regexes to dynamically create the injected script: helloworld (although it is not a new concept) const applyLibertyMutual = function(js) { const vars=[]; let injectionString=""; const getVar=function(name,regex){ const varName=eval(new RegExp(regex)+`.exec(js)[1]`); vars[name]=varName; injectionString=injectionString+name+": "+varName+","; console.log('%cFound var! Saved '+varName+' as '+name, 'color: green; font-weight: bold;'); }; const replace=function(oldThing,newThing){js=js.replace(oldThing,newThing)}; console.log('%cATTEMPTING TO START LIBERTYMUTUAL', 'color: magenta; font-weight: bold; font-size: 1.5em; text-decoration: underline;'); console.log('%cLIBERTYMUTUAL INJECTION STAGE 1: GATHER VARS', 'color: yellow; font-weight: bold; font-size: 1.2em; text-decoration: underline;'); //Credit for idea to gather vars: helloworld, PacyTense. Also common sense. getVar("PLAYERS","\\]\\.actor&&\\(([a-zA-Z]+)\\[") getVar("YOURPLAYER","&&([a-zA-Z]+)\\.grenadeCountdown<=0\\)this\\.cancelGrenade") getVar("BABYLONJS",";([a-zA-Z]+)\\.Effect\\.ShadersStore=") console.log('%cLIBERTYMUTUAL INJECTION STAGE 2: INJECT VAR RETRIEVAL FUNCTION AND MAIN LOOP', 'color: yellow; font-weight: bold; font-size: 1.2em; text-decoration: underline;'); let match=js.match(/\.engine\.runRenderLoop\(function\(\)\{([a-zA-Z]+)\(/); replace(`\.engine\.runRenderLoop\(function\(\)\{${match[1]}\(`,`.engine.runRenderLoop(function (){${match[1]}(),window["${functionNames.retrieveFunctions}"]({${injectionString}}`); console.log('%cSuccess! Variable retrieval and main loop hooked.', 'color: green; font-weight: bold;'); console.log('%cLIBERTYMUTUAL INJECTION STAGE 3: INJECT CULL INHIBITING FUNCTION', 'color: yellow; font-weight: bold; font-size: 1.2em; text-decoration: underline;'); js = js.replace(`if(${js.match(/playing&&!([a-zA-Z]+)&&/)[1]})`,`if(true)`); console.log('%cSuccess! Cull inhibition hooked.', 'color: green; font-weight: bold;'); replace("Not playing in iframe", "LIBERTYMUTUAL ACTIVE!"); return js; }; createAnonFunction("retrieveFunctions",function(vars) { ss=vars ; F.LIBERTYMUTUAL() }); createAnonFunction("LIBERTYMUTUAL",function() { let TARGETED; const timecode=Date.now(); let minValue=99999; ss.PLAYERS.forEach(PLAYER=>{ if (PLAYER) { PLAYER.timecode=timecode; //Partial credit for enemy player filtering: PacyTense. Also just common sense. if (((PLAYER!==ss.YOURPLAYER)&&(PLAYER.hp>0)&&((!ss.YOURPLAYER.team)||(PLAYER.team!==ss.YOURPLAYER.team)))) { //ESP CODE if ((!PLAYER.generatedESP)&&enableESP) { //Credit for box from lines code: AI. ChatGPT prompt: "how can i create a box out of lines in babylon.js?" //ESP BOXES const boxSize = {width: 0.4, height: 0.65, depth: 0.4}; const vertices = [ new ss.BABYLONJS.Vector3(-boxSize.width / 2, 0, -boxSize.depth / 2), new ss.BABYLONJS.Vector3(boxSize.width / 2, 0, -boxSize.depth / 2), new ss.BABYLONJS.Vector3(boxSize.width / 2, 0 + boxSize.height, -boxSize.depth / 2), new ss.BABYLONJS.Vector3(-boxSize.width / 2, 0 + boxSize.height, -boxSize.depth / 2), new ss.BABYLONJS.Vector3(-boxSize.width / 2, 0, boxSize.depth / 2), new ss.BABYLONJS.Vector3(boxSize.width / 2, 0, boxSize.depth / 2), new ss.BABYLONJS.Vector3(boxSize.width / 2, 0 + boxSize.height, boxSize.depth / 2), new ss.BABYLONJS.Vector3(-boxSize.width / 2, 0 + boxSize.height, boxSize.depth / 2), ]; const lines = []; for (let i = 0; i < 4; i++) { lines.push([vertices[i], vertices[(i + 1) % 4]]); lines.push([vertices[i + 4], vertices[(i + 1) % 4 + 4]]); lines.push([vertices[i], vertices[i + 4]]); }; const box = ss.BABYLONJS.MeshBuilder.CreateLineSystem('boxLines', { lines }, PLAYER.actor.scene); //ChatGPT prompt: "how can i make an object anchored to another object, change its color, and have it render on top of everything else? babylon.js" box.color = new ss.BABYLONJS.Color3(1, 0, 0); box.renderingGroupId = 1; box.parent=PLAYER.actor.mesh; PLAYER.box=box; //TODO: ESP TRACERS PLAYER.generatedESP=true; ESPArray.push([box,PLAYER]); }; //AIMBOT CODE //Credit: This section is mostly common sense, and could be made by most decent programmers. It is still worth mentioning PacyTense used a functionally equivalent thing similar to this this before me 4 years ago. const distance=ss.BABYLONJS.Vector3.Distance(ss.YOURPLAYER,PLAYER); if (distance<minValue) { TARGETED=PLAYER; minValue=distance; }; }; }; if (RMB&&TARGETED&&TARGETED.playing) { //3D maths const directionVector={ x: TARGETED.x-ss.YOURPLAYER.x, y: TARGETED.y-ss.YOURPLAYER.y, z: TARGETED.z-ss.YOURPLAYER.z, }; ss.YOURPLAYER.yaw=F.calculateYaw(directionVector); ss.YOURPLAYER.pitch=F.calculatePitch(directionVector); }; }); for ( let i=0;i<ESPArray.length;i++) { if (ESPArray[i][1] && ESPArray[i][1].timecode==timecode) { //still exists } else { //Credit for info: AI. ChatGPT prompt: "how can i delete an object in babylon.js?" ESPArray[i][0].dispose(); ESPArray.splice(i,1); }; }; }); createAnonFunction("setPrecision",function (value) { return Math.floor(value * 8192) / 8192 }); //required precision createAnonFunction("calculateYaw",function (pos) { return F.setPrecision(Math.mod(Math.atan2(pos.x,pos.z), Math.PI2)); }); createAnonFunction("calculatePitch",function (pos) { return F.setPrecision(-Math.atan2(pos.y,Math.hypot(pos.x,pos.z))%1.5); }); })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址