dereklee0310 / RussianFishing4Script

Russian Fishing 4 Bot
GNU General Public License v3.0
71 stars 19 forks source link

在海图收线完该提杆收鱼的时候脚本时常延迟没反应,尤其使用只收达标鱼的脚本时。 #5

Closed zz2592900 closed 8 months ago

zz2592900 commented 8 months ago

还有换到40坑,没到底就提杆打状态也不收线,30坑正常到底收线打状态。大佬能否告知应修改哪?

dereklee0310 commented 8 months ago
  1. 先檢查線杯是否是滿載的,提竿的問題可以參考前一個issue,遠離船燈也能夠避免線杯圖標被光源影響而偵測失敗的問題。
  2. 在拋竿後的30秒後,如果沒有魚咬餌且餌未沉到底部,則會進入到打狀態的模式,這是為了規避因風浪過大而無法檢測到底層運動提示的問題,增加player.py第323行的i即可(e.g., 60),
zz2592900 commented 8 months ago

到海底不收线的问题换另一台电脑解决了-.- 出现底部运动状态的时候会收线了。但是不提杆还是有,主要是白天晴天,不知道脚本是根据什么提杆,是线杯是否满杯吗?我倒吊经常有个5米拉不动的。

zz2592900 commented 8 months ago
  1. 先檢查線杯是否是滿載的,提竿的問題可以參考前一個issue,遠離船燈也能夠避免線杯圖標被光源影響而偵測失敗的問題。
  2. 在拋竿後的30秒後,如果沒有魚咬餌且餌未沉到底部,則會進入到打狀態的模式,這是為了規避因風浪過大而無法檢測到底層運動提示的問題,增加第323行的即可(e.g., 60),player.py``i

但是我遇到这个问题的时候它不关线杯啊,不关线杯的话,扯不出底部运动。

dereklee0310 commented 8 months ago

腳本識別到底層運動的提示字樣時便會開始打狀態,提竿收魚的動作則是如你所說的偵測滿杯後抬竿。 目前的海釣模式是針對沉底強抽設計的,抽竹刀這種需要卡米的可以暫時透過修改sink_timeout來提早開始打狀態。

如果修改spool_icon_confidence的值還是無法解決提竿收魚的問題,請錄製遊戲畫面,並和config.ini以及顯示器解析度一起mail給我。

dereklee0310 commented 8 months ago

餌剛沉到底部時會有短暫的底部運動提示,線杯的狀態並不影響。

zz2592900 commented 8 months ago

餌剛沉到底部時會有短暫的底部運動提示,線杯的狀態並不影響。

我可能是遇到bug,有运动提示不关线杯收线只提杆打状态。另一台电脑正常。

zz2592900 commented 8 months ago

提竿收魚的動作則是如你所說的偵測滿杯後抬竿

大佬,当我用倒吊的时候收线到底经常剩5米线收不回来,会导致脚本无法正确判断线杯是否满杯,从而无法提杆吗

dereklee0310 commented 8 months ago

不關線杯的問題會在下次更新解決,將player.py中344行的marine_sinking_stage()修改為如下即可:

print('Sinking Lure')
i = self.profile.sink_timeout
while i > 0:
    if is_moving_in_bottom_layer():
        print('Lure reached bottom layer')
        break
    elif is_fish_hooked():
        print('Fish is hooked')
        return
    i = sleep_and_decrease(i, 2)
self.tackle.reel.tighten_line(self.profile.tighten_duration)

我自己的號還沒開倒吊,我沒有辦法在我的電腦上重現你的問題,你可以:

  1. 根據README的說明設定Windows的滑鼠鎖定
  2. 更新至最新版並修改config文件中的spool_icon_confidence為0.96看看情況是否有改善
  3. 將遊戲畫面錄屏並與你的config文件一併mail給我以便定位問題,能夠同時包含命令列輸出更好
zz2592900 commented 8 months ago

不關線杯的問題會在下次更新解決,將player.py中344行的marine_sinking_stage()修改為如下即可:

print('Sinking Lure')
i = self.profile.sink_timeout
while i > 0:
    if is_moving_in_bottom_layer():
        print('Lure reached bottom layer')
        break
    elif is_fish_hooked():
        print('Fish is hooked')
        return
    i = sleep_and_decrease(i, 2)
self.tackle.reel.tighten_line(self.profile.tighten_duration)

我自己的號還沒開倒吊,我沒有辦法在我的電腦上重現你的問題,你可以:

  1. 根據README的說明設定Windows的滑鼠鎖定
  2. 更新至最新版並修改config文件中的spool_icon_confidence為0.96看看情況是否有改善
  3. 將遊戲畫面錄屏並與你的config文件一併mail給我以便定位問題,能夠同時包含命令列輸出更加

我把游戏画面曝光调低,对比度调高,人物站船仓里,暂时解决提杆的问题了。非常感谢大佬的回复

dereklee0310 commented 8 months ago

最後能幫我修改下config裡的confidence看看問題是否能夠得到解決嗎?我希望驗證下這是否是倒吊臂的特有問題。 謝謝你的回覆。

zz2592900 commented 8 months ago

最後能幫我修改下config裡的confidence,看看問題是否能夠得到解決嗎?我希望驗證下這是否是倒吊臂的特有問題。 謝謝你的回覆。

def is_line_at_end(): return locateOnScreen(fr'{parent_dir}spooling.png', confidence=0.98) 是 这个吗

dereklee0310 commented 8 months ago

參考template.ini中的第16行:

spool_icon_confidence = 0.985

添加此行到config.ini的相同位置,並修改為:

spool_icon_confidence = 0.96
zz2592900 commented 8 months ago

參考template.ini中的第16行:

spool_icon_confidence = 0.985

添加此行到config.ini的相同位置,並修改為:

spool_icon_confidence = 0.96

感觉可以了,还没拉上来就提杆了。

dereklee0310 commented 8 months ago

confidence的值越高代表比對成功所需要的精度更高,你可以自己調整為最適合你的精度 :) 這個issue會在解決線杯問題的更新後關閉。

zz2592900 commented 8 months ago

confidence的值越高代表比對成功所需要的精度更高,你可以自己調整為最適合你的精度 :) 這個issue會在解決線杯問題的更新後關閉。

-,-就是有点太提前,有时候40米深度20米就提了,导致鱼卡船底。是不是可以调大点啊?

dereklee0310 commented 8 months ago

只要不超過1都可以

zz2592900 commented 8 months ago

只要不超過1都可以 只要不超过1都可以

好的,谢谢大佬!!

dereklee0310 commented 8 months ago

這次更新沒有更動放生達標魚的功能。 能問下具體的程式行為是什麼嗎?

zz2592900 commented 8 months ago

是更新前失效的,我用命令行 -r -m 鱼都保留了。我也尝试了重启电脑删除更新,还是一样。

zz2592900 commented 8 months ago

是更新前失效的,我用命令行 -r -m 鱼都保留了。我也尝试了重启电脑删除更新,还是一样。

刚试了下,又正常了。不知道是不是我使用火绒禁止程序扫描脚本的缘故。

dereklee0310 commented 8 months ago

問題解決了就行。 如果之後有發現新的問題麻煩開個新的issue,謝謝。