Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Tworzymy FishBota na każdy serwer


hP2396

Rekomendowane odpowiedzi

Opublikowano

Witam. Ostatnio na coraz większej ilości serwerów Metin2 wprowadzane są coraz to nowsze zabezpieczenia mające na celu utrudnić nam wszystkim używanie jakże ciekawych udogodnień. Problemem raczej nigdy nie były Hackshieldy, czy inne GameGuardy, lecz zabezpieczenia polegające na zapobieganiu "wstrzyknięcia" czegoś do procesu (skrypty Pythona, cheaty w C++). Przypatrywałem się tej sytuacji dość mocno z boku, ale gdy ona sama mnie dotknęła postanowiłem coś z tym zrobić.

 

 

Najbardziej zależało mi na Fishbocie. Ponieważ gram na serwerze prywatnym i nie kupuję M2Boba, to próbowałem wszystkiego i wszystko na marne. Moim pomysłem był powrót do starej szkoły tego rodzaju botów: powrót do botów obrazkowych. Znając trochę język AutoIT przystąpiłem do działania. i zrobiłem jakiegoś tam Fishbota. Żaden problem. Niestety, gdy zrobi się takiego bota dla siebie, to pojawiają się problemy z udostępnianiem go, gdyż gracze mają różne rozdzielczości, głębie kolorów w grze i wszystko szlag bierze. Pomyślałem więc, że zrobię tutorial z przygotowanym wcześniej kodem, gotowym do odpalenia po zaledwie kilku poprawkach ze strony gracza

 

Lista niezbędnych rzeczy:

  1. AutoIT v3
  2. Edytor Tekstu (najlepiej SciTe dołączony do instalki)
  3. Ta paczka (jest to biblioteka do wyszukiwania obrazków - za upload dzięki http://www.mpcforum.pl/user/255017-pawellek/): 
    http://www35.zippyshare.com/v/aU0atcUy/file.html
    https://www.virustotal.com/pl/file/5a49c74b6cbe8c919a987e2df4bdc3d7d72fc1afba0b5ff8f57fd6e342954366/analysis/1464527980/

Pliki .dll z paczki wrzucamy do C:\Windows, a plik .au3 do folderu Include tam, gdzie zainstalowaliśmy AutoIT

 

1. Wykonujemy zdjęcia potrzebne do działania bota

 

Będą to: ikonka przynęty (robaka), ikonka skilla do łowienia (wędka pod V). Wystarczy zrobić PrintScreen, a następnie powycinać te elementy nawet w Paincie (robaka wyciąć tak, aby nie było widać jego ilości) oraz wklejamy do nowego okienka Paint (bez żadnych białych otoczek) i zapisujemy jako 24-bitową mapę (format .bmp). U mnie wygląda to np. tak:

 

f7dOaDv.png

 

Co teraz? Możemy sobie zrobić jakiś folder na pulpicie np. GFX i tam wrzucamy te nasze zdjęcia. Samą umiejętność łowienia polecam ustawić gdzieś na pasku (tam gdzie są spelle), aby nie trzeba było otwierać okna z umiejętnościami

 

Małe wytłumaczenie: Czemu nie lepiej klikać spację, albo ustawić wędkę pod F1 i klikać F1? A no bo dlatego, że testowałem na wielu serwerach takie zagrywki i często klient nie przepuszcza SendKey'ów, dlatego lepiej posłużyć się klikaniem myszki.

 

2. Tworzymy kod bota

 

Na pulpicie tworzymy nowy skrypt .au3 i edytujemy go za pomocą naszego edytora tekstu. Poniżej wrzucam mój przykładowy kod:

 

 

 

#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <ImageSearch2015.au3> ; Ważna linijka - załączamy bibliotekę do wyszukiwania obrazków
#Region ### START Koda GUI section ### Form=
$mainForm = GUICreate("WoM2 Fishbot", 361, 191, 263, 207)
$labelTime = GUICtrlCreateLabel("Time (in ms):", 80, 40, 63, 17)
$inputTime = GUICtrlCreateInput("", 160, 38, 121, 21)
$buttonStart = GUICtrlCreateButton("Start", 136, 104, 75, 25)
GUISetState(@SW_SHOW)
Opt("GUIOnEventMode", 1)
GUICtrlSetOnEvent($buttonStart, "start")

#EndRegion ### END Koda GUI section ###
HotKeySet("{F9}", "close")
Global $x, $y
Global $fish1, $fish2

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit

	EndSwitch
WEnd

Func start()
	$resultFish = _ImageSearch("GFX\fish.bmp", 1, $fish1, $fish2, 20) ; Ta linia odpowiada za wyszukanie koordynatów umiejętności łowienia
	Sleep(3000)
	While 1
		$resultBait = _ImageSearch("GFX\robak.bmp", 1, $x, $y, 20) ; Ta linia odpowiada za wyszukanie koordynatów przynęty
		Sleep(200)
		MouseClick("right", $x, $y) ; Bot nakłada przynętę
		Sleep(2500)
		MouseClick("right", $fish1, $fish2) ; Bot zarzuca wędkę
		Sleep(1500)
		MouseMove(997,345)
		While 1
			$aCoord = PixelSearch(0, 0, 1024, 768, 0xA0DAE3, 10) ; Bot sprawdza, czy nie pojawiła się informacja o znalezieniu ryby
			If Not @ Then ; Jeśli tak, to informuje nas o tym, opuszcza pętlę
				TrayTip("Info", "ZNALAZLEM RYBE", 2)
				ExitLoop
			EndIf
		WEnd
		Sleep(1800)
		MouseClick("right", $fish1, $fish2) ; Wyciąga wędkę i wraca do początku pętli - do nakładania przynęty
		Sleep(1500)
	WEnd
EndFunc

Func close()
	Exit
EndFunc

 

 

 

Kod na początku, to zrobione pod bota GUI, ale tego nie trzeba robić, wystarczy sama funkcja start() oraz 2 hotkeye - na funkcję start i close, aby wszystko było jak należy. Tam, gdzie bot szuka informacji o znalezieniu ryby występuje dziwny kod 0xA0DAE3 - jest to kod Pixela, który jest na rybce w tym dymku informującym o tym, że ryba jest niedaleko naszej wędki. U każdego może być on inny więc dla pewności radziłbym zrobić w momencie pojawienia się dymku PrintScreena, wrzucić do Painta i za pomocą Autoit Window info najechać tym celowniczkiem na rybę i przepisać kod Pixela, jaki tam wyjdzie. I to właściwie tyle. Bot nie robi nic, poza łowieniem ryb. Nie zarzuca małych ryb na wędkę (można to dorobić), nie wyrzuca farb, pierścieni i innych dupereli i wymaga włączonego okna Metin2. Ja osobiście obszedłem to ustawiając wirtualną maszynę i tak bot chodzi sobie już z godzinkę bez zarzutów. 

 

Tutorial nie miał być swoistym prowadzeniem za rączkę, lecz wskazaniem drogi jak można takie coś zrobić, bo jest to łatwe, a jeśli ktoś chce w to dalej iść, to może sobie podorabiać wiele ciekawych funkcji, ja sam będę jeszcze nad tym siedział i jeśli ktoś będzie chciał, to będę uploadował bota dla ustawień 1024x768 - both pulpit i gra

 

To by było na tyle, dzięki i nie ryzgajcie mnie, jeśli wyszło kijowo, ja chciałem tylko pomóc :D

 

visualcsharp_2.png

 

Mały test na gimnazjalistę: 

 

public static void testnagimbusa()
{
	Console.WriteLine("Podaj ulubionego YouTubera: ");
	string youtuber = Console.Read();
	if (youtuber = "gimper")
	{
		Console.WriteLine("Jesteś gimbusem");
	}
	else if (youtuber = "rojo")
	{
		Console.WriteLine("Jesteś gimbusem");
	}
	else if (youtuber = "isamu")
	{
		Console.WriteLine("Jesteś gimbusem z kompleksem małego przyrodzenia");
	}
	else if (youtuber = "nitrozyniak")
	{	
		Console.WriteLine("Jesteś gimbusem");
	}
	else
	{	
		Console.WriteLine("Masz więcej, niż 16 lat");
	}
}

 

Opublikowano

No na wszystkie serwery to raczej nie, ponieważ niektóre mają inny system łowienia.

Opublikowano

w skrypcie py wywolanie obraka lowienia (jest mnostwo fish botow w py ) nie rozni sie niczym od tego na spacje wystarczy losowo nacisnac spacje rnd z przedzialu 1-5 taki bot jest 20% skutecznosci ale masz pewnosc ze wkocu cos zlowi ale jak by sie dalo prezchwycic tekst co ja nie wiem jak zrobic mozna by stworzyc 100% bota na spacje.

Opublikowano

Mi się wydaje, że zabezpieczenia przed jak to nazwałeś wstrzyknięciem nie były do tej pory problemem, a problemem są pozmieniane systemy łowienia, w których nawet człowiek się gubi jak działają ;x

<p class='bbc_center'><span style='font-size: 24px;'><span style='font-family: lucida sans unicode'><strong class='bbc'>Hejtować będę</strong></span></span></p>

Opublikowano

Wiem,ze to poradnik... Ale,czy jest szansa,ze zrobisz gotowego fishbota pod Abatie? Ja jestem w tym zielony i zrobienie bota zajeloby mi duzo czasu,a Tobie pewnie tylko chwile ;]

 

 

Super poradnik.

Kocham mpcforum.pl!!!

18706.png

Opublikowano

Wiem,ze to poradnik... Ale,czy jest szansa,ze zrobisz gotowego fishbota pod Abatie? Ja jestem w tym zielony i zrobienie bota zajeloby mi duzo czasu,a Tobie pewnie tylko chwile ;]

 

 

Super poradnik.

Nie zrobi bo musiał by posiadać text który jest wysyłany z serwera do postaci i z postaci do serwera jak ktoś powie dokładnie jak taki text przechwycić to może ja ogarnę takiego fb pod każdy taki serwer z nowym systemem łowienia bez tego nie ma możliwości zrobienia takiego fishbota 

Opublikowano

Większość serwerów które teraz startują mają inny system łowienia . Z odpowiednią liczbą wciśnięcia spacji..

 

Nie wiem czy przyda się to w 2k16 

Aniela Bogusz [*]

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...