Bot klikający odpowiednie przyciski w grze

0

Witam! Potrzebuję pomocy dotyczącej tak zwanego "bota" do gry Metin. Chodzi ogólnie o klikanie w odpowiednie przyciski przy dialogu. Nie jestem pewien co do języka programowania i ogólnie jestem zielony, ale proszę o pomoc ;) Trochę poczytam i pewnie mi się uda :)

0

To jak jestes zielony to moze zacznij od kursu c++ ?

0

Wg mnie C# będzie dla Ciebie lepszy. Jak powiedziałeś, jesteś zielony, a z C++ pewnie byś miał tylko problemy.

Co do bota to zakładam, że na windowsa. WinAPI Twoim przyjacielem, a MSDN już w ogóle (:

Wysyłanie zdarzeń
Ja używam PostMessage - https://msdn.microsoft.com/en-us/library/windows/desktop/ms644944(v=vs.85).aspx
Można też SendInput - https://msdn.microsoft.com/en-us/library/windows/desktop/ms646310(v=vs.85).aspx
I jedna i druga funkcja może Ci służyć do symulowania. Wybierz, która Ci bardziej pasuje (czyt. z wykorzystaniem jakiej znajdziesz szybciej działającego gotowca).

To na tyle jeżeli ma to być tylko naiwne klikanie w określonych odstępach czasu.

Sprawa się komplikuje gdy musisz odpowiednio reagować na to co się dzieje w grze.

Metina nie znam. Nie wiem co tam się dzieje, ale ogólnie musisz czytać z pamięci gry pod pewnymi adresami. Możesz czytać życie, manę itp. Pewnie jest też sposób czytania tych dialogów i wykrywania gdzie są przyciski, które chcesz kliknąć.
Największy problem jest ze znalezieniem tych właśnie adresów. Jak mówiłem Metina nie znam. Może jest jakieś forum na którym ludzie się tymi adresami dzielą.

W razie jakbyś musiał szukać sam to polecam
Cheat Engine - http://www.cheatengine.org/
Ma forum itp (nawet wbudowany tutorial), więc wszystko możesz znaleźć.

Jak już znajdziesz wymarzone adresy wystarczy podpiąć się pod proces gry i czytać co pod tymi adresami jest
Otwieranie procesu - OpenProcess - https://msdn.microsoft.com/en-us/library/windows/desktop/ms684320(v=vs.85).aspx
Czytanie: ReadProcessMemory - https://msdn.microsoft.com/pl-pl/library/windows/desktop/ms680553(v=vs.85).aspx

Na koniec jeszcze jedno.
Jest też możliwość pisania do pamięci procesu. Czyli np. znasz adres pod jakim trzymane jest ile masz złota. Zapisujesz tam 9999999 i masz 9999999 złota.

Jest jedno ale. To zadziała tylko jeżeli gra jest offline. W przypadku gier przez neta z reguły takie rzeczy jak złoto itp są trzymane na serwerze i co jakiś czas aktualizowane po stronie klienta. Więc spoko, możesz sobie wpisać, że masz 999999 złota, ale wynik tego będzie taki, że w grze na chwilę mignie Ci te 999999, ale za chwilę zostanie pobrane z serwera ile masz na prawdę i kwota wróci do normalnego stanu.

Pisać możesz przez (uwaga szok) WriteProcessMemory - https://msdn.microsoft.com/pl-pl/library/windows/desktop/ms681674(v=vs.85).aspx

0

Dzięki :) Chodzi mi po prostu w klikanie odpowiedniego dialogu :) Może sb poradzę, jeśli masz jeszcze jakieś wskazówki to bardzo proszę ;) Przyda się wszystko. Dzięki :P

1 użytkowników online, w tym zalogowanych: 0, gości: 1