相信非常多程序员都玩游戏,比方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;
}
}


}



}