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

Rekomendowane odpowiedzi

Opublikowano

Rzucasz się na głęboka wodę :rolleyes: Niedawno byl prawie podobny temat wiec poszukaj. Na pewno kilka języków programowania i Auto it

 

Żeby ci przeszła ochota na własnego bota poczytaj ile trzeba sie napisac na zwykle wyszukiwanie moba i używanie spacji

Kod:

Opt("WinWaitDelay", 100)

Opt("WinTitleMatchMode", 4)

Opt("WinDetectHiddenText", 1)

Opt("PixelCoordMode", 2)

Opt("MouseCoordMode", 2)

WinWait("METIN2", "")

If Not WinActive("METIN2", "") Then WinActivate("METIN2", "")

WinWaitActive("METIN2", "")

TrayTip("Metin Simple Bot","Bot aktywny, możesz iść afk",30)

WinWait("METIN2", "")

If Not WinActive("METIN2", "") Then WinActivate("METIN2", "")

WinWaitActive("METIN2", "")

;TrayTip("Bot aktywny, możesz isć odpocząć ;-)",30)

$metin = "METIN2"

$Pickup = 0

Global $cross

 

 

While $Pickup = 0

$cross = Pixelgetcolor( 575, 53, $metin)

IF $cross <> 0xfffbff Then

mobsearch()

EndIf

IF $cross = 0xfffbff Then

fight()

Endif

 

WEnd

 

;Funkcje

 

;Mobsearch

Func mobsearch()

$coord = PixelSearch(100, 150, 650, 540, 0xEB1609, 50, 10)

If Not @error Then

MouseMove($coord[0],$coord[1],0)

MouseClick("left",$coord[0],$coord[1])

Sleep(1000)

Call ("fight")

 

EndIf

EndFunc

 

 

Func fight()

 

Send("{SPACE}")

Sleep(200)

Send("{SPACE}")

Sleep(200)

Send("{SPACE}")

Sleep(200)

Send("{SPACE}")

Sleep(200)

Send("{SPACE}")

 

Endfunc

 

Od razu tłumaczę cały kod:

Kod:

Opt("WinWaitDelay", 100)

Opt("WinTitleMatchMode", 4)

Opt("WinDetectHiddenText", 1)

Opt("PixelCoordMode", 2)

Opt("MouseCoordMode", 2)

Te linijki najazują wyszukiwanie pixeli/pozycji kursora wyłącznie w aktywnym oknie (metin-a rzecz jasna)

Kod:

WinWait("METIN2", "")

If Not WinActive("METIN2", "") Then WinActivate("METIN2", "")

WinWaitActive("METIN2", "")

TrayTip("Metin Simple Bot","Bot aktywny, możesz iść afk",30)

Ta część kodu ustawia okno metin-a jako okno aktywne.

Kod:

$metin = "METIN2"

$Pickup = 0

Global $cross

Zadeklarowane zmienne, Global okreśła zmienną globalną (inaczej funkcje by jej nie widziały)

Zmienna $metin to po prostu nazwa okna, w którym ma pracować skrypt.

 

Kod:

While $Pickup = 0

$cross = Pixelgetcolor( 575, 53, $metin)

IF $cross <> 0xfffbff Then

mobsearch()

EndIf

IF $cross = 0xfffbff Then

fight()

Endif

 

WEnd

To główny "rdzeń" skryptu na samym początku skrypt sprawdza, czy postać jest zalockowana na mobie poleceniami oraz, (jeśli nie jest) przywoła funkcję która to zrobi.

 

Kod:

$cross = Pixelgetcolor( 575, 53, $metin)

IF $cross <> 0xfffbff Then

Składnia PixelGetColor wygląda tak :

PixelGetColor( pozycja X, Pozycja Y, Okno w którym szukamy)

Do tej linijki wstawiamy nasze wyszukane pozycje X,Y oraz kolor tego "krzyżyka" o którym wspomniałem wcześniej.

Dalsza część skryptu to polecenie warunkowe przekładajac je na nasz jezyk brzmiałoby mniej więcej tak:

Jeżeli zmienna (w naszym wypadku $cross) jest inna od 0xfffbff wtedy:

Kod:

mobsearch()

EndIf

mobsearch() to nazwa funkcji odpowiedzialnej za namierzenie przeciwnika, zajmę się nią za chwilę.

 

Nie zapomnijcie zmienić 0xfffbff na wartośc koloru "krzyżyka" jaki wy uzyskaliście.

 

Kod:

IF $cross = 0xfffbff Then

fight()

Endif

 

WEnd

Ta częsć kodu powinna być już zrozumiała - odpowiada za akcję, gdy postać namierzyła przeciwnika.

 

Teraz opiszę pokrótce 2 funkcje z których korzysta ten bot

Kod:

Func mobsearch()

$coord = PixelSearch(100, 150, 650, 540, 0xEB1609, 50, 10)

If Not @error Then

MouseMove($coord[0],$coord[1],0)

MouseClick("left",$coord[0],$coord[1])

Sleep(1000)

Call ("fight")

 

EndIf

EndFunc

 

Pierwsza lnijka kodu deklaruje nam funkcję nazywajacą się mobsearch()

W drugiej linijce funkcja PixelSearch szuka wybranego przez nas koloru w wybranym regionie okna (trochę zagmatwanie napisałem)

PixelSearch(100, 150, 650, 540, 0xEB1609, 50, 10) gdzie:

100 Pozycja X lewego górnego rogu

150 Pozycja Y lewego górnego rogu

650 Pozycja X prawego dolnego rogu

540 Pozycja Y prawego dolnego rogu

50 Tolerancja wyszukiwanego odcienia - zostawić jak jest.

10 tzw. "przeskok" określa czy sprawdzany ma być każdy piksel w obszarze, Sprawdzanie obszaru piksel po pikselu jest za wolne, ja używam 10 jako domyśłnej wartości (czyta co 10 piksel)

Kod:

Zawartość dostępna dla zarejstrowanych użytkowników.

Kolejne polecenie warunkowe - jeśli Pixelsearch zwróci nam jakiś wynik wtedy:

Kod:

MouseMove($coord[0],$coord[1],0)

MouseClick("left",$coord[0],$coord[1])

W zmiennej $coord została zapisana pozycja znalezionego koloru gdzie :

$coord[0] - pozycja X szukanego koloru

$coord[1] - pozycja Y szukanego koloru

Polecenie MouseMove jak nazwa wskazuje przemieści nam kursor w wskazane miejsce;

MouseMove(X,Y,0)

Polecenie MouseClick po prostu "kliknie" LPM w wskazane miejsce:

MouseClick("left",X,Y)

Dostępne przyciski myszy Left - lewy, Right - prawy, Middle - ten pośrodku.

Sleep(1000) to poprostu przerwa w wykonywaniu skrytptu wyrażona w milisekundach (1/1000 sekundy)

Wstawiłem ją po to, by postać sobie "dobiegła" do celu.

Kod:

Zawartość dostępna dla zarejstrowanych użytkowników.

Ostatnie polecenie w tej funkcji "Call" wywołuje 2 funkcję dopowiedzialną za bicie:

 

Kod:

Func fight()

 

 

Send("{SPACE}")

Sleep(200)

Send("{SPACE}")

Sleep(200)

Send("{SPACE}")

Sleep(200)

Send("{SPACE}")

Sleep(200)

2vuhg8m.jpg

Opublikowano

@ Topic

 

Co do tematu, to opcja " Szukaj " nie gryzie ;)

1247763594_TrueBloodSeason2.jpg As your Master, I command you!

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
×
×
  • Dodaj nową pozycję...