和Sun一起开源(武林外传游戏外挂Java源代码) - 博客版
以下是我在大三时,武林外传游戏还在公测时写的一个外挂,辅助玩游戏。以前在大学时用着很好用,和大家共享出来。希望有朋友能够进行重构,发布一些更好用的JAVA实现的外挂程序。
由于这是本人的处女做,所以代码结构有些乱,但由于程序本身并不是很复杂,有心人是一定会看懂的,此外还有一些简单的注释。
由于当时不会使用IDE,仅用记事本写的,所以写得比较辛苦,也花费了较长时间。希望对大家能够有所帮助。
- package game;
- import javax.swing.*;
- import java.awt.*;
- import java.awt.event.*;
- import javax.swing.event.*;
- import java.lang.*;
- import java.io.*;
- //主类
- public class Action
- {
- static int TimeNumber=0;
- public static void main(String[] args)
- {
- ViewFlow vf=new ViewFlow();
- vf.addActionlistener();
- }
- }
package game;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.event.*;
import java.lang.*;
import java.io.*; //主类
public class Action
{static int TimeNumber=0;public static void main(String[] args){ViewFlow vf=new ViewFlow();vf.addActionlistener();}}
- package game;
- import javax.swing.*;
- import java.awt.*;
- import java.awt.event.*;
- import javax.swing.event.*;
- import java.lang.*;
- import java.io.*;
- class MyActionListener2 implements ActionListener//核心类(实现主要功能)
- {
- static int ip=0;
- public void actionPerformed(ActionEvent e2)
- {
- try
- {
- Robot robot=new Robot();
- int x=73,y=23,
- x2=ViewFlow.slider1.getValue(),
- y2=23,
- x3=228,y3=26,
- x4=0,y4=0;
- /*
- int i=ViewFlow.slider1.getValue(),j=23,k=0;
- {
- try
- {
- Robot rb=new Robot();
- while(k<1)
- {
- rb.mouseMove(i,j);
- rb.getPixelColor(i,j);
- System.out.print((k++)+": "+rb.getPixelColor(i,j)+": ");
- System.out.println("(i="+(i++)+",j="+j+");");
- }
- }
- catch(AWTException e3){}
- }
- */
- if(robot.getPixelColor(x,y).equals(new Color(255,75,53))&&MyActionListener2.ip==1)//自动打怪
- {
- robot.keyPress(KeyEvent.VK_5);//捡东西
- if( robot.getPixelColor(x3,y3).equals(new Color(255,107,87))
- ||robot.getPixelColor(x3,y3).equals(new Color(255,107,86)))
- {
- robot.keyPress(KeyEvent.VK_1);//技能1
- //robot.keyPress(KeyEvent.VK_2);//技能2
- //robot.keyPress(KeyEvent.VK_3);//技能3
- //robot.keyPress(KeyEvent.VK_4);//打怪1
- }
- else
- {
- robot.keyPress(KeyEvent.VK_TAB);
- robot.keyRelease(KeyEvent.VK_TAB);
- }
- }
- //System.out.println(MyActionListener.myTimer.getDelay());//改变加血速度测试
- if(!robot.getPixelColor(x,y).equals(new Color(255,75,53)))
- {
- ViewFlow.setText1("提示:请启动游戏");
- //System.out.println(ViewFlow.slider1.getValue());//测试1
- //System.out.println(ViewFlow.slider2.getValue());//测试2
- }
- else if( robot.getPixelColor(x2,y2).equals(new Color(255,75,53)) //加血位置与血的颜色相等
- ||robot.getPixelColor(x,y).equals(robot.getPixelColor(x2,y2)) //加血位置与指定的理想的血的位置的颜色相等
- /*
- ||robot.getPixelColor(x2,y2).equals(new Color(255,159,147)) //加血位置与指血的颜色1比较
- ||robot.getPixelColor(x2,y2).equals(new Color(247,193,186)) //加血位置与指血的颜色2比较
- ||robot.getPixelColor(x2,y2).equals(new Color(228,103,88)) //加血位置与指血的颜色3比较
- ||robot.getPixelColor(x2,y2).equals(new Color(245,72,51)) //加血位置与指血的颜色4比较
- ||robot.getPixelColor(x2,y2).equals(new Color(255,183,174)) //加血位置与指血的颜色5比较
- ||robot.getPixelColor(x2,y2).equals(new Color(228,91,75)) //加血位置与指血的颜色6比较
- ||robot.getPixelColor(x2,y2).equals(new Color(248,73,52)) //加血位置与指血的颜色7比较
- ||robot.getPixelColor(x2,y2).equals(new Color(225,195,188)) //加血位置与指血的颜色8比较
- ||robot.getPixelColor(x2,y2).equals(new Color(235,141,130)) //加血位置与指血的颜色9比较
- ||robot.getPixelColor(x2,y2).equals(new Color(235,69,49)) //加血位置与指血的颜色10比较
- ||robot.getPixelColor(x2,y2).equals(new Color(239,154,144)) //加血位置与指血的颜色11比较
- */
- )
- {
- ViewFlow.setText1("不需加血");
- }
- else if( robot.getPixelColor(x,y).equals(new Color(255,75,53))//加血
- &&!robot.getPixelColor(x,y).equals(robot.getPixelColor(x2,y2))
- )
- {
- robot.keyPress(KeyEvent.VK_F8);//加血的键位
- //ViewFlow.setText1("自动加血开始");
- }
- }
- catch(AWTException eException1){}
- }
- }
package game;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.event.*;
import java.lang.*;
import java.io.*;class MyActionListener2 implements ActionListener//核心类(实现主要功能){static int ip=0;public void actionPerformed(ActionEvent e2){try{Robot robot=new Robot();int x=73,y=23,x2=ViewFlow.slider1.getValue(),y2=23,x3=228,y3=26,x4=0,y4=0;
/*
int i=ViewFlow.slider1.getValue(),j=23,k=0;{try{Robot rb=new Robot();while(k<1){ rb.mouseMove(i,j);rb.getPixelColor(i,j);System.out.print((k++)+": "+rb.getPixelColor(i,j)+": ");System.out.println("(i="+(i++)+",j="+j+");");}}catch(AWTException e3){}}
*/if(robot.getPixelColor(x,y).equals(new Color(255,75,53))&&MyActionListener2.ip==1)//自动打怪{robot.keyPress(KeyEvent.VK_5);//捡东西if( robot.getPixelColor(x3,y3).equals(new Color(255,107,87))||robot.getPixelColor(x3,y3).equals(new Color(255,107,86))){robot.keyPress(KeyEvent.VK_1);//技能1//robot.keyPress(KeyEvent.VK_2);//技能2//robot.keyPress(KeyEvent.VK_3);//技能3//robot.keyPress(KeyEvent.VK_4);//打怪1}else{robot.keyPress(KeyEvent.VK_TAB);robot.keyRelease(KeyEvent.VK_TAB);}}//System.out.println(MyActionListener.myTimer.getDelay());//改变加血速度测试if(!robot.getPixelColor(x,y).equals(new Color(255,75,53))){ViewFlow.setText1("提示:请启动游戏");//System.out.println(ViewFlow.slider1.getValue());//测试1//System.out.println(ViewFlow.slider2.getValue());//测试2} else if( robot.getPixelColor(x2,y2).equals(new Color(255,75,53)) //加血位置与血的颜色相等||robot.getPixelColor(x,y).equals(robot.getPixelColor(x2,y2)) //加血位置与指定的理想的血的位置的颜色相等/*||robot.getPixelColor(x2,y2).equals(new Color(255,159,147)) //加血位置与指血的颜色1比较 ||robot.getPixelColor(x2,y2).equals(new Color(247,193,186)) //加血位置与指血的颜色2比较 ||robot.getPixelColor(x2,y2).equals(new Color(228,103,88)) //加血位置与指血的颜色3比较 ||robot.getPixelColor(x2,y2).equals(new Color(245,72,51)) //加血位置与指血的颜色4比较 ||robot.getPixelColor(x2,y2).equals(new Color(255,183,174)) //加血位置与指血的颜色5比较 ||robot.getPixelColor(x2,y2).equals(new Color(228,91,75)) //加血位置与指血的颜色6比较 ||robot.getPixelColor(x2,y2).equals(new Color(248,73,52)) //加血位置与指血的颜色7比较 ||robot.getPixelColor(x2,y2).equals(new Color(225,195,188)) //加血位置与指血的颜色8比较 ||robot.getPixelColor(x2,y2).equals(new Color(235,141,130)) //加血位置与指血的颜色9比较 ||robot.getPixelColor(x2,y2).equals(new Color(235,69,49)) //加血位置与指血的颜色10比较||robot.getPixelColor(x2,y2).equals(new Color(239,154,144)) //加血位置与指血的颜色11比较*/){ViewFlow.setText1("不需加血");}else if( robot.getPixelColor(x,y).equals(new Color(255,75,53))//加血&&!robot.getPixelColor(x,y).equals(robot.getPixelColor(x2,y2))){robot.keyPress(KeyEvent.VK_F8);//加血的键位//ViewFlow.setText1("自动加血开始"); }}catch(AWTException eException1){}}}
- package game;
- import javax.swing.*;
- import java.awt.*;
- import java.awt.event.*;
- import javax.swing.event.*;
- import java.lang.*;
- import java.io.*;
- class MyActionListener3 implements ActionListener
- {
- public void actionPerformed(ActionEvent e3)
- {
- MyActionListener.myTimer.stop();
- ViewFlow.setText1(" 外挂程序已停止");
- }
- }
package game;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.event.*;
import java.lang.*;
import java.io.*;class MyActionListener3 implements ActionListener{public void actionPerformed(ActionEvent e3){MyActionListener.myTimer.stop();ViewFlow.setText1(" 外挂程序已停止");}}
- package game;
- import javax.swing.*;
- import java.awt.*;
- import java.awt.event.*;
- import javax.swing.event.*;
- import java.lang.*;
- import java.io.*;
- class MyActionListener4 implements ActionListener
- {
- public void actionPerformed(ActionEvent e7)
- {
- if(e7.getSource()==ViewFlow.helpMenuItem1)//打开使用帮助网页
- {
- try
- {
- Runtime.getRuntime().exec("\"C:\\Program Files\\Internet Explorer\\iexplore.exe\"http://blog.csdn.net/sunnyjavamoon/archive/2006/10/27/1352772.aspx");
- }
- catch(IOException eIO){}
- }
- else if(e7.getSource()==ViewFlow.helpMenuItem2)//打开在线更新网页
- {
- try
- {
- Runtime.getRuntime().exec("\"C:\\Program Files\\Internet Explorer\\iexplore.exe\"http://blog.csdn.net/sunnyjavamoon/archive/2006/11/04/1366552.aspx");
- }
- catch(IOException eIO){}
- }
- else if(e7.getSource()==ViewFlow.helpMenuItem3)//打开作者主页网页
- {
- try
- {
- Runtime.getRuntime().exec("\"C:\\Program Files\\Internet Explorer\\iexplore.exe\"http://blog.csdn.net/SunnyJavaMoon/");
- }
- catch(IOException eIO){}
- }
- else if(e7.getSource()==ViewFlow.helpMenuItem4)//打开关于网页
- {
- try
- {
- Runtime.getRuntime().exec("\"C:\\Program Files\\Internet Explorer\\iexplore.exe\"http://blog.csdn.net/sunnyjavamoon/archive/2006/10/27/1352772.aspx");
- }
- catch(IOException eIO){}
- }
- else if(e7.getSource()==ViewFlow.exchangeItem1)//论坛交流
- {
- try
- {
- Runtime.getRuntime().exec("\"C:\\Program Files\\Internet Explorer\\iexplore.exe\"http://vip3.getbbs.com/Board/TList.aspx?BID=5177");
- }
- catch(IOException eIO){}
- }
- else if(e7.getSource()==ViewFlow.exchangeItem2)//论坛主页
- {
- try
- {
- Runtime.getRuntime().exec("\"C:\\Program Files\\Internet Explorer\\iexplore.exe\"http://ljf365.getbbs.com");
- }
- catch(IOException eIO){}
- }
- else if(e7.getSource()==ViewFlow.jbt3)//论坛主页
- {
- try
- {
- Runtime.getRuntime().exec("\"C:\\Program Files\\Internet Explorer\\iexplore.exe\"http://blog.csdn.net/sunnyjavamoon/archive/2006/11/04/1366552.aspx");
- }
- catch(IOException eIO){}
- }
- }
- }
package game;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.event.*;
import java.lang.*;
import java.io.*;class MyActionListener4 implements ActionListener{public void actionPerformed(ActionEvent e7){if(e7.getSource()==ViewFlow.helpMenuItem1)//打开使用帮助网页{try{Runtime.getRuntime().exec("\"C:\\Program Files\\Internet Explorer\\iexplore.exe\"http://blog.csdn.net/sunnyjavamoon/archive/2006/10/27/1352772.aspx"); }catch(IOException eIO){}}else if(e7.getSource()==ViewFlow.helpMenuItem2)//打开在线更新网页{try{Runtime.getRuntime().exec("\"C:\\Program Files\\Internet Explorer\\iexplore.exe\"http://blog.csdn.net/sunnyjavamoon/archive/2006/11/04/1366552.aspx"); }catch(IOException eIO){}}else if(e7.getSource()==ViewFlow.helpMenuItem3)//打开作者主页网页{try{Runtime.getRuntime().exec("\"C:\\Program Files\\Internet Explorer\\iexplore.exe\"http://blog.csdn.net/SunnyJavaMoon/"); }catch(IOException eIO){}}else if(e7.getSource()==ViewFlow.helpMenuItem4)//打开关于网页{try{Runtime.getRuntime().exec("\"C:\\Program Files\\Internet Explorer\\iexplore.exe\"http://blog.csdn.net/sunnyjavamoon/archive/2006/10/27/1352772.aspx"); }catch(IOException eIO){}}else if(e7.getSource()==ViewFlow.exchangeItem1)//论坛交流{try{Runtime.getRuntime().exec("\"C:\\Program Files\\Internet Explorer\\iexplore.exe\"http://vip3.getbbs.com/Board/TList.aspx?BID=5177"); }catch(IOException eIO){}}else if(e7.getSource()==ViewFlow.exchangeItem2)//论坛主页{try{Runtime.getRuntime().exec("\"C:\\Program Files\\Internet Explorer\\iexplore.exe\"http://ljf365.getbbs.com"); }catch(IOException eIO){}}else if(e7.getSource()==ViewFlow.jbt3)//论坛主页{try{Runtime.getRuntime().exec("\"C:\\Program Files\\Internet Explorer\\iexplore.exe\"http://blog.csdn.net/sunnyjavamoon/archive/2006/11/04/1366552.aspx"); }catch(IOException eIO){}}}}
- package game;
- import javax.swing.*;
- import java.awt.*;
- import java.awt.event.*;
- import javax.swing.event.*;
- import java.lang.*;
- import java.io.*;
- class MyActionListener implements ActionListener
- {
- static Timer myTimer=new Timer(1500,new MyActionListener2());//速度控制
- public void actionPerformed(ActionEvent e)
- {
- ViewFlow.setText1(" 外挂程序启动中......");
- MyActionListener.myTimer.start();
- }
- }
package game;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.event.*;
import java.lang.*;
import java.io.*;class MyActionListener implements ActionListener{static Timer myTimer=new Timer(1500,new MyActionListener2());//速度控制 public void actionPerformed(ActionEvent e){ViewFlow.setText1(" 外挂程序启动中......"); MyActionListener.myTimer.start(); }}
- package game;
- import javax.swing.*;
- import java.awt.*;
- import java.awt.event.*;
- import javax.swing.event.*;
- import java.lang.*;
- import java.io.*;
- class MyChangeListener1 implements ChangeListener
- {
- public void stateChanged(ChangeEvent e4)
- {
- ViewFlow.setText2("加血位置:"+ViewFlow.slider1.getValue()+"/170");
- }
- }
package game;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.event.*;
import java.lang.*;
import java.io.*;class MyChangeListener1 implements ChangeListener{public void stateChanged(ChangeEvent e4){ViewFlow.setText2("加血位置:"+ViewFlow.slider1.getValue()+"/170");}}
- package game;
- import javax.swing.*;
- import java.awt.*;
- import java.awt.event.*;
- import javax.swing.event.*;
- import java.lang.*;
- import java.io.*;
- class MyChangeListener2 implements ChangeListener
- {
- public void stateChanged(ChangeEvent e5)
- {
- ViewFlow.setText3("加血速度:"+ViewFlow.slider2.getValue()+" 毫秒/次");
- MyActionListener.myTimer.setDelay(ViewFlow.slider2.getValue());
- }
- }
package game;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.event.*;
import java.lang.*;
import java.io.*;class MyChangeListener2 implements ChangeListener{public void stateChanged(ChangeEvent e5){ViewFlow.setText3("加血速度:"+ViewFlow.slider2.getValue()+" 毫秒/次");MyActionListener.myTimer.setDelay(ViewFlow.slider2.getValue());}}
- package game;
- import javax.swing.*;
- import java.awt.*;
- import java.awt.event.*;
- import javax.swing.event.*;
- import java.lang.*;
- import java.io.*;
- //界面类
- class ViewFlow
- {
- Container jfContainer=null;
- JButton jbt1=null;
- JButton jbt2=null;
- static JButton jbt3=null;
- JPanel jp1=null;
- JPanel jp2=null;
- JPanel jp3=null;
- JPanel jp4=null;
- static JSlider slider1=null;
- static JSlider slider2=null;
- static JTextField jf1=new JTextField("请启动游戏",15);
- static JTextField jf2=new JTextField("加血位置:100"+"/170",15);
- static JTextField jf3=new JTextField("加血速度:1500"+" 毫秒/次",15);
- static JRadioButton jrb1=null;
- static JRadioButton jrb2=null;
- JMenuBar jmb=null;
- JMenu helpMenu=null;
- static JMenuItem helpMenuItem1=null;
- static JMenuItem helpMenuItem2=null;
- static JMenuItem helpMenuItem3=null
和Sun一起开源(武林外传游戏外挂Java源代码) - 博客版相关推荐
- 和Sun一起开源(武林外传游戏外挂Java源代码) - 论坛版
以下是我在大三时,武林外传游戏还在公测时写的一个外挂,辅助玩游戏.以前在大学时用着很好用,和大家共享出来.希望有朋友能够进行重构,发布一些更好用的JAVA实现的外挂程序. 由于这是本人的处女做,所以代 ...
- 和Sun一起开源(武林外传游戏外挂Java源代码)
package game; import javax.swing.*; import java.awt.*; import java.awt.event.*; import javax.swing.e ...
- java毕业设计博客管理系统Mybatis+系统+数据库+调试部署
java毕业设计博客管理系统Mybatis+系统+数据库+调试部署 java毕业设计博客管理系统Mybatis+系统+数据库+调试部署 本源码技术栈: 项目架构:B/S架构 开发语言:Java语言 开 ...
- 最值得收藏的java技术博客(Java篇)
第一个:java_my_life 作者介绍:找不到原作者信息.大概做了翻阅全部是2012年的博客. 博客主要内容:主要内容是关于Java设计模式的一些讲解和学习笔记,在相信对学习设计模式的同学帮助很大 ...
- [java手把手教程][第二季]java后端博客系统文章系统——No10
项目github地址:github.com/pc859107393- 实时项目同步的地址是国内的码云:git.oschina.net/859107393/m- 我的简书首页是:www.jianshu. ...
- java毕业论文_【毕业论文】基于java的博客网站设计与开发毕业论文(word文档)
<[毕业论文]基于java的博客网站设计与开发毕业论文.doc>由会员分享,可免费在线阅读全文,更多与<[毕业论文]基于java的博客网站设计与开发毕业论文(word文档)>相 ...
- JAVA个人博客系统设计与实现 毕业设计开题报告
本科生毕业论文 基于Java(springboot框架)个人博客系统 开题报告 学 院: 专 业: 计算机科学与技术 年 级: 学生姓名: 指导教师: XXXX大学本科生毕业 ...
- java个人博客系统代码下载_java个人博客系统代码
利用现存框架可以更快开发系统.所以选 择 Java 技术作为 blog 的开发工具. 为了增加系统的吞吐量,提高并发 +申请认证 文档贡献者 胡进全 计算机网络管理员 ...... javaweb课程 ...
- 记录自己第一个java学习博客
记录自己第一个java学习博客 阿里java规范 弄懂 JRE.JDK.JVM 之间的区别与联系 DOS常用命令 常用mac终端命令 今天我学习了java第一个程序打印出helloworld! pac ...
最新文章
- Hyperledger Fabric 核心模块(6)configtxlator工具
- 涨姿势时间:为什么飞机的往返时间会不一样?
- 如何实现两个数据库之间的同步
- zookeeper conceptual
- LeetCode1.两数之和
- amp sqlserver中 什么意思_股票术语中的做空到底是什么意思?
- Regex Tester 安装教程
- Git-第二篇廖雪峰Git教程学习笔记(1)基本命令,版本回退
- JAVA数据类型的强制转换
- 直觉模糊集的基本要素
- 74151/74LS151 8选1数据选择器
- Android 10.0 PackageManagerService(四)APK安装流程-[Android取经之路]
- 合作式智能运输系统车路协同云控系统V2X设备接入技术规范
- ppt文件怎么压缩,ppt压缩的办法步骤
- 微博爬虫数据分析可视化程序设计报告
- java 当月最后一天_java中取得当月最后一天的四种方法
- Netty实战 IM即时通讯系统(一)IM系统简介
- 华为***的基本配置
- C语言中的大小端转换与高低位颠倒
- 火焰和烟雾粒子系统制作