Symulowanie klikania klawisza G i przesuwania kursorem po ekranie

0

Witam ma pytanie odnośnie c++ buldiera pisze bota mam napisane

keybd_event('G', 0, 0, 0); 
keybd_event('G', 0, KEYEVENTF_KEYUP, 0);

i to działa ale chce zrobić by bot klikał G i jednocześnie chodził np 5 sekund w prawo i wlew przy tym cały czas klikał g przestał klikać g przeszedł w punkt wrócił na miejsce z którego rozpoczął i wszystko powtórzył

Próbowałem Sleep oraz pętlą for (int i=1; i<=10; i++)

Bardzo bym prosił o pomoc lub kontakt z góry dziękuje

0

Jeśli rzeczywiście:

Próbowałem Sleep oraz pętlą for (int i=1; i<=10; i++)

To pokaż kod z tych prób - powiemy co jest nie tak i co możesz zrobić lepiej.

Ogólnie widzę, że problem leży po prostu w napisaniu serii kroków, które bot ma wykonać. Rzeczywiście, albo pętla albo po prostu blok instrukcji będzie wystarczający. Dla przykładu:

bot klikał G i jednocześnie chodził np 5 sekund w prawo

Oto przykładowe rozwiązanie:

while( true )
{
    for( int seconds = 0; seconds < 5; ++seconds )
    {
        // Tutaj przesuwasz bota w prawo
        // Tutaj bot klika  G
        Sleep( 1000 );
    }
    // W tym momencie przestaje klikać  G

    // ...
}

I tak dalej, i tak dalej...
Musisz sprecyzować z czym masz problem.

0
//---------------------------------------------------------------------------

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

#include "Unit1.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++;
                         if (p == 1) {
                keybd_event('G', 0, 0, 0);
                keybd_event('G', 0, KEYEVENTF_KEYUP, 0);
               }

             }
             else p = 0;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
        RegisterHotKey(Form1->Handle, 1, 0, VK_SPACE);
        RegisterHotKey(Form1->Handle, 2, 0, VK_TAB);
        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);
           }
}
//---------------------------------------------------------------------------

Prosze o to dosłownie cały kod i wielkie dzięki że mi pomagasz

to nie jest z tych prób ale tu masz baze to moja podstawa na tym bazuje i właśnie nie wiem co dalej

0

Mam problem ze zrobieniem żeby bot miał sekwencje np: idź w lewo 3 sekundy spam G przy tym idź w prawo 3 sekundy spam g przy tym powtórz to trzy razy idź w tył 2 sekundy przestań spamić G idź do przodu 2 sek klikni Q i powtórz sekwencje

Oraz mam problem bo już przyznaje zgupiałem że tak powiem za przeproszeniem od tych prób bo próbuje z miesiąc i nikt mi nie chce pomóc Jeszcze raz WIELKIE DZIĘKI ZA POMOC i już zgupiałem odnośnie określania tego kiedy bot ma to zrobić po prostu jak to napisać żeby wiedział kiedy kliknąć jak możesz mi wytłumaczyć był bym bardzo wdzięczny i dopisać do kodu gdzie to powinno być poprawnie wstawione dziękuje

0

Jak byś chciał mogli byśmy sie jakoś skontaktować przez discorda tsa lub inne komunikatory

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