可能你需要一个王者荣耀刷金币神器(解除网瘾)

这个小东西大概是在我大二的时候接触JAVA第二周的时候写的

算是我戒除游戏的头号功臣!!

主要思路:

用一个鼠标连点器加上王者荣耀模拟器让它能够不间断地打冒险模式。。

效果:

每周的金币能够在两个半小时左右能刷完。

主要问题:

问题不在于代码,而在于游戏的屏蔽机制,这个东西能屏蔽你的虚拟按键。。。。

如何解决放在文章后面说(这个东西找了好久没找到,后来偶然间被试出来了。)

代码:

import java.awt.AWTException;
import java.awt.Robot;
import java.awt.event.InputEvent;
import java.util.Random;

public class mouseClick {
	public static Random rand;
	public Robot robot;

	public static void main(String[] args) {
		final mouseClick mymouse = new mouseClick();
		new Thread() {
			public void run() {
				while (true) {
					mymouse.click();
					try {
						Thread.sleep(1000 + rand.nextInt(5));// 暂停1秒多
					} catch (InterruptedException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
				}
			}
		}.start();

	}

	public mouseClick() {// 初始化 创建robot
		this.rand = new Random();
		try {
			this.robot = new Robot();
		} catch (AWTException e) {
			e.printStackTrace();
		}
	}

	public void click() {// 控制鼠标点击左键
		robot.mousePress(InputEvent.BUTTON1_DOWN_MASK);
		robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);
		System.out.println("在点击");
	}

}

相关说明:

rand 是用来产生一个随机数的,有些游戏会检测用户的行为,比如网易的有一些游戏。。。(封了一个号)

再牛逼的人也不可能刚刚好每隔1秒就点击一次鼠标,所以这种行为会被认为是作弊了

Robot类不仅可以用来控制鼠标,还能控制键盘,应该说模拟鼠标键盘好一点吧

突破屏蔽机制:

如果直接运行的话,在游戏之外的其他任何地方都是能点击的,网页啥的都没问题,但是只要进游戏的窗口就不起作用。

这个东西我问了咱们JAVA老师一个晚自习(其他同学在做实验作业,我做得比较快就没事了,跑过去烦老师,哈哈哈)

马老师(马哥)发现了我的意图,用奇异的眼神看着我,“你不会想做个外挂吧!”,“对,就是这样。”,“游戏都有屏蔽机制的嘞,有这么容易大家都去做外挂了。”,“那能跳过不。”,“反正我没试过,现在我肯定不行,没准你可以!”

然后冲着这个“没准”,我断断续续查了两周,没一个能成的。然后发现一个稍微靠谱的是买一个老点的鼠标写到驱动级的模拟,莫得设备就没试了。

后来因为电脑上的PS坏了,重装了一个,后来就得用管理员身份运行才行。然后一想没准这个程序用管理员身份运行也可以

试试就试试,竟然就成了。

所以秘诀就是以管理员身份运行Eclipse或者打成的Jar包。

顺带一提:

要刷金币不一定要自己写程序,下一个鼠标连点器就行,不过自己写一个会有意思一点。

经过对每个图的测试,挂机的话应该是“魔女的回忆”那个图刷得最快。

电脑上能多开,意味着你可以同时刷几个号((代刷)顺便赚点小钱!)

大概刷个几周就会发现这个游戏索然无味了! 祝早日戒除网瘾!

更改

鉴于有下伙伴不会用,所以我又下载了模拟器,准备用的时候发现王者荣耀的按钮位置改动了。。

以前的“闯关”和“再次挑战”是重叠在一起的,所以不需要调整鼠标的位置

现在就需要用到Robot类的mouseMove()函数帮我们的鼠标调整下位置

1.测位置,把游戏窗口移动到左上角,用qq截图工具测得闯关按钮的X,Y值,同样的方法测得再次挑战的X,Y值

2.修改代码

import java.awt.AWTException;
import java.awt.MouseInfo;
import java.awt.Point;
import java.awt.PointerInfo;
import java.awt.Robot;
import java.awt.event.InputEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.util.Random;

public class mouseClick extends MouseAdapter{
	public static Random rand;
	public Robot robot;
	public int x1=(int) (1146/1.5);
	public int y1=(int) (759/1.5);
	public int x2=(int) (1302/1.5);
	public int y2=(int) (854/1.5);
	public int count=0;
	
		//final mouseClick mymouse = new mouseClick();
		public void startclick(){
		new Thread() {
			public void run() {
				while (true) {
					click();
					try {
						Thread.sleep(1500 + rand.nextInt(5));// 暂停1.5秒多
						//setxy();
					} catch (InterruptedException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
				}
			}
		}.start();
		}

	public void click(){
		if(count==0){
			clickxy(0);
			count++;
		}
		else{
			clickxy(1);
			count--;
		}
	}

	public mouseClick() {// 初始化 创建robot
		this.rand = new Random();
		try {
			this.robot = new Robot();
		} catch (AWTException e) {
			e.printStackTrace();
		}
	}

	public void clickxy(int count) {// 控制鼠标点击
		if(count==0){
			robot.mouseMove(x1,y1);
		}
		else{
			robot.mouseMove(x2,y2);
		}
		robot.mousePress(InputEvent.BUTTON1_DOWN_MASK);
		robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);
		}


}
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;


public class HelperFrame extends JFrame implements ActionListener{
	
	public static void main(String args[]){
		HelperFrame f=new HelperFrame();
		f.inint();
	}

	public void inint(){
		this.setTitle("王者荣耀刷金币小助手"); 
		this.setSize(300,100);
		this.setDefaultCloseOperation(3);
		JButton button=new JButton("开始");
		button.addActionListener(this);
		this.add(button);
		
		this.setVisible(true);
		
	}

	public void actionPerformed(ActionEvent e) {
		mouseClick m=new mouseClick();
		m.startclick();
		
	}

	
}

这里的x1,y1,x2,y2都在截图的基础上除了1.5是因为我的屏幕缩放了

使用时需要改成自己测的xy值

使用

1.以管理员身份运行Eclipse或者jar包运行程序

2.打开王者荣耀,进入对应页面

3.点击开始按钮

4.结束后叉掉该程序就行

发布了19 篇原创文章 · 获赞 23 · 访问量 6825

猜你喜欢

转载自blog.csdn.net/qq_43176366/article/details/102409162