python实现魔兽世界自动钓鱼辅助工具(附源码)_第1页
python实现魔兽世界自动钓鱼辅助工具(附源码)_第2页
python实现魔兽世界自动钓鱼辅助工具(附源码)_第3页
python实现魔兽世界自动钓鱼辅助工具(附源码)_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

python实现WOW自动钓鱼辅助工具(附源码)最近在工作闲暇之余搞了个小副业,目前一台电脑每天20元-30元这样(最近物价有点拉跨),不过对于我这样业余魔兽玩家来说已经知足了,毕竟每个月工资养家糊口,只能靠钓钓鱼搞点烟钱维持下生活这样子了。一:为什么会选择魔兽世界?我一个30+的人了,至今电脑端游只玩过Dota、LOL、WOW,其他游戏也没玩过,平时上班也没什么时间去研究其他游戏。我是2021年初开始接触到魔兽世界这个游戏的,当时正处疫情,在家也没什么事干,听朋友说魔兽可以赚钱,于是兴冲冲下载了游戏,当时玩游戏靠的还是大学时期使用的笔记本电脑,那叫一个凄惨。疫情时期魔兽世界这个游戏养活了多少家庭相信经历过的人都懂。二:为什么用Python实现?因为我只会Python,哈哈哈...其实其他语言也能写,最简单的就是按键精灵,但国服回归之后官方对外挂的打击力度加强了很多,用按键精灵做的封号妥妥的。我朋友开服测试过一款月卡型的,半个钟喜提永久封号。现在有人发明了机械手指,不得不佩服广大玩家的智慧,啥都想的出来。但机械手指有个问题就是抛竿远了无法交互,上鱼率不理想。目前用Python做的辅助工具上鱼率100%,一个字香。有点跑题了。。。我是要讲技术的,接下来直接讲Python实现思路,相信我讲完之后你也能自己做的出来。辅助工具Python实现思路首先我要说明这个工具并不是外挂,只是模拟我们正常玩家钓鱼时的一举一动,不读取内存,不修改数据,我们可以看法律上对游戏外挂的定义:游戏的“外挂”是指通过修改游戏数据而为玩家谋取利益的作弊程序或软件。玩过魔兽世界的玩家都知道,钓鱼仅仅是一项每个角色的生活辅助技能,找一个水面,角色面向水面,然后抛竿、看到鱼漂动了(或听到水声)收杆,就是这样一个无限循环,所以我们的代码思路就是:抛竿(角色需换上鱼竿)开始监听水声(持续监听,但不超过17S)监听到水声则收杆(鼠标右键点击浮漂)重复上述步骤Python实现按抛竿键这里需要用到Python库:importautopy假设你的钓鱼键放在F1键:那么按下钓鱼键的代码就是:autopy.key.tap(autopy.key.Code.F1)#其他F1-F12键类似Python实现监听电脑声音这里需要用到连个Python库:importnumpyasnpimportpyaudio这里我一个函数Listening实现监听水声这个功能:defListening():CHUNK=1024#字节FORMAT=pyaudio.paInt16CHANNEL=1#声音通道RATE=5500#采样频率p=pyaudio.PyAudio()#创建流实例stream=p.open(format=FORMAT,channels=CHANNEL,rate=RATE,input=True,frames_per_buffer=CHUNK)#获取流success=False#定义是否监听到的标志,听到返回True,否则Falselistening_start_time=time.time()#开始监听的时间whileTrue:data=np.frombuffer(stream.read(CHUNK),dtype=16)#print(np.abs(data).mean())#打印当前的幅度print(int(np.abs(data).mean()))ifint(np.abs(data).mean())>300:#声音大于300说明听到了success=Truebreakiftime.time()-listening_start_time>15:#监听时间长度breakstream.stop_stream()stream.close()#关闭流p.terminate()returnsuccess#返回是否监听到水声的标志这里讲一下为什么声音幅度设置为300:这个数值是我经过多次测试发现的,这个声音幅度刚好是我们游戏正常的一个声音大小,这个值如果太小你发现游戏里稍微有其他声音就触发收杆,太大的话你会发现有时鱼咬钩了,但你不会触发收杆。这里讲一下为什么监听的时间长度设置为15秒:现在我们国服WLK的一次钓鱼时长是17秒,但通常前面3秒是不会有鱼咬钩的,所以我们不用监听那么久。Python实现收杆这里需要用到Python库:importautopy当监听到水花声时就要触发收杆,这里你也可以设置交互键,那么你的收杆动作就是按一下交互键。但这里会有个问题就是当你的鱼漂抛得太远了就交互不到了,所以上鱼率无法做到100%。(跟机械手指一个原理)这里我是怎么实现100%上鱼的呢,重点来了!!!(钓了几万条鱼的经验):当你人站在水里钓鱼,镜头拉到最大(看不见自己的时候),水面基本处于电脑屏幕的中间时,那么你的鱼漂落点就基本处于水平面这一条直线上。所以我们在监听到水花声的时候只要鼠标去点击屏幕中间的几个点就可以收杆了。所以第一步我们先获取到魔兽世界游戏窗口的中心点位置:point=pyautogui.getWindowsWithTitle("魔兽世界")[0].center#这里point返回的是一个中心点坐标x,y然后我们围绕中心点位置坐标再左右两边各扩展2个坐标点,把这5个点位集保存起来,我们监听到水声之后,只需要让鼠标逐步移动到这5个点位各点击一次鼠标右键就行了,这样就实现了100%不空杆!!!instance=55arr_point=[]arr_point.append([point.x-2*instance,point.y])arr_point.append([point.x-instance,point.y])arr_point.append([point.x,point.y])arr_point.append([point.x+instance,point.y])arr_point.append([point.x+2*instance,point.y])foriinrange(len(arr_point)):pyautogui.moveTo(arr_point[i])#依次移动到目标点位autopy.mouse.click(autopy.mouse.Button.RIGHT)#点击鼠标右键到这一步,核心的逻辑动作都已经实现了,相信只要稍微有点Python基础的都能做出来这个魔兽世界自动钓鱼辅助工具了!!!只需80行的Python代码。然后在这个主核心的逻辑下我们

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论