- Статус
- Оффлайн
- Регистрация
- 9 Май 2018
- Сообщения
- 518
- Реакции
- 68
Дорогие друзья!
Предоставляю Вам и Вашим близким, полнофункциональный аимбот для wizecheats
Способ "инжекта":
Предоставляю Вам и Вашим близким, полнофункциональный аимбот для wizecheats
Пожалуйста, авторизуйтесь для просмотра ссылки.
Код:
(()=>{
const CONFIG={scanInterval:50,clickDelay:120,targetColors:[{r:255,g:87,b:34},{r:255,g:255,b:255},{r:255,g:107,b:43}],colorTolerance:45,minBrightness:50,minTargetSize:15,maxTargetSize:40,maxTargetsPerFrame:3,jitterAmount:5,skipRecentRadius:30,skipRecentTime:500,debug:false,showOverlay:true};
const State={enabled:true,running:false,canvas:null,ctx:null,canvasRect:null,scanTimer:null,lastClickTime:0,lastClickPos:{x:-1000,y:-1000},totalHits:0,hitsThisFrame:0,totalFrames:0,overlay:null,debugInfo:{}};
function log(...args){console.log('%c[AimBot]','color:#FF5722;font-weight:bold;',...args);}
function debug(...args){if(CONFIG.debug)console.log('%c[Debug]','color:#4CAF50;',...args);}
function isTargetColor(r,g,b){const brightness=0.299*r+0.587*g+0.114*b;if(brightness<CONFIG.minBrightness)return false;for(const color of CONFIG.targetColors){if(Math.abs(r-color.r)<=CONFIG.colorTolerance&&Math.abs(g-color.g)<=CONFIG.colorTolerance&&Math.abs(b-color.b)<=CONFIG.colorTolerance)return true;}return false;}
function getPixelColor(data,x,y,width){const index=(y*width+x)*4;return{r:data[index],g:data[index+1],b:data[index+2],a:data[index+3]};}
function distance(x1,y1,x2,y2){const dx=x2-x1,dy=y2-y1;return Math.sqrt(dx*dx+dy*dy);}
function findTargets(){if(!State.canvas||!State.ctx)return[];const canvas=State.canvas;const tempCanvas=document.createElement('canvas'),tempCtx=tempCanvas.getContext('2d');tempCanvas.width=canvas.width;tempCanvas.height=canvas.height;tempCtx.drawImage(canvas,0,0);const imageData=tempCtx.getImageData(0,0,canvas.width,canvas.height),data=imageData.data,targets=[],visited=new Set(),scanStep=2;for(let y=0;y<canvas.height;y+=scanStep){for(let x=0;x<canvas.width;x+=scanStep){const key=`${x},${y}`;if(visited.has(key))continue;const color=getPixelColor(data,x,y,canvas.width);if(color.a>50&&isTargetColor(color.r,color.g,color.b)){const cluster=findTargetCluster(x,y,data,canvas.width,canvas.height,visited);if(cluster){targets.push(cluster);for(let dy=-cluster.radius;dy<=cluster.radius;dy+=scanStep){for(let dx=-cluster.radius;dx<=cluster.radius;dx+=scanStep){const nx=x+dx,ny=y+dy;if(nx>=0&&nx<canvas.width&&ny>=0&&ny<canvas.height)visited.add(`${nx},${ny}`);}}}}}}const centerX=canvas.width/2,centerY=canvas.height/2;targets.sort((a,b)=>distance(a.x,a.y,centerX,centerY)-distance(b.x,b.y,centerX,centerY));return targets.slice(0,CONFIG.maxTargetsPerFrame);}
function findTargetCluster(startX,startY,data,width,height,visited){const queue=[[startX,startY]],clusterPixels=[];let minX=startX,maxX=startX,minY=startY,maxY=startY;while(queue.length){const[x,y]=queue.shift(),key=`${x},${y}`;if(visited.has(key))continue;visited.add(key);const color=getPixelColor(data,x,y,width);if(color.a>50&&isTargetColor(color.r,color.g,color.b)){clusterPixels.push({x,y});minX=Math.min(minX,x);maxX=Math.max(maxX,x);minY=Math.min(minY,y);maxY=Math.max(maxY,y);[[x+1,y],[x-1,y],[x,y+1],[x,y-1]].forEach(([nx,ny])=>{if(nx>=0&&nx<width&&ny>=0&&ny<height)queue.push([nx,ny]);});}}if(clusterPixels.length<50)return null;let sumX=0,sumY=0;clusterPixels.forEach(p=>{sumX+=p.x;sumY+=p.y;});const centerX=Math.round(sumX/clusterPixels.length),centerY=Math.round(sumY/clusterPixels.length),radius=Math.max(maxX-minX,maxY-minY)/2;if(radius<CONFIG.minTargetSize||radius>CONFIG.maxTargetSize)return null;return{x:centerX,y:centerY,radius:radius,confidence:Math.min(clusterPixels.length/200,1)};}
function clickOnTarget(target){if(!State.canvas||!State.canvasRect)return false;const now=Date.now(),canvas=State.canvas;if(now-State.lastClickTime<CONFIG.clickDelay)return false;const lastDist=distance(target.x,target.y,State.lastClickPos.x,State.lastClickPos.y);if(lastDist<CONFIG.skipRecentRadius&&(now-State.lastClickTime)<CONFIG.skipRecentTime)return false;const jitterX=(Math.random()-0.5)*CONFIG.jitterAmount*2,jitterY=(Math.random()-0.5)*CONFIG.jitterAmount*2;const screenX=State.canvasRect.left+target.x+jitterX,screenY=State.canvasRect.top+target.y+jitterY;try{const downEvent=new MouseEvent('mousedown',{bubbles:true,cancelable:true,view:window,clientX:screenX,clientY:screenY,button:0});const upEvent=new MouseEvent('mouseup',{bubbles:true,cancelable:true,view:window,clientX:screenX,clientY:screenY,button:0});const clickEvent=new MouseEvent('click',{bubbles:true,cancelable:true,view:window,clientX:screenX,clientY:screenY,button:0});canvas.dispatchEvent(downEvent);canvas.dispatchEvent(upEvent);canvas.dispatchEvent(clickEvent);}catch(error){debug('Click error:',error);return false;}State.lastClickTime=now;State.lastClickPos={x:target.x,y:target.y};State.totalHits++;State.hitsThisFrame++;debug(`Clicked at ${target.x},${target.y} (confidence: ${target.confidence.toFixed(2)})`);return true;}
function scanAndClick(){if(!State.enabled||!State.running)return;updateCanvasRect();const targets=findTargets();State.hitsThisFrame=0;if(targets.length>0){debug(`Found ${targets.length} targets`);for(const target of targets){if(clickOnTarget(target)&&targets.length>1)setTimeout(()=>{},20);}}State.totalFrames++;updateOverlay();State.scanTimer=setTimeout(scanAndClick,CONFIG.scanInterval);}
function updateCanvasRect(){if(State.canvas)State.canvasRect=State.canvas.getBoundingClientRect();}
function createOverlay(){if(!CONFIG.showOverlay)return;const overlay=document.createElement('div');overlay.id='aimbot-overlay';overlay.style.cssText=`position:fixed;bottom:24px;left:24px;z-index:99999;background:rgba(20,22,27,0.75);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#f0f4fa;padding:18px 22px;border-radius:28px;font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;font-size:13px;border:1px solid rgba(255,255,255,0.08);box-shadow:0 20px 40px rgba(0,0,0,0.3),0 0 0 1px rgba(255,255,255,0.02) inset;min-width:260px;user-select:none;pointer-events:none;transition:opacity 0.25s ease;letter-spacing:0.2px;line-height:1.5;`;document.body.appendChild(overlay);State.overlay=overlay;updateOverlay();}
function updateOverlay(){if(!State.overlay)return;const status=State.enabled?'ON':'OFF',running=State.running?'ACTIVE':'IDLE',hitsPerSec=State.totalFrames>0?(State.totalHits/(State.totalFrames*CONFIG.scanInterval/1000)).toFixed(1):'0.0',accentColor='#2dd4bf',statusColor=State.enabled?accentColor:'#f87171',stateColor=State.running?accentColor:'#f87171';State.overlay.innerHTML=`<div style="display:flex;align-items:center;gap:12px;margin-bottom:14px;"><div style="width:10px;height:10px;border-radius:50%;background:${statusColor};box-shadow:0 0 12px ${statusColor};"></div><div style="font-weight:600;font-size:16px;letter-spacing:0.8px;text-transform:uppercase;background:linear-gradient(135deg,#fff,#cbd5e1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;">AIM BOT</div><div style="margin-left:auto;font-size:11px;opacity:0.5;font-weight:400;background:rgba(255,255,255,0.1);padding:2px 8px;border-radius:30px;">v1.1</div></div><div style="display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;margin-bottom:6px;"><div style="color:#94a3b8;font-weight:400;">Status</div><div style="color:${statusColor};font-weight:600;text-align:right;">${status}</div><div style="color:#94a3b8;">State</div><div style="color:${stateColor};text-align:right;">${running}</div><div style="color:#94a3b8;">Hits</div><div style="color:#fff;font-weight:600;text-align:right;">${State.totalHits}</div><div style="color:#94a3b8;">Rate</div><div style="color:#fff;text-align:right;">${hitsPerSec}/s</div></div><div style="margin-top:16px;font-size:11px;color:#64748b;border-top:1px solid rgba(255,255,255,0.06);padding-top:12px;display:flex;gap:20px;justify-content:space-between;"><span style="display:flex;align-items:center;gap:6px;"><span style="opacity:0.5;">⌨️</span> ESC toggle</span><span style="display:flex;align-items:center;gap:6px;"><span style="opacity:0.5;">🔄</span> F2 restart</span></div>`;}
function initializeCanvas(){State.canvas=document.getElementById('gameCanvas');if(!State.canvas){log('Waiting for canvas...');setTimeout(initializeCanvas,1000);return false;}State.ctx=State.canvas.getContext('2d');updateCanvasRect();log('Canvas initialized:',State.canvas.width,'x',State.canvas.height);return true;}
function startBot(){if(State.running)return;if(!initializeCanvas()){log('Failed to initialize canvas');return;}State.running=true;State.totalHits=0;State.hitsThisFrame=0;State.totalFrames=0;log('Starting aim bot...');scanAndClick();}
function stopBot(){State.running=false;if(State.scanTimer){clearTimeout(State.scanTimer);State.scanTimer=null;}log('Aim bot stopped');}
function toggleBot(){State.enabled=!State.enabled;log('Aim bot',State.enabled?'ENABLED':'DISABLED');if(State.enabled&&!State.running)startBot();else if(!State.enabled&&State.running)stopBot();updateOverlay();}
function setupHotkeys(){document.addEventListener('keydown',(e)=>{if(e.key==='Escape'&&!e.ctrlKey&&!e.shiftKey){e.preventDefault();toggleBot();}if(e.key==='F2'){e.preventDefault();stopBot();setTimeout(startBot,100);}if(e.key==='F3'&&e.ctrlKey){e.preventDefault();CONFIG.debug=!CONFIG.debug;log('Debug mode:',CONFIG.debug?'ON':'OFF');}});}
function hookStartButton(){const startButton=document.getElementById('startButton');if(startButton){startButton.addEventListener('click',()=>{log('Game started via button');setTimeout(startBot,1000);});}else{const observer=new MutationObserver(()=>{const btn=document.getElementById('startButton');if(btn&&!btn.__aimbotHooked){btn.__aimbotHooked=true;btn.addEventListener('click',()=>{setTimeout(startBot,1000);});observer.disconnect();}});observer.observe(document.body,{childList:true,subtree:true});}}
function init(){log('Loading Aim Bot v1.1...');createOverlay();setupHotkeys();hookStartButton();const canvasObserver=new MutationObserver(()=>{if(!State.canvas&&document.getElementById('gameCanvas')){log('Canvas detected');if(State.running)initializeCanvas();}});canvasObserver.observe(document.body,{childList:true,subtree:true});window.addEventListener('resize',updateCanvasRect);window.addEventListener('scroll',updateCanvasRect);log('Aim Bot ready! Press "Start Game" to begin.');log('Controls: ESC (toggle), F2 (restart), Ctrl+F3 (debug)');}
if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init();
})();
Способ "инжекта":
- Авторизуйтесь на сайте Пожалуйста, авторизуйтесь для просмотра ссылки.
- Авторизуйтесь
- Совершите любую покупку (не обязательно)
- Перейдите в "Aim Trainer"
- Откройте "DevTools" -> "Console" -> Введите "Allow pasting"
- Вставьте сам скрипт