相信非常多程序员都玩游戏,比方LOL :有时候想打人机对战(玩家对战小心别人举报你!),纯属为了拿经验和金币,而本身不想玩,但假设玩家不操作。那么非常快就会被系统觉得是挂机,从而得不到经验和金币。所以,本文用java实现简单的程序,帮你实现伪挂机。能够自己主动吃经验、放技能、升级技能。

。你仅仅须要开启程序,然后进入游戏画面就可以。。。

事实上非常easy,主要利用java的robot类来模拟玩家的鼠标点击(移动)和按键输入(升级或者智能施法),略微学过java的人都能够非常快搞定。

。。这里不是那种高级外挂,那个是须要也许系统的句柄,然后对玩家操作和游戏系统的信息协议进行拦截、改动等动作,小心腾讯找你。。。

贴上代码:


package com.lol.game;

import java.awt.AWTException;
import java.awt.Dimension;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;

/**
 * 
 * LOL伪挂机
 * LOL进入游戏后的代打小程序,模拟鼠标点击 、技能升级和施放
 * 须要设置所有为智能施法,小地图在右下角
 * 
 * @author Administrator
 */
public class LOL_Mouse {

	static int size=40;///lol右下角的小地图标志性size。不同屏幕大小不同
    public static void main(String[] args) throws AWTException {
        
            Robot robot = new Robot();
            //获取屏幕大小
            Dimension screenSize =Toolkit.getDefaultToolkit().getScreenSize();
            double height=screenSize.height/2;
            double width=screenSize.width/2;
            double theta=Math.atan(height/width);
       
            ///得到屏幕中心偏右上方的坐标,便于智能施放技能
            int jinengy=(int) (height-50*Math.sin(theta));
            int jinengx=(int) (width+50*Math.cos(theta));
            
            ///点击右下角的地图上的坐标,不同屏幕大小须要改动140为其他适应的值
            int x=(int)width*2-140-size;
            int y=(int) height*2-140+size;
           
            
            int i=1;
            ///无限循环来运行操作
            while(true){
            	
            	robot.mouseMove(x,y);
            	robot.mousePress(InputEvent.BUTTON3_DOWN_MASK);
            	robot.mouseRelease(InputEvent.BUTTON3_DOWN_MASK);
            	robot.delay(5000);
            	
            	
            	/下面是砸技能!

!!

是砸不是放 robot.keyPress(KeyEvent.VK_Q); robot.keyRelease(KeyEvent.VK_Q); robot.delay(500); robot.keyPress(KeyEvent.VK_W); robot.keyRelease(KeyEvent.VK_W); robot.delay(500); robot.keyPress(KeyEvent.VK_E); robot.keyRelease(KeyEvent.VK_E); robot.delay(500); robot.keyPress(KeyEvent.VK_R); robot.keyRelease(KeyEvent.VK_R); robot.delay(500); ///每次选择一个技能升级,降低电脑响应按键输出的负担 if(1==i){ 升级技能!

!!

ctrl+q robot.keyPress(KeyEvent.VK_CONTROL); robot.keyPress(KeyEvent.VK_Q); robot.keyRelease(KeyEvent.VK_Q); robot.keyRelease(KeyEvent.VK_CONTROL); i++; }else if(2==i){ ctrl+w robot.keyPress(KeyEvent.VK_CONTROL); robot.keyPress(KeyEvent.VK_W); robot.keyRelease(KeyEvent.VK_W); robot.keyRelease(KeyEvent.VK_CONTROL); i++; }else if(3==i){ ctrl+e robot.keyPress(KeyEvent.VK_CONTROL); robot.keyPress(KeyEvent.VK_E); robot.keyRelease(KeyEvent.VK_E); robot.keyRelease(KeyEvent.VK_CONTROL); i++; }else if(4==i){ ctrl+r robot.keyPress(KeyEvent.VK_CONTROL); robot.keyPress(KeyEvent.VK_R); robot.keyRelease(KeyEvent.VK_R); robot.keyRelease(KeyEvent.VK_CONTROL); i=1; } } } }