Приветствую авантюристы. Возникла пара вопросов.
как делить число, чтоб пилот сохранял дробную часть и учитывал её при дальнейших вычислениях? например 577 на 10, пилот вернет 57.Надо это мне для того чтобы move_smooth по своим расчетам реализовать. Принцип расчета в том что мы берем текущие корды мыши и вычитаем из координат, куда надо переместить 500 500, чтобы полученный отрезок уже разделить делителем 10 и двигать мышь с рандом промежутками времени. но если не приделать костыль в виде конечного перемещения обычным мувом в нужные корды 500 500, то курсор приедет с погрешностями в точку назначения, если текущие корды мыши не будут делиться на 10 или другой делитель без остатка. в коде все прописал. Есть решение?
Такую-же проблему испытываю при использовании winapiexec. Там с погрешностями двигает и работает странно в этом плане. Иногда четко иногда нет.
Просто для человекоподобия в игре надо двигать камерой, и принциаипльно важно после рандомных двиганий вернуть её на ту-же позицию, которую определить можно только по средству вычислений координат, а не визуально, чтоб корректно работал дальше бот. А корды погрености выдают...
Код
call movesmooth 500 500 //50 50
end_script
proc movesmooth #endx #endy #x1 #y1
set linedelay 0
//set #endx #endx + (-#x1 + random (#x1 * 2)) // это разброс 50 пикслеей туда и сюда если просто хотим поводить мышкой
//set #endy #endy + (-#y1 + random (#y1 * 2))
set #delitel 12
get mouse_pos #x #y // получаем текущие корды мыши чтобы
set #cx #endx - #x // вычесть из из координат куда надо переместить
set #cy #endy - #y // чтобы дать понять на сколько сдвинуть мышь от того где она до того куда надо
set #fx #cx / #delitel // затем получаем шаг путем деления
set #fy #cy / #delitel // полученных кординат, на столько будет двигаться мушь в 1 шаг
repeat #delitel // двигаем мышь столько раз на сколько разделили делителем
wait 1 + random (15)
set #x #x + #fx
set #y #y + #fy
move #x #y
end_repeat
//move #endx #endy // а это костыль если решения не найдется
get mouse_pos #x #y
log #x #y
end_proc