Можно рассматривать как демо пример.
Если надо реализовать примерно реалистичное перемещение мыши можно юзать этот скрипт..
функцию
Цитата:
function mouse_move(int xf, int yf, double skor, int ran)
{
//////
}
{
//////
}
кинуть в свой скрипт.
использовать
Цитата:
mouse_move(178, 227, 10, 15);
параметр первый координата X, второй Y.
третий скорость (чем больше тем тише едет)
четвертый величина искривлений..
CODE:
pause(1000);
loop(5)
{
mousedown(LEFT);
mouse_move(178, 227, 10, 15);
mouseup(LEFT);
sleep(100);
mousedown(LEFT);
mouse_move(1277, 191, 10, 15);
mouseup(LEFT);
sleep(100);
mousedown(LEFT);
mouse_move(1298, 686, 10, 15);
mouseup(LEFT);
sleep(100);
mousedown(LEFT);
mouse_move(170, 662, 10, 15);
mouseup(LEFT);
sleep(100);
}
function mouse_move(int xf, int yf, double skor, int ran)
{
int xs, ys, xf1=xf, yf1=yf, x, y, xx, yy, p, n, k=4;
double rast, shag, shagX, shagY;
int pxs[5], pys[5];
int pa1[5], px[5], py[5];
double pa2[5];
getmouse(xs, ys);
shagX=(xf-xs)/k;
shagY=(yf-ys)/k;
px[0]=xs+shagX+rand(-ran, ran);
py[0]=ys+shagY+rand(-ran, ran);
pxs[0]=xs;
pys[0]=ys;
px[1]=px[0]+shagX+rand(-ran, ran);
py[1]=py[0]+shagY+rand(-ran, ran);
pxs[1]=px[0];
pys[1]=py[0];
px[2]=px[1]+shagX+rand(-ran, ran);
py[2]=py[1]+shagY+rand(-ran, ran);
pxs[2]=px[1];
pys[2]=py[1];
px[3]=xs+shagX*4+rand(-ran, ran);
py[3]=ys+shagY*4+rand(-ran, ran);
pxs[3]=px[2];
pys[3]=py[2];
px[4]=xf1;
py[4]=yf1;
pxs[4]=pxs[3];
pys[4]=pys[3];
pa1[0]=5; pa2[0]=8;
pa1[1]=4; pa2[1]=4;
pa1[2]=2; pa2[2]=2.5;
pa1[3]=1; pa2[3]=1.333;
pa1[4]=0; pa2[4]=1;
for (n=0; n<k; n++)
{
xf=px[n];
yf=py[n];
xs=pxs[n];
ys=pys[n];
p=0; xx=0; yy=0;
if (xs>xf)xx=-1;
if (xs<xf)xx=1;
if (xs==xf)p++;
if (ys>yf)yy=-1;
if (ys<yf)yy=1;
if (ys==yf)p++;
rast=sqrt((xf-xs)*(xf-xs)+(yf-ys)*(yf-ys));
if (rast>1)
{
shag=(rast-1)/sqrt(rast);
shagX=(xf-xs)/shag;
shagY=(yf-ys)/shag;
loop(shag/pa2[n])
{
if (xx==-1)
{
xs=xs+shagX;
if (xs<xf){xs=xf; xx=0; p++;}
}
if (xx==1)
{
xs=xs+shagX;
if (xs>xf){xs=xf; xx=0; p++;}
}
if (yy==-1)
{
ys=ys+shagY;
if (ys<yf){ys=yf; yy=0; p++;}
}
if (yy==1)
{
ys=ys+shagY;
if (ys>yf){ys=yf; yy=0; p++;}
}
if (p==2) goto dl;
mousemove(xs+rand(-pa1[n], pa1[n]), ys+rand(-pa1[n], pa1[n]));
sleep(skor);
}
}
dl:;
}
mousemove(xf1, yf1);
}
loop(5)
{
mousedown(LEFT);
mouse_move(178, 227, 10, 15);
mouseup(LEFT);
sleep(100);
mousedown(LEFT);
mouse_move(1277, 191, 10, 15);
mouseup(LEFT);
sleep(100);
mousedown(LEFT);
mouse_move(1298, 686, 10, 15);
mouseup(LEFT);
sleep(100);
mousedown(LEFT);
mouse_move(170, 662, 10, 15);
mouseup(LEFT);
sleep(100);
}
function mouse_move(int xf, int yf, double skor, int ran)
{
int xs, ys, xf1=xf, yf1=yf, x, y, xx, yy, p, n, k=4;
double rast, shag, shagX, shagY;
int pxs[5], pys[5];
int pa1[5], px[5], py[5];
double pa2[5];
getmouse(xs, ys);
shagX=(xf-xs)/k;
shagY=(yf-ys)/k;
px[0]=xs+shagX+rand(-ran, ran);
py[0]=ys+shagY+rand(-ran, ran);
pxs[0]=xs;
pys[0]=ys;
px[1]=px[0]+shagX+rand(-ran, ran);
py[1]=py[0]+shagY+rand(-ran, ran);
pxs[1]=px[0];
pys[1]=py[0];
px[2]=px[1]+shagX+rand(-ran, ran);
py[2]=py[1]+shagY+rand(-ran, ran);
pxs[2]=px[1];
pys[2]=py[1];
px[3]=xs+shagX*4+rand(-ran, ran);
py[3]=ys+shagY*4+rand(-ran, ran);
pxs[3]=px[2];
pys[3]=py[2];
px[4]=xf1;
py[4]=yf1;
pxs[4]=pxs[3];
pys[4]=pys[3];
pa1[0]=5; pa2[0]=8;
pa1[1]=4; pa2[1]=4;
pa1[2]=2; pa2[2]=2.5;
pa1[3]=1; pa2[3]=1.333;
pa1[4]=0; pa2[4]=1;
for (n=0; n<k; n++)
{
xf=px[n];
yf=py[n];
xs=pxs[n];
ys=pys[n];
p=0; xx=0; yy=0;
if (xs>xf)xx=-1;
if (xs<xf)xx=1;
if (xs==xf)p++;
if (ys>yf)yy=-1;
if (ys<yf)yy=1;
if (ys==yf)p++;
rast=sqrt((xf-xs)*(xf-xs)+(yf-ys)*(yf-ys));
if (rast>1)
{
shag=(rast-1)/sqrt(rast);
shagX=(xf-xs)/shag;
shagY=(yf-ys)/shag;
loop(shag/pa2[n])
{
if (xx==-1)
{
xs=xs+shagX;
if (xs<xf){xs=xf; xx=0; p++;}
}
if (xx==1)
{
xs=xs+shagX;
if (xs>xf){xs=xf; xx=0; p++;}
}
if (yy==-1)
{
ys=ys+shagY;
if (ys<yf){ys=yf; yy=0; p++;}
}
if (yy==1)
{
ys=ys+shagY;
if (ys>yf){ys=yf; yy=0; p++;}
}
if (p==2) goto dl;
mousemove(xs+rand(-pa1[n], pa1[n]), ys+rand(-pa1[n], pa1[n]));
sleep(skor);
}
}
dl:;
}
mousemove(xf1, yf1);
}
так рисует в редакторе паинт прямоугольник по одним координатам циклом 5 раз..