World of Warcraft용 간단한 낚시 봇

4105 단어 hacksautomationgames
이 낚시 봇은 약 50줄의 코드로 구성되어 있으며 World of Warcraft의 메커니즘과 몇 가지 간단한 Windows API 호출을 통합합니다.



저장소: https://github.com/syrull/simple-fishing-bot

개요



봇은 약 99%의 성공률을 가지고 있으며, 봇이 그것을 잡지 못하는 극히 드문 경우가 있습니다. 그 이유는 나중에 설명하겠습니다. 봇이 사용하는 방법은
게임의 거의 모든 낚시 시나리오에서 일하기 때문에 저는 개인적으로 붐비는 장소를 피합니다. 테스트는 현재 확장팩(Shadowlands)에서 수행되었습니다.

봇은 현재 활성 창에서 실행 중이며 이것이 게임 창인지 여부를 확인하지 않았습니다. 시작하기 전에 약 2초 동안 기다립니다.

측정항목




Zereth Mortis: 29m 33s
Items Looted: 161


즉, 대략 분당 약 5.4마리의 물고기를 약탈합니다.

설치 및 사용


requirements.txt 에서 Python 요구 사항을 확인하고 pip install -r requirements.txt 를 통해 설치합니다. 테스트는 Python3.10에서 수행되지만 모든 것이 Python>=3.6에서 작동해야 한다고 생각합니다.

미끼를 설정



봇을 사용하기 전에 미끼 이미지를 제공해야 합니다. 이미지는 미끼의 바닥 부분에 있어야 합니다. 다음은 예시 이미지입니다. 녹색 영역은 미끼의 좋은 이미지가 무엇인지를 나타내며 가능한 한 작아야 합니다.



이미지를 저장하고 스크립트의 루트에 bait.png로 배치하고 추가로 `fishingbot.py에서 변수BAIT_IMAGE를 조정할 수 있습니다.

⚠️ It is important for you to take the photo because of the graphical/display settings which can be different for each computer.



스크립트 미세 조정



수행해야 하는 미세 조정은 다음으로 구성됩니다.
python
FISHING_BUTTON = "b"
TUNE_BAIT_MOUSE_UNDER_PX = 35
EDGE_RESET = 10, 10
ACTIVE_AFTER = 2
CONFIDENCE = 0.7
Variable Description
FISHING_BUTTON The button that you use for fishing, in my case it was b
TUNE_BAIT_MOUSE_UNDER_PX
미끼가 있을 때마다 마우스가 있는 오프셋 픽셀은 How it works? 섹션을 참조하십시오.

EDGE_RESET
그것들은 물고기를 잡은 후 마우스를 재설정하는 좌표 x, y이며 성공률을 향상시키는 데 사용되며 10, 10에 두십시오.

ACTIVE_AFTER
봇은 시작하기 전에 2초만 기다립니다.

신뢰
템플릿 매칭의 자신감


어떻게 작동합니까?



방법은 매우 간단하며 두 가지를 사용합니다. 첫 번째는 Template Matching 이고 이것은 pyautogui.locateOnScreen가 후드에서 사용하는 것이고 두 번째는 win32gui lib에 의해 노출되는 PyGetCursorInfo 함수입니다.

해결책은 처음부터 gif에 있습니다. 찌가 실제로 물고기를 잡을 때마다 찌의 AoE(Area of ​​Effect)가 커져 커서의 변화를 감지할 수 있게 된 다음 GetCursorInfo를 사용하여 변화를 포착합니다. 커서에 활성 상태가 없을 때 설정한 기본 값과 다른 값tuple이 되는 경우. 그런 다음 클릭을 실행합니다.

이제 미세 조정에 대해 이 예를 살펴보십시오.



최고의 이름이 없는 TUNE_BAIT_MOUSE_UNDER_PX 변수는 빨간색으로 표시됩니다. 간단히 말해서 마우스를 배치하기 위해 위치한 찌 아래에 몇 개의 픽셀이 있는지입니다. 나 자신에게는 28-32 사이의 범위가 가장 잘 작동하지만 앞서 말했듯이 이것은 다를 수 있습니다.

에지 케이스



스크립트가 올바르게 조정되지 않은 경우 발생하는 커서의 기본 튜플이 변경되지 않는 드문 경우가 있습니다. 화면의 x=10, y=10 위치에서 커서를 재설정한 다음 다시 가져와 이 문제를 해결했습니다. . 커서의 아이콘이 변경되지 않고 미끼 아이콘과 함께 있는 경우 봇은 낚시 시간을 기다렸다가 스스로 재설정됩니다.

추가 기능



낚시를 누를 때마다 찌를 찰칵 찰 때 사이의 타이밍에 약간의 임의성을 추가했으며 때때로 스페이스를 추가로 누릅니다. 분명히 서버는 이 무작위성이 제거될 때 수상한 일이 진행되고 있음을 감지할 수 있습니다.

좋은 웹페이지 즐겨찾기