python實現魔獸世界自動釣魚輔助工具(附源碼)_第1頁
python實現魔獸世界自動釣魚輔助工具(附源碼)_第2頁
python實現魔獸世界自動釣魚輔助工具(附源碼)_第3頁
python實現魔獸世界自動釣魚輔助工具(附源碼)_第4頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

python實現WOW自動釣魚輔助工具(附源碼)最近在工作閑暇之余搞了個小副業(yè),目前一臺電腦每天20元-30元這樣(最近物價有點拉跨),不過對于我這樣業(yè)余魔獸玩家來說已經知足了,畢竟每個月工資養(yǎng)家糊口,只能靠釣釣魚搞點煙錢維持下生活這樣子了。一:為什么會選擇魔獸世界?我一個30+的人了,至今電腦端游只玩過Dota、LOL、WOW,其他游戲也沒玩過,平時上班也沒什么時間去研究其他游戲。我是2021年初開始接觸到魔獸世界這個游戲的,當時正處疫情,在家也沒什么事干,聽朋友說魔獸可以賺錢,于是興沖沖下載了游戲,當時玩游戲靠的還是大學時期使用的筆記本電腦,那叫一個凄慘。疫情時期魔獸世界這個游戲養(yǎng)活了多少家庭相信經歷過的人都懂。二:為什么用Python實現?因為我只會Python,哈哈哈...其實其他語言也能寫,最簡單的就是按鍵精靈,但國服回歸之后官方對外掛的打擊力度加強了很多,用按鍵精靈做的封號妥妥的。我朋友開服測試過一款月卡型的,半個鐘喜提永久封號?,F在有人發(fā)明了機械手指,不得不佩服廣大玩家的智慧,啥都想的出來。但機械手指有個問題就是拋竿遠了無法交互,上魚率不理想。目前用Python做的輔助工具上魚率100%,一個字香。有點跑題了。。。我是要講技術的,接下來直接講Python實現思路,相信我講完之后你也能自己做的出來。輔助工具Python實現思路首先我要說明這個工具并不是外掛,只是模擬我們正常玩家釣魚時的一舉一動,不讀取內存,不修改數據,我們可以看法律上對游戲外掛的定義:游戲的“外掛”是指通過修改游戲數據而為玩家謀取利益的作弊程序或軟件。玩過魔獸世界的玩家都知道,釣魚僅僅是一項每個角色的生活輔助技能,找一個水面,角色面向水面,然后拋竿、看到魚漂動了(或聽到水聲)收桿,就是這樣一個無限循環(huán),所以我們的代碼思路就是:拋竿(角色需換上魚竿)開始監(jiān)聽水聲(持續(xù)監(jiān)聽,但不超過17S)監(jiān)聽到水聲則收桿(鼠標右鍵點擊浮漂)重復上述步驟Python實現按拋竿鍵這里需要用到Python庫:importautopy假設你的釣魚鍵放在F1鍵:那么按下釣魚鍵的代碼就是:autopy.key.tap(autopy.key.Code.F1)#其他F1-F12鍵類似Python實現監(jiān)聽電腦聲音這里需要用到連個Python庫:importnumpyasnpimportpyaudio這里我一個函數Listening實現監(jiān)聽水聲這個功能:defListening():CHUNK=1024#字節(jié)FORMAT=pyaudio.paInt16CHANNEL=1#聲音通道RATE=5500#采樣頻率p=pyaudio.PyAudio()#創(chuàng)建流實例stream=p.open(format=FORMAT,channels=CHANNEL,rate=RATE,input=True,frames_per_buffer=CHUNK)#獲取流success=False#定義是否監(jiān)聽到的標志,聽到返回True,否則Falselistening_start_time=time.time()#開始監(jiān)聽的時間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:#監(jiān)聽時間長度breakstream.stop_stream()stream.close()#關閉流p.terminate()returnsuccess#返回是否監(jiān)聽到水聲的標志這里講一下為什么聲音幅度設置為300:這個數值是我經過多次測試發(fā)現的,這個聲音幅度剛好是我們游戲正常的一個聲音大小,這個值如果太小你發(fā)現游戲里稍微有其他聲音就觸發(fā)收桿,太大的話你會發(fā)現有時魚咬鉤了,但你不會觸發(fā)收桿。這里講一下為什么監(jiān)聽的時間長度設置為15秒:現在我們國服WLK的一次釣魚時長是17秒,但通常前面3秒是不會有魚咬鉤的,所以我們不用監(jiān)聽那么久。Python實現收桿這里需要用到Python庫:importautopy當監(jiān)聽到水花聲時就要觸發(fā)收桿,這里你也可以設置交互鍵,那么你的收桿動作就是按一下交互鍵。但這里會有個問題就是當你的魚漂拋得太遠了就交互不到了,所以上魚率無法做到100%。(跟機械手指一個原理)這里我是怎么實現100%上魚的呢,重點來了?。。。ㄡ灹藥兹f條魚的經驗):當你人站在水里釣魚,鏡頭拉到最大(看不見自己的時候),水面基本處于電腦屏幕的中間時,那么你的魚漂落點就基本處于水平面這一條直線上。所以我們在監(jiān)聽到水花聲的時候只要鼠標去點擊屏幕中間的幾個點就可以收桿了。所以第一步我們先獲取到魔獸世界游戲窗口的中心點位置:point=pyautogui.getWindowsWithTitle("魔獸世界")[0].center#這里point返回的是一個中心點坐標x,y然后我們圍繞中心點位置坐標再左右兩邊各擴展2個坐標點,把這5個點位集保存起來,我們監(jiān)聽到水聲之后,只需要讓鼠標逐步移動到這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. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論