Автоматизация и боты

 Помощь      Поиск      Пользователи
Сайт Кибор     Программируемый кликер Кибор     Видео обучение     Заказать бот

 Страниц (6): « 1 2 [3] 4 5 6 »   

> Описание: Объяснение скриптов и помощь в их написании.
shumik
Отправлено: 11 Июля, 2013 - 13:05:08
Post Id



Пользователь
Прохожий


Покинул форум
Сообщений всего: 9
Дата рег-ции: Июль 2013  
Репутация: 0




я ничего от проги добиться немогу Щас вот просто двойной клик по иконке в координатах 100,50 нифига не получается тока курсор в то место ставиться
mousedbl(left, 100, 50);
sleep (25);
mousedbl(left, 100, 50);
sleep (25);
mouse(left, 100, 50);
sleep (25);
sleep(50); попробовал уже так
(Добавление)
пож напиши простейший скрипт нахождения 1 изображения на любом экране активном текущем и клик по нему мышки
(Добавление)
мне с автоитом проще было чем с кибером но здесь много плюсов
 
 Top
Kibor
Отправлено: 11 Июля, 2013 - 16:56:45
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8217
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 357




 shumik пишет:
я ничего от проги добиться немогу Щас вот просто двойной клик по иконке в координатах 100,50 нифига не получается тока курсор в то место ставиться
mousedbl(left, 100, 50);
sleep (25);
mousedbl(left, 100, 50);
sleep (25);
mouse(left, 100, 50);
sleep (25);
sleep(50); попробовал уже так


Естественно...

А если так?

mousedbl(LEFT, 100, 50);
sleep (2500);
mousedbl(LEFT, 100, 50);
sleep (2500);
mouse(LEFT, 100, 50);
sleep (2500);
sleep(50);

Где ты увидел в примере или справке что константа left пишется в маленьком регистре? Будьте внимательны и не будет таких проблем.
Тут даже проще, так как нет необходимости соблюдать установку пробелов, перевод строк и т.д. Даже имена переменных, функций и меток можно писать по русски. Но регистр и правила синтаксиса соблюдать надо.

Сложность языка заключается в изучение функций и их принимаемых параметров. Так же надо понять как работать с указателями на переменные, которых нет в других подобных программах и которые просто незаменимы в некоторых случаях и позволяют реализовать выполнение поставленной задачи не выполняемой в других программах автоматизации.

Но так благодаря этим функциям и указателям и существует возможность реализовать боты приведенные в качестве примеров...

 shumik пишет:
напиши простейший скрипт нахождения 1 изображения


Справка на эту тему. Там есть простейший пример и описание
Демострационный скрипт и описание
 
 Top
shumik
Отправлено: 12 Июля, 2013 - 20:55:08
Post Id



Пользователь
Прохожий


Покинул форум
Сообщений всего: 9
Дата рег-ции: Июль 2013  
Репутация: 0




Да с двойным кликом спасибо , мой косяк.
А по определению изображения на экране для меня слишком сложный пример.
Если можно простейший макрос из 2-3 строк на поиск изображения и клик по этим координатам. Чтоб без заморочек с активными окнами было. Заранее спасибо!
(Добавление)
да с калькулятором в примере я уже пробовал всё работает у меня, но не могу по координатам двойной клик мыши сделать что то неправильно делаю.
(Добавление)
я непонимаю смысла всяких скобок, квадратных, фигурных, зачем точки с запятой в конце
(Добавление)
mousedbl(LEFT,PosX_0, PosY_0);
(Добавление)
это из примера с калькулятором 52 ставлю вместо открытия блокнота и пото го ту н
 
 Top
Kibor
Отправлено: 12 Июля, 2013 - 22:38:08
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8217
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 357




 shumik пишет:
Если можно простейший макрос из 2-3 строк на поиск изображения и клик по этим координатам. Чтоб без заморочек с активными окнами было


CODE:

//В этом примере мы допускаем что на экране может быть одно искомое изображение
int Image[26][20];//Масив для записи в него загружаемого рисунка. 26 это ширина изображения, 20 высота.
int PosX[1], PosY[1];//Масивы для записи в них найденых координат левого верхнего угла искомого изображения. Так как ищем изображение в одном экземпляре то объявляем масив на 1.
int k;//В эту переменную запишется возвращаемое значение функции поиска изображений. Она возвращает количество найденых изображений или код ошибки. Код ошибки отрицательное число. Подробнее в справке.

loadimage (#Image[0][0], "C:\Image.bmp");//Загружаем изображение в масив Image

//Ищем одну копию этого изображения на экране. В переменные PosX[0] PosY[0] запишутся координаты левого верхнего угла найденого изображения
k=findimage(1, #Image[0][0], 0, #PosX[0], #PosY[0], 0, 0, 1366, 768, -1);

if (k==1)//Если найдено одно изображение кликаем по нему
{//В фигурных кнопках выполняется код если условие if истина
mousedbl(LEFT, PosX[0]+13, PosY[0]+10);//Кликаем по середине изображения на экране. Клик смещается на половину размеров изображения
}


CODE:

//В этом примере мы допускаем что на экране может быть до 20 искомых изображений
int Image[26][20];//Масив для записи в него загружаемого рисунка. 26 это ширина изображения, 20 высота.
int PosX[20], PosY[20];//Масивы для записи в них найденых координат левого верхнего угла искомого изображения.
int k;//В эту переменную запишется возвращаемое значение функции поиска изображений. Она возвращает количество найденых изображений или код ошибки. Код ошибки отрицательное число. Подробнее в справке.

loadimage (#Image[0][0], "C:\Image.bmp");//Загружаем изображение в масив Image

//Ищем до 20 копий этого изображения на экране. В масивы переменных PosX PosY запишутся координаты левого верхнего угла найденых изображений
//В PosX[0], PosY[0] координаты первой картинка, в PosX[1], PosY[1] второй и т.д.
k=findimage(20, #Image[0][0], 0, #PosX[0], #PosY[0], 0, 0, 1366, 768, -1);//Ищем все копии этого изображения на экране.

if (k>0)//Если нашлось хоть одно изображение перебираем в цикле все координаты и кликаем по ним по очереди
{//В фигурных кнопках выполняется код если условие if истина
int n=0;
a: if (n<k)
{//В фигурных кнопках выполняется код если n<k
mousedbl(LEFT, PosX[n]+13, PosY[n]+10);//Кликаем по середине изображения на экране. Клик смещается на половину размеров изображения
n++;
goto a;
}
}



 shumik пишет:
непонимаю смысла всяких скобок, квадратных, фигурных, зачем точки с запятой в конце

В квадратных скобках указывается размерность масивов, переменные. в фигурные заключается код который должен выполниться после if else при соблюдение истинности условий: логика
Так же в фигурные скобки заключается код отдельной вызываемой функции: функции

Точка с запятой означает конец строки (команды). В отличие от подобных программ в Кибор возможно записать одну длинную команду в несколько строк:
st: if (findimage(-1, #Image[0][0], 16777215,
#x[0], #y[0], 0, 2, wind.widthclient, wind.heightclient, wind)<1)goto st;
Этот код равносилен:
st: if (findimage(-1, #Image[0][0], 16777215, #x[0], #y[0], 0, 2, wind.widthclient, wind.heightclient, wind)<1)goto st;

Или несколько коротких в одну:
s: if (a<5){a++; goto s;}
Этот код равносилен:
s:
if (a<5)
{
a++;
goto s;
}

 shumik пишет:
mousedbl(LEFT,PosX_0, PosY_0);

mousedbl(LEFT,PosX_0[0], PosY_0[0]);
 
 Top
shumik
Отправлено: 18 Июля, 2013 - 15:44:11
Post Id



Пользователь
Прохожий


Покинул форум
Сообщений всего: 9
Дата рег-ции: Июль 2013  
Репутация: 0




спасибо большое с этим разобрался вроде Теперь немогу
int Image_1[3][1];
int Image_0[3][1];
int PosX_0[1], PosY_0[1];
int PosA_0[1], PosS_0[1];
int k;
int f;
int n;
loadimage (#Image_0[0][0], "C:\Image_0.bmp"Подмигивание;
loadimage (#Image_1[0][0], "C:\Image_1.bmp"Подмигивание;
int color, xe, ye;
getdisplay(color, xe, ye);
n:
k=findimage(1, #Image_0[0][0], 255, #PosX_0[0], #PosY_0[0], 0, 0, xe, ye, -1);
if (k==1);
{
mousedbl(LEFT,PosX_0[0], PosY_0[0]) ;
sleep(900);
goto n ;
}
f=findimage(1, #Image_1[0][0], 255, #PosA_0[0], #PosS_0[0], 0, 0, xe, ye, -1);
if (f==1);
{
mousedbl(LEFT,PosA_0[0], PosS_0[0]);
sleep(900);
goto n ;
}
sleep(900);
goto n;
(Добавление)
немогу разобраться как с двумя и более разными изображениями разбираться?
 
 Top
Kibor
Отправлено: 18 Июля, 2013 - 20:54:20
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8217
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 357




 shumik пишет:
if (k==1);
{

 shumik пишет:
if (f==1);
{

Ошибка. После if (k==1) и if (f==1) не надо ставить точку с запятой. Логические операции

 shumik пишет:
int Image_1[3][1];
int Image_0[3][1];

Рисунки имеют размер 3 на 1 пикселей?

 shumik пишет:
int n;

 shumik пишет:
n:

 shumik пишет:
goto n ;

Зачем тут объявлена переменная n? Тем более что такое же имя имеет метка перехода что не допускается. Метки не могут иметь одинаковые имена с переменными.

Исправить эти ошибки и должно работать.

Код:
CODE:

int Image_1[3][1];
int Image_0[3][1];
int PosX_0[1], PosY_0[1];
int PosA_0[1], PosS_0[1];
int k;
int f;
loadimage (#Image_0[0][0], "C:\Image_0.bmp");
loadimage (#Image_1[0][0], "C:\Image_1.bmp");
int color, xe, ye;
getdisplay(color, xe, ye);
n:
k=findimage(1, #Image_0[0][0], 255, #PosX_0[0], #PosY_0[0], 0, 0, xe, ye, -1);
if (k==1)
{
mousedbl(LEFT,PosX_0[0], PosY_0[0]) ;
sleep(900);
goto n ;
}
f=findimage(1, #Image_1[0][0], 255, #PosA_0[0], #PosS_0[0], 0, 0, xe, ye, -1);
if (f==1)
{
mousedbl(LEFT,PosA_0[0], PosS_0[0]);
sleep(900);
goto n ;
}
sleep(900);
goto n;
 
 Top
shumik
Отправлено: 18 Июля, 2013 - 22:53:11
Post Id



Пользователь
Прохожий


Покинул форум
Сообщений всего: 9
Дата рег-ции: Июль 2013  
Репутация: 0




спасибо Агромное!
 
 Top
Kibor
Отправлено: 18 Июля, 2013 - 23:22:54
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8217
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 357




Пожалуйста Дед Мороз
 
 Top
sicosha
Отправлено: 25 Июля, 2013 - 16:22:46
Post Id



Пользователь
Прохожий


Покинул форум
Сообщений всего: 19
Дата рег-ции: Июль 2013  
Репутация: 1




Здравствуйте! Подскажите пожалуйста:
Как мне реализовать печать в блокнот, того что посчитано в боте?
например стратегия Маргтингейла. Если проиграешь, то умножаешь ставку на 2. Если выиграешь - к начальной ставке. С определениями выигрыша\проигрыша я разобрался, осталось понять как печатать результат из бота.
 
 Top
Kibor
Отправлено: 25 Июля, 2013 - 18:16:36
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8217
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 357




 sicosha пишет:
Как мне реализовать печать в блокнот, того что посчитано в боте?


Преобразовать число в string: как преобразовать int или double к string

Затем:

Можно так. Дописывает текст:
CODE:
win w=window ("Безымянный — Блокнот", "Notepad", -1);//Указатель блокнот
int result=12345;//Число которое надо напечатать
key("Результат = "+format(result),1, 1, w);


Можно в свернутое окно блокнота. Работает только со свернутым окном и меняет весь текст:
CODE:
win w=window (-1, "Edit", window ("Безымянный — Блокнот", "Notepad", -1));//Указатель на поле для ввода текста блокнота
int result=123456;//Число которое надо напечатать
sendtext("Результат = "+format(result), w);


Можно выбрать другой способ тут:Нажатие кнопок клавиатуры
 
 Top
Страниц (6): « 1 2 [3] 4 5 6 »
Сейчас эту тему просматривают: 10 (гостей: 10, зарегистрированных: 0)
« Готовые скрипты »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 




Powered by