CODE:
win w1, w2, w3, w4;
int x, y;
textout( 0, 10, 10, "нажми ё над первым окном", 1);
while(getkeystate(192)==0) sleep(20);
while(getkeystate(192)==1) sleep(20);
beep(600, 300);
getmouse(x, y);
w1=getwindow(1, x, y);
textout( 0, 10, 10, "нажми ё над вторым окном", 1);
while(getkeystate(192)==0) sleep(20);
while(getkeystate(192)==1) sleep(20);
beep(500, 300);
getmouse(x, y);
w2=getwindow(1, x, y);
textout( 0, 10, 10, "нажми ё над третьим окном", 1);
while(getkeystate(192)==0) sleep(20);
while(getkeystate(192)==1) sleep(20);
beep(400, 300);
getmouse(x, y);
w3=getwindow(1, x, y);
textout( 0, 10, 10, "нажми ё над четвертым окном", 1);
while(getkeystate(192)==0) sleep(20);
while(getkeystate(192)==1) sleep(20);
beep(300, 300);
getmouse(x, y);
w4=getwindow(1, x, y);
textout( 0, -190, -110, "нажми ё над четвертым окном", 1);
int x, y;
textout( 0, 10, 10, "нажми ё над первым окном", 1);
while(getkeystate(192)==0) sleep(20);
while(getkeystate(192)==1) sleep(20);
beep(600, 300);
getmouse(x, y);
w1=getwindow(1, x, y);
textout( 0, 10, 10, "нажми ё над вторым окном", 1);
while(getkeystate(192)==0) sleep(20);
while(getkeystate(192)==1) sleep(20);
beep(500, 300);
getmouse(x, y);
w2=getwindow(1, x, y);
textout( 0, 10, 10, "нажми ё над третьим окном", 1);
while(getkeystate(192)==0) sleep(20);
while(getkeystate(192)==1) sleep(20);
beep(400, 300);
getmouse(x, y);
w3=getwindow(1, x, y);
textout( 0, 10, 10, "нажми ё над четвертым окном", 1);
while(getkeystate(192)==0) sleep(20);
while(getkeystate(192)==1) sleep(20);
beep(300, 300);
getmouse(x, y);
w4=getwindow(1, x, y);
textout( 0, -190, -110, "нажми ё над четвертым окном", 1);
Далее была задача адаптировать все дублирование под шутеры (где движение мышью от 1 лица играет огромное значение), поэтому заменил вторую часть варспировского кода Дантеса на код от Кибора отсюда -(для просмотра ссылки Вам необходимо авторизоваться) вот это:
CODE:
loop()
{
if (getkeystate(1)==1)
{
K=1;
while(getkeystate(1)==1)sleep(1);
K=2;
while(K==2)sleep(1);
}
sleep(1);
}
CREATE_TIMER(0, 5)
{
getmouse(X, Y);
X=X-w1.leftclient;
Y=Y-w1.topclient;
if (K==0)sendmousemove(X, Y, w2);
if (K==1)sendmousedown(LEFT, X, Y, w2);
if (K==2){sendmouseup(LEFT, X, Y, w2); K=0;}
}
{
if (getkeystate(1)==1)
{
K=1;
while(getkeystate(1)==1)sleep(1);
K=2;
while(K==2)sleep(1);
}
sleep(1);
}
CREATE_TIMER(0, 5)
{
getmouse(X, Y);
X=X-w1.leftclient;
Y=Y-w1.topclient;
if (K==0)sendmousemove(X, Y, w2);
if (K==1)sendmousedown(LEFT, X, Y, w2);
if (K==2){sendmouseup(LEFT, X, Y, w2); K=0;}
}
В итоге, с учетом моих скудных знаний, постарался соединить все это и своял такое поделие:
CODE:
win w1, w2, w3, w4;
int K=0, x, y;
textout( 0, 10, 10, "íàæìè ¸ íàä ïåðâûì îêíîì", 1);
while(getkeystate(192)==0) sleep(20);
while(getkeystate(192)==1) sleep(20);
beep(600, 300);
getmouse(x, y);
w1=getwindow(1, x, y);
textout( 0, 10, 10, "íàæìè ¸ íàä âòîðûì îêíîì", 1);
while(getkeystate(192)==0) sleep(20);
while(getkeystate(192)==1) sleep(20);
beep(500, 300);
getmouse(x, y);
w2=getwindow(1, x, y);
textout( 0, 10, 10, "íàæìè ¸ íàä òðåòüèì îêíîì", 1);
while(getkeystate(192)==0) sleep(20);
while(getkeystate(192)==1) sleep(20);
beep(400, 300);
getmouse(x, y);
w3=getwindow(1, x, y);
textout( 0, 10, 10, "íàæìè ¸ íàä ÷åòâåðòûì îêíîì", 1);
while(getkeystate(192)==0) sleep(20);
while(getkeystate(192)==1) sleep(20);
beep(300, 300);
getmouse(x, y);
w4=getwindow(1, x, y);
textout( 0, -190, -110, "íàæìè ¸ íàä ÷åòâåðòûì îêíîì", 1);
loop()
{
if (getkeystate(1)==1)
{
K=1;
while(getkeystate(1)==1)sleep(1);
K=2;
while(K==2)sleep(1);
}
sleep(1);
}
CREATE_TIMER(0, 5)
{
getmouse(x, y);
x=x-w1.leftclient;
y=y-w1.topclient;
if (K==0)sendmousemove(x, y, w2);
if (K==0)sendmousemove(x, y, w3);
if (K==0)sendmousemove(x, y, w4);
if (K==1)sendmousedown(LEFT, x, y, w2);
if (K==1)sendmousedown(LEFT, x, y, w3);
if (K==1)sendmousedown(LEFT, x, y, w4);
if (K==2){sendmouseup(LEFT, x, y, w2); K=0;}
if (K==2){sendmouseup(LEFT, x, y, w3); K=0;}
if (K==2){sendmouseup(LEFT, x, y, w4); K=0;}
}
int K=0, x, y;
textout( 0, 10, 10, "íàæìè ¸ íàä ïåðâûì îêíîì", 1);
while(getkeystate(192)==0) sleep(20);
while(getkeystate(192)==1) sleep(20);
beep(600, 300);
getmouse(x, y);
w1=getwindow(1, x, y);
textout( 0, 10, 10, "íàæìè ¸ íàä âòîðûì îêíîì", 1);
while(getkeystate(192)==0) sleep(20);
while(getkeystate(192)==1) sleep(20);
beep(500, 300);
getmouse(x, y);
w2=getwindow(1, x, y);
textout( 0, 10, 10, "íàæìè ¸ íàä òðåòüèì îêíîì", 1);
while(getkeystate(192)==0) sleep(20);
while(getkeystate(192)==1) sleep(20);
beep(400, 300);
getmouse(x, y);
w3=getwindow(1, x, y);
textout( 0, 10, 10, "íàæìè ¸ íàä ÷åòâåðòûì îêíîì", 1);
while(getkeystate(192)==0) sleep(20);
while(getkeystate(192)==1) sleep(20);
beep(300, 300);
getmouse(x, y);
w4=getwindow(1, x, y);
textout( 0, -190, -110, "íàæìè ¸ íàä ÷åòâåðòûì îêíîì", 1);
loop()
{
if (getkeystate(1)==1)
{
K=1;
while(getkeystate(1)==1)sleep(1);
K=2;
while(K==2)sleep(1);
}
sleep(1);
}
CREATE_TIMER(0, 5)
{
getmouse(x, y);
x=x-w1.leftclient;
y=y-w1.topclient;
if (K==0)sendmousemove(x, y, w2);
if (K==0)sendmousemove(x, y, w3);
if (K==0)sendmousemove(x, y, w4);
if (K==1)sendmousedown(LEFT, x, y, w2);
if (K==1)sendmousedown(LEFT, x, y, w3);
if (K==1)sendmousedown(LEFT, x, y, w4);
if (K==2){sendmouseup(LEFT, x, y, w2); K=0;}
if (K==2){sendmouseup(LEFT, x, y, w3); K=0;}
if (K==2){sendmouseup(LEFT, x, y, w4); K=0;}
}
В итоге привязка через Ё вроде работает и не багается, а дальше ничего не происходит. Не дублируются движения мыши и соответственно нажатия ею каких-либо кнопок. Я в кодерстве полный 0, поэтому можете мне помочь?