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

Jak zrobić żeby bot klikał konkretny obiekt?


boarBiceps

Rekomendowane odpowiedzi

Opublikowano

Witam. Moja wiedza na temat programowania w C++ jest naprawdę niewielka, napisałem bardzo prostego bota w Borland C++ posiłkując się poradnikiem, polegający na automatycznym klikaniu w miejsca które wcześniej wyznaczymy. Moje pytanie: jak zrobić, żeby bot nie klikał w to co sami mu każemy, tylko sam wyszukiwał określony obiekt gdy ten się pojawi i w niego klikał? Bot ma być do gry warofdragons.pl, gdzie zbieranie surowców wygląda tak: Jest mapka 2d na której respią się surowce i zbieramy je podwójnym kliknięciem myszy, coś takiego: http://www.warofdragons.pl/info/pictures/image/polowanie(2).gif. Chciałbym by bot potrafił sam klikać w te rośliny, gdy się pojawią. Obecnie bot wygląda tak:

 

 

//---------------------------------------------------------------------------

#include <vcl.h>
#include <vector>
#pragma hdrstop

#include "wodbot.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------

POINT cur;
std::vector<POINT> t_cur ;
String s;
int p;

void __fastcall TForm1::HotKey(TMessage &Msg)
{
        if (Msg.WParam == 1){
                Timer1->Enabled = false;
        }
        if (Msg.WParam == 2) {
                t_cur.push_back(cur);
                s = IntToStr(cur.x) + " : " + IntToStr(cur.y);
                ListBox1->Items->Add(s);
        }
}

void __fastcall TForm1::Button1Click(TObject *Sender)
{
        Timer1->Enabled = true;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button2Click(TObject *Sender)
{
        Timer1->Enabled = false;        
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
        Panel1->Color = RGB(rand()%255, rand()%255, rand()%255);
        if (p < t_cur.size()) {
                SetCursorPos(t_cur[p].x, t_cur[p].y);
                mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
                mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
                p++;
        }
        else p = 0;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Timer2Timer(TObject *Sender)
{
        cur.x = Mouse->CursorPos.x;
        cur.y = Mouse->CursorPos.y;
        Label1->Caption = IntToStr(cur.x) + " " + IntToStr(cur.y);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
        ListBox1->Clear();        
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button4Click(TObject *Sender)
{
        for (int i = 0; i < t_cur.size(); i++) {
        s = IntToStr(t_cur[i].x) + " : " + IntToStr(t_cur[i].y);
                ListBox1->Items->Add(s);
        }
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
        RegisterHotKey(Form1->Handle, 1, 0, VK_SPACE);
        RegisterHotKey(Form1->Handle, 2, 0, VK_TAB);
}
//--------------------------------------------------------------------------- 

 

 

 

Proszę o jakieś rady :)

 

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...