首页 > 代码库 > LOL英雄联盟代打外挂程序-java实现

LOL英雄联盟代打外挂程序-java实现

相信很多程序猿都玩游戏,比如LOL :有时候想打人机对战(玩家对战小心别人举报你!),纯属为了拿经验和金币,而本身不想玩,但如果玩家不操作,那么很快就会被系统认为是挂机,从而得不到经验和金币。所以,本文用java实现简单的程序,帮你实现伪挂机,可以自动吃经验、放技能、升级技能。。。你只需要开启程序,然后进入游戏画面即可。。。。

其实很简单,主要利用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;
            	}        	
            }
        
        
    }
   
    

}





LOL英雄联盟代打外挂程序-java实现