python實(shí)現(xiàn)魔獸世界自動(dòng)釣魚(yú)輔助工具(附源碼)_第1頁(yè)
python實(shí)現(xiàn)魔獸世界自動(dòng)釣魚(yú)輔助工具(附源碼)_第2頁(yè)
python實(shí)現(xiàn)魔獸世界自動(dòng)釣魚(yú)輔助工具(附源碼)_第3頁(yè)
python實(shí)現(xiàn)魔獸世界自動(dòng)釣魚(yú)輔助工具(附源碼)_第4頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

python實(shí)現(xiàn)WOW自動(dòng)釣魚(yú)輔助工具(附源碼)最近在工作閑暇之余搞了個(gè)小副業(yè),目前一臺(tái)電腦每天20元-30元這樣(最近物價(jià)有點(diǎn)拉跨),不過(guò)對(duì)于我這樣業(yè)余魔獸玩家來(lái)說(shuō)已經(jīng)知足了,畢竟每個(gè)月工資養(yǎng)家糊口,只能靠釣釣魚(yú)搞點(diǎn)煙錢(qián)維持下生活這樣子了。一:為什么會(huì)選擇魔獸世界?我一個(gè)30+的人了,至今電腦端游只玩過(guò)Dota、LOL、WOW,其他游戲也沒(méi)玩過(guò),平時(shí)上班也沒(méi)什么時(shí)間去研究其他游戲。我是2021年初開(kāi)始接觸到魔獸世界這個(gè)游戲的,當(dāng)時(shí)正處疫情,在家也沒(méi)什么事干,聽(tīng)朋友說(shuō)魔獸可以賺錢(qián),于是興沖沖下載了游戲,當(dāng)時(shí)玩游戲靠的還是大學(xué)時(shí)期使用的筆記本電腦,那叫一個(gè)凄慘。疫情時(shí)期魔獸世界這個(gè)游戲養(yǎng)活了多少家庭相信經(jīng)歷過(guò)的人都懂。二:為什么用Python實(shí)現(xiàn)?因?yàn)槲抑粫?huì)Python,哈哈哈...其實(shí)其他語(yǔ)言也能寫(xiě),最簡(jiǎn)單的就是按鍵精靈,但國(guó)服回歸之后官方對(duì)外掛的打擊力度加強(qiáng)了很多,用按鍵精靈做的封號(hào)妥妥的。我朋友開(kāi)服測(cè)試過(guò)一款月卡型的,半個(gè)鐘喜提永久封號(hào)?,F(xiàn)在有人發(fā)明了機(jī)械手指,不得不佩服廣大玩家的智慧,啥都想的出來(lái)。但機(jī)械手指有個(gè)問(wèn)題就是拋竿遠(yuǎn)了無(wú)法交互,上魚(yú)率不理想。目前用Python做的輔助工具上魚(yú)率100%,一個(gè)字香。有點(diǎn)跑題了。。。我是要講技術(shù)的,接下來(lái)直接講Python實(shí)現(xiàn)思路,相信我講完之后你也能自己做的出來(lái)。輔助工具Python實(shí)現(xiàn)思路首先我要說(shuō)明這個(gè)工具并不是外掛,只是模擬我們正常玩家釣魚(yú)時(shí)的一舉一動(dòng),不讀取內(nèi)存,不修改數(shù)據(jù),我們可以看法律上對(duì)游戲外掛的定義:游戲的“外掛”是指通過(guò)修改游戲數(shù)據(jù)而為玩家謀取利益的作弊程序或軟件。玩過(guò)魔獸世界的玩家都知道,釣魚(yú)僅僅是一項(xiàng)每個(gè)角色的生活輔助技能,找一個(gè)水面,角色面向水面,然后拋竿、看到魚(yú)漂動(dòng)了(或聽(tīng)到水聲)收桿,就是這樣一個(gè)無(wú)限循環(huán),所以我們的代碼思路就是:拋竿(角色需換上魚(yú)竿)開(kāi)始監(jiān)聽(tīng)水聲(持續(xù)監(jiān)聽(tīng),但不超過(guò)17S)監(jiān)聽(tīng)到水聲則收桿(鼠標(biāo)右鍵點(diǎn)擊浮漂)重復(fù)上述步驟Python實(shí)現(xiàn)按拋竿鍵這里需要用到Python庫(kù):importautopy假設(shè)你的釣魚(yú)鍵放在F1鍵:那么按下釣魚(yú)鍵的代碼就是:autopy.key.tap(autopy.key.Code.F1)#其他F1-F12鍵類(lèi)似Python實(shí)現(xiàn)監(jiān)聽(tīng)電腦聲音這里需要用到連個(gè)Python庫(kù):importnumpyasnpimportpyaudio這里我一個(gè)函數(shù)Listening實(shí)現(xiàn)監(jiān)聽(tīng)水聲這個(gè)功能:defListening():CHUNK=1024#字節(jié)FORMAT=pyaudio.paInt16CHANNEL=1#聲音通道RATE=5500#采樣頻率p=pyaudio.PyAudio()#創(chuàng)建流實(shí)例stream=p.open(format=FORMAT,channels=CHANNEL,rate=RATE,input=True,frames_per_buffer=CHUNK)#獲取流success=False#定義是否監(jiān)聽(tīng)到的標(biāo)志,聽(tīng)到返回True,否則Falselistening_start_time=time.time()#開(kāi)始監(jiān)聽(tīng)的時(shí)間whileTrue:data=np.frombuffer(stream.read(CHUNK),dtype=16)#print(np.abs(data).mean())#打印當(dāng)前的幅度print(int(np.abs(data).mean()))ifint(np.abs(data).mean())>300:#聲音大于300說(shuō)明聽(tīng)到了success=Truebreakiftime.time()-listening_start_time>15:#監(jiān)聽(tīng)時(shí)間長(zhǎng)度breakstream.stop_stream()stream.close()#關(guān)閉流p.terminate()returnsuccess#返回是否監(jiān)聽(tīng)到水聲的標(biāo)志這里講一下為什么聲音幅度設(shè)置為300:這個(gè)數(shù)值是我經(jīng)過(guò)多次測(cè)試發(fā)現(xiàn)的,這個(gè)聲音幅度剛好是我們游戲正常的一個(gè)聲音大小,這個(gè)值如果太小你發(fā)現(xiàn)游戲里稍微有其他聲音就觸發(fā)收桿,太大的話(huà)你會(huì)發(fā)現(xiàn)有時(shí)魚(yú)咬鉤了,但你不會(huì)觸發(fā)收桿。這里講一下為什么監(jiān)聽(tīng)的時(shí)間長(zhǎng)度設(shè)置為15秒:現(xiàn)在我們國(guó)服WLK的一次釣魚(yú)時(shí)長(zhǎng)是17秒,但通常前面3秒是不會(huì)有魚(yú)咬鉤的,所以我們不用監(jiān)聽(tīng)那么久。Python實(shí)現(xiàn)收桿這里需要用到Python庫(kù):importautopy當(dāng)監(jiān)聽(tīng)到水花聲時(shí)就要觸發(fā)收桿,這里你也可以設(shè)置交互鍵,那么你的收桿動(dòng)作就是按一下交互鍵。但這里會(huì)有個(gè)問(wèn)題就是當(dāng)你的魚(yú)漂拋得太遠(yuǎn)了就交互不到了,所以上魚(yú)率無(wú)法做到100%。(跟機(jī)械手指一個(gè)原理)這里我是怎么實(shí)現(xiàn)100%上魚(yú)的呢,重點(diǎn)來(lái)了!?。。ㄡ灹藥兹f(wàn)條魚(yú)的經(jīng)驗(yàn)):當(dāng)你人站在水里釣魚(yú),鏡頭拉到最大(看不見(jiàn)自己的時(shí)候),水面基本處于電腦屏幕的中間時(shí),那么你的魚(yú)漂落點(diǎn)就基本處于水平面這一條直線(xiàn)上。所以我們?cè)诒O(jiān)聽(tīng)到水花聲的時(shí)候只要鼠標(biāo)去點(diǎn)擊屏幕中間的幾個(gè)點(diǎn)就可以收桿了。所以第一步我們先獲取到魔獸世界游戲窗口的中心點(diǎn)位置:point=pyautogui.getWindowsWithTitle("魔獸世界")[0].center#這里point返回的是一個(gè)中心點(diǎn)坐標(biāo)x,y然后我們圍繞中心點(diǎn)位置坐標(biāo)再左右兩邊各擴(kuò)展2個(gè)坐標(biāo)點(diǎn),把這5個(gè)點(diǎn)位集保存起來(lái),我們監(jiān)聽(tīng)到水聲之后,只需要讓鼠標(biāo)逐步移動(dòng)到這5個(gè)點(diǎn)位各點(diǎn)擊一次鼠標(biāo)右鍵就行了,這樣就實(shí)現(xiàn)了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])#依次移動(dòng)到目標(biāo)點(diǎn)位autopy.mouse.click(autopy.mouse.Button.RIGHT)#點(diǎn)擊鼠標(biāo)右鍵到這一步,核心的邏輯動(dòng)作都已經(jīng)實(shí)現(xiàn)了,相信只要稍微有點(diǎn)Python基礎(chǔ)的都能做出來(lái)這個(gè)魔獸世界自動(dòng)釣魚(yú)輔助工具了?。?!只需80行的Python代碼。然后在這個(gè)主核心的邏輯下我們

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論