Участник
Покинул форум
Сообщений всего: 82
Дата рег-ции: Нояб. 2019
Репутация: 0
|
Здравствуйте. Написал простенький кликер, который должен работать в NOX эмуляторе в фоновом режиме! Суть в том, что при нажатии на кнопку 1 на клавеатуре, бот запоминает координаты мыши в окне эмулятора. При нажатии на кнопку 9 бот начинает производить клики по запомненым координатам. Бот зациклен, и при запуске может пройти 10 и более кругов без ошибок, но в какой-то момент(может прям на первом круге цикла, может и на пятидесятом) начинает кликать непонятно куда и ломает круг, что приводит его эфективность к нолю! Делал через визуальный редактор
Так выглядит бот в визуальном редакторе:[img](для просмотра ссылки Вам необходимо авторизоваться) /img]
так выглядит сам код: CODE:int e=0, n=0;
win w_KIB;
int ex_KIB, ey_KIB, sum_KIB, x_KIB, y_KIB;
start_();
enabletimer (0);
m_KIB0:
if (getkeystate(49)==1) goto m_KIB1;
else goto m_KIB3;
m_KIB1: int x[999], y[999];
win wind=window ("NoxPlayer", "Qt5QWindowIcon", -1);
getmouse(x[e], y[e], window ("NoxPlayer", "Qt5QWindowIcon", -1));
e++;
n++;
sleep(1000);
goto m_KIB0;
m_KIB3: sleep(100);
goto m_KIB0;
function start_()
{
pause(1000);
int x, y;
getmouse(x, y);
w_KIB=getwindow(0, x, y);
ex_KIB=w_KIB.widthclient; ey_KIB=w_KIB.heightclient;
}
function mouse_(int p1, int m, int xm, int ym, int p2)
{
pause(p1);
if (m==1) sendmouse(LEFT, xm, ym, w_KIB);
if (m==2) sendmouse(MIDDLE, xm, ym, w_KIB);
if (m==3) sendmouse(RIGHT, xm, ym, w_KIB);
if (m==4) sendmousedown(LEFT, xm, ym, w_KIB);
if (m==5) sendmousedown(MIDDLE, xm, ym, w_KIB);
if (m==6) sendmousedown(RIGHT, xm, ym, w_KIB);
if (m==7) sendmouseup(LEFT, xm, ym, w_KIB);
if (m==8) sendmouseup(MIDDLE, xm, ym, w_KIB);
if (m==9) sendmouseup(RIGHT, xm, ym, w_KIB);
if (m==10) sendmousedbl(LEFT, xm, ym, w_KIB);
if (m==11) sendmousedbl(MIDDLE, xm, ym, w_KIB);
if (m==12) sendmousedbl(RIGHT, xm, ym, w_KIB);
if (m==13) sendmousemove(xm, ym, w_KIB);
pause(p2);
}
function бот()
{
m_KIB5: e=0;
m_KIB1: mouse_(0, 1, x[e], y[e], 500);
sleep(6000);
e++;
if (e>=n) goto m_KIB5;
else goto m_KIB1;
}
CREATE_TIMER(0, 100)
{
if (getkeystate(57)==1) goto m_KIB2_T0;
else goto m_KIB3_T0;
m_KIB3_T0: enabletimer (0);
goto exit_KIB_T0;
m_KIB2_T0: disabletimer (0);
бот();
exit_KIB_T0:;
}
Помогите разобраться, в чем может быть ошибка! И подскажите решение |