abbateur |
Отправлено: 20 Июля, 2015 - 20:28:24
|
Прохожий
Покинул форум
Сообщений всего: 5
Дата рег-ции: Июль 2015
Репутация: 0
|
Всем привет,я в киборе новенький,потому не пинайте.
Вообщем есть игра,все что требуется от бота - жать по одной кнопке левой кнопкой мыши раз в 10 секунд (Алгоритм - нужно найти изображение,кликнуть и подождать).
Информация о системе (Отобразить)
Cpu: amd fx 6300 .
Gpu: nvidia gts 450 1 gb .
Материнка: 970a-g46 .
Os: Win 7 x64,максимальная.
Aero включен.
Вот код бота,который я пытаюсь запустить:
CODE:
win w=window ("Neocron 2 - Beyond Dome of York", "Neocron 2", -1);
int Image_0[29][5];
loadimage (#Image_0[0][0], "C:\Users\c0mp\Desktop\Image_0.bmp");
int PosX_0[1];
int PosY_0[1];
n: if (findimage(-1, #Image_0[0][0], 10013798, #PosX_0[0], #PosY_0[0], 0, 0, 1024, 768, w)==1)
{
mouse (LEFT,PosX_0[0], PosY_0[0], w);
sleep(4000);
}
goto n;
Скрин окна игры (Отобразить)Нажмите для увеличения
При нажатии на кнопку воспроизведения кибор зависает на долю секунды и возвращает обратно в окно редактирования скрипта,причем без вывода каких-либо ошибок.
Пробовал запускать с правами администратора,результат аналогичен запуску с обычными правами - зависание и возвращение в окно редактирования скрипта.
Чем это может быть вызвано и как это исправить? |
|
|
Kibor |
Отправлено: 20 Июля, 2015 - 21:54:15
|
Эксперт
Покинул форум
Сообщений всего: 8217
Дата рег-ции: Март 2013
Откуда: Одесса
Репутация: 357
|
abbateur пишет: mouse (LEFT,PosX_0[0], PosY_0[0], w);
http://filesd.net/kibor/mouse.php..
Цитата: mouse(LEFT, кликX, кликY, 1, wind);
Цитата: Одинарный клик кнопками мыши в клиентских координатах относительно окна или контрола wind
Если четвертый параметр 1 - активировать окно перед кликом, если 0 - не активировать.
и еще..
abbateur пишет: n: if (findimage(-1, #Image_0[0][0], 10013798, #PosX_0[0], #PosY_0[0], 0, 0, 1024, 768, w)==1)
http://filesd.net/kibor/findimage.php
Цитата: Функция возвращает колическво найденых изображений.
Цитата: Первый параметр - если -1 - искать все совпадающие изображения и записывать их в масив. Если не -1 , к примеру 5... искать до 5 включительно совпадений и завершать поиск.
abbateur пишет: Скрипт теперь запускается,но похоже неправильно находит изображение,или перемещает курсор не туда,куда надо.
Если быть конкретнее:
После запуска скрипта сворачивается окно и курсор начинает перемещаться в верхний левый угол экраны,причем скачкообразно,с промежутками равными sleep'у.
Значит такой рисунок. протестируйте на чем то более конкретном.
Что за цвет фона 10013798??
не он ли и является цветом текста?
тогда ищет просто белое. |
|
|
Kibor |
Отправлено: 20 Июля, 2015 - 23:50:51
|
Эксперт
Покинул форум
Сообщений всего: 8217
Дата рег-ции: Март 2013
Откуда: Одесса
Репутация: 357
|
abbateur пишет: Добавил программу,отредактированный скрипт,заточенный под нее.
Абсолютно идентичная проблема - не хочет искать изображение и все тут,однако теперь он хоть фокусирует окно.
Цитата: win w=window ("Form", "obj_Form", -1);
int Image_2[23][9];
loadimage (#Image_2[0][0], "C:\kibortest\Image_1.bmp");
int PosX_2[1];
int PosY_2[1];
n: if(findimage(1, #Image_2[0][0], 15790320, #PosX_2[0], #PosY_2[0], 0, 0, 403, 276, w)==1)
{
mouse(LEFT,PosX_2[0], PosY_2[0], 1, w);
sleep(4000);
}
goto n;
(для просмотра ссылки Вам необходимо авторизоваться) номер 5.
не нравится мне цвет фона 15790320
Это цвет Диалога. и он фоновый. и от картинки остался только черный цвет текста.
так он будет искать все черное.
Цитата: win w=window ("Form", "obj_Form", -1);
int Image_2[50][50];
loadimage (#Image_2[0][0], "C:\Image_0.bmp");
int PosX_2[1];
int PosY_2[1];
n: if(findimage(1, #Image_2[0][0], -1, #PosX_2[0], #PosY_2[0], 0, 0, 403, 276, w)==1)
{
mouse(LEFT,PosX_2[0], PosY_2[0], 1, w);
sleep(4000);
}
goto n;
проверил.
работает. находит и жмет. |
|
|
|