LOL英雄联盟代打外挂程序-java实现
相信非常多程序员都玩游戏,比方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; } } } }