Всем привет! У меня своего кода нету, так что прошу у опытных и знающих людей мне помочь. Хочу реализовать запись хода, т.е чтобы бот посчитал ход(либо клик или нажатие клавиш) в игре и записал их в переменную(string либо int).
Как это реализовать?
Мне нужен пример в виде кода:
1. Ilya001 - 24 Марта, 2021 - 16:50:41 - перейти к сообщению
2. Zireael - 24 Марта, 2021 - 17:45:39 - перейти к сообщению
CODE:
int lclick=0;
int rclick=0;
loop()
{
if(getkeystate(1))
{
while(getkeystate(1))sleep(1);
lclick++;
}
if(getkeystate(2))
{
while(getkeystate(2))sleep(1);
rclick++;
}
textout(0, 0, 0, "Клик левой кнопкой мыши: "+format(lclick), 1);
textout(1, 0, 20, "Клик правой кнопкой мыши: "+format(rclick), 1);
sleep(1);
}
int rclick=0;
loop()
{
if(getkeystate(1))
{
while(getkeystate(1))sleep(1);
lclick++;
}
if(getkeystate(2))
{
while(getkeystate(2))sleep(1);
rclick++;
}
textout(0, 0, 0, "Клик левой кнопкой мыши: "+format(lclick), 1);
textout(1, 0, 20, "Клик правой кнопкой мыши: "+format(rclick), 1);
sleep(1);
}
3. Ilya001 - 24 Марта, 2021 - 19:21:40 - перейти к сообщению
Спасибо!
4. Ilya001 - 25 Марта, 2021 - 06:11:20 - перейти к сообщению
Zireael, вами предложенный код хорошо работает, но он не отслеживает нажатие самого бота, или я не правильно настраиваю.
Физические нажатие он считывает, но когда клик идет от бота то он не считывает, как это можно решить?
Физические нажатие он считывает, но когда клик идет от бота то он не считывает, как это можно решить?
CODE:
int lclick=0, d=5;
if (d<=lclick) goto m_KIB0;
else goto m_KIB3;
m_KIB4:
if (d<=lclick) goto m_KIB0;
else goto m_KIB3;
m_KIB3: mouse_(0, 1, 1100, 400, 500);
клик();
goto m_KIB4;
m_KIB0: messagebox("Клик ограничен");
function mouse_(int p1, int m, int xm, int ym, int p2)
{
pause(p1);
if (m==1) mouse(LEFT, xm, ym);
if (m==2) mouse(MIDDLE, xm, ym);
if (m==3) mouse(RIGHT, xm, ym);
if (m==4) mousedown(LEFT, xm, ym);
if (m==5) mousedown(MIDDLE, xm, ym);
if (m==6) mousedown(RIGHT, xm, ym);
if (m==7) mouseup(LEFT, xm, ym);
if (m==8) mouseup(MIDDLE, xm, ym);
if (m==9) mouseup(RIGHT, xm, ym);
if (m==10) mousedbl(LEFT, xm, ym);
if (m==11) mousedbl(MIDDLE, xm, ym);
if (m==12) mousedbl(RIGHT, xm, ym);
if (m==13) mousemove(xm, ym);
pause(p2);
}
function клик()
{
if(d<=lclick)return;
{
if(getkeystate(1))
{
while(getkeystate(1))sleep(5);
lclick++;
}
}
textout(0, 0, 0, "Клик левой кнопкой мыши: "+format(lclick), 1);
sleep(1);
}
}
}
if (d<=lclick) goto m_KIB0;
else goto m_KIB3;
m_KIB4:
if (d<=lclick) goto m_KIB0;
else goto m_KIB3;
m_KIB3: mouse_(0, 1, 1100, 400, 500);
клик();
goto m_KIB4;
m_KIB0: messagebox("Клик ограничен");
function mouse_(int p1, int m, int xm, int ym, int p2)
{
pause(p1);
if (m==1) mouse(LEFT, xm, ym);
if (m==2) mouse(MIDDLE, xm, ym);
if (m==3) mouse(RIGHT, xm, ym);
if (m==4) mousedown(LEFT, xm, ym);
if (m==5) mousedown(MIDDLE, xm, ym);
if (m==6) mousedown(RIGHT, xm, ym);
if (m==7) mouseup(LEFT, xm, ym);
if (m==8) mouseup(MIDDLE, xm, ym);
if (m==9) mouseup(RIGHT, xm, ym);
if (m==10) mousedbl(LEFT, xm, ym);
if (m==11) mousedbl(MIDDLE, xm, ym);
if (m==12) mousedbl(RIGHT, xm, ym);
if (m==13) mousemove(xm, ym);
pause(p2);
}
function клик()
{
if(d<=lclick)return;
{
if(getkeystate(1))
{
while(getkeystate(1))sleep(5);
lclick++;
}
}
textout(0, 0, 0, "Клик левой кнопкой мыши: "+format(lclick), 1);
sleep(1);
}
}
}
5. Zireael - 25 Марта, 2021 - 06:18:13 - перейти к сообщению
Цитата:
но когда клик идет от бота то он не считывает, как это можно решить?
В функцию mouse_ доабвить lclick++;
6. Ilya001 - 25 Марта, 2021 - 06:23:14 - перейти к сообщению
Zireael пишет:
Цитата:
но когда клик идет от бота то он не считывает, как это можно решить?
В функцию mouse_ добавить lclick++;
Понял спасибо.