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

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

 Страниц (13): « 1 2 3 4 [5] 6 7 8 9 » В конец    

> Описание: Не могу понять как высчитывать координаты точек
Barabachka
Отправлено: 10 Октября, 2013 - 17:26:56
Post Id



Пользователь
Участник


Покинул форум
Сообщений всего: 88
Дата рег-ции: Сент. 2013  
Репутация: 3




А если "function Pozicion_Image()" сделать под каждое окно отдельно с отдельным набором искомых изображений и назвать по разному "function Pozicion_Image_w1()"
Сама программа запомнит расположение этих изображений и будет-ли она их путать?
Просто если искать эти изображения каждый раз когда будет обращение к окну это будет отнимать кучу времени
(Добавление)
Если прга запомнит все эти координаты то в указателях
CODE:
int P_R_X[1], P_R_Y[1];//Координаты значка открытия карты на экране
мне тоже указать разные названия для каждого окна?
 
 Top
Kibor
Отправлено: 10 Октября, 2013 - 17:53:11
Post Id



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


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




 Barabachka пишет:
А если "function Pozicion_Image()" сделать под каждое окно отдельно с отдельным набором искомых изображений

И конечно что такое изображение будет в каждом окне найдено. Игра ж одна.. :)

 Barabachka пишет:
Просто если искать эти изображения каждый раз когда будет обращение к окну это будет отнимать кучу времени

Зачем каждый раз? Она вызывается при запуске и все.

 Цитата:
win w1=window ("имя окна игры", "класс окна игры", -1);
w1.name ="новое имя окна игры1";
movewindow(w1);sleep(500);
win w2=window ("имя окна игры", "класс окна игры", -1);
w2.name ="новое имя окна игры2";
movewindow(w2);sleep(500);
win w3=window ("имя окна игры", "класс окна игры", -1);


if (Pozicion_Image()==-1)goto er;//Перед циклом ......

l:;

//Тута скрипт в цикле

goto l;


er:;

function Pozicion_Image()//Узнать позиции рисунков на экране для обозначения координат окна игры и необходимых элементов для работы бота
{
if (findimage(1, #PrivyazkaXY[0][0], 0, #P_X1[0], #P_Y1[0], 0, 0, w1.widthclient, w1.heightclient, w1)==0){messagebox("Не найден в игре рисунок кнопки настройки чата w1. Позиция не определена."); return -1;}
if (findimage(1, #PrivyazkaXY[0][0], 0, #P_X2[0], #P_Y2[0], 0, 0, w2.widthclient, w2.heightclient, w2)==0){messagebox("Не найден в игре рисунок кнопки настройки чата w2. Позиция не определена."); return -1;}
if (findimage(1, #PrivyazkaXY[0][0], 0, #P_X3[0], #P_Y3[0], 0, 0, w3.widthclient, w3.heightclient, w3)==0){messagebox("Не найден в игре рисунок кнопки настройки чата w3. Позиция не определена."); return -1;}
return 0;
}


 Barabachka пишет:
int P_R_X[1], P_R_Y[1];//Координаты значка открытия карты на экране
мне тоже указать разные названия для каждого окна?

Конечно. И работать для каждого окна с отдельным участком скрипта. Отмечено красным что разные.
 
 Top
Barabachka
Отправлено: 10 Октября, 2013 - 21:32:39
Post Id



Пользователь
Участник


Покинул форум
Сообщений всего: 88
Дата рег-ции: Сент. 2013  
Репутация: 3




Помогите плиз с кодом
CODE:
if (loadimage (#Pet_okno[0][0], "C:\L2_online_win_7_64\Pet_okno.bmp")==-1)return -1;

Если у бафера нет пета в окне прога выдаст ошибку. Как мне обойти этот момент именно с 1 окном из 3х?
(Добавление)
А тут есть такая функция замены определенного значения или сочетания знаков на другое. Вобщем вызывается табличка там в 1 строке пишиш что нужно заменить, а во 2 на что заменить, после просто листаеш совпадения и меняеш если это необходимо.
 
 Top
Kibor
Отправлено: 10 Октября, 2013 - 22:08:34
Post Id



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


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




Не искать для одного окна...
Можно не переходить в конец скрипта а продолжать его даже если не найдено...
(Добавление)
Нет. Или поиск, или через блокнот.
 
 Top
Barabachka
Отправлено: 11 Октября, 2013 - 23:12:52
Post Id



Пользователь
Участник


Покинул форум
Сообщений всего: 88
Дата рег-ции: Сент. 2013  
Репутация: 3




CODE:
function Baf()//Тут баф варка и бафы сумов на окнах
{
activate(w3);
if (gettime()-t>1740000)
{
Clic_Mouse(w3_1memb_x, w3_1memb_y); sleep(rand(250, 350));//взять в таргет первого мембера
Clic_Mouse(w3_Fk_X[9], w3_Fk_Y[9]); sleep(rand(250, 350));//Баф гармонии берса
Clic_Mouse(w3_2memb_xб w3_2memb_y); sleep(rand(250, 350));//Взять в таргет второго мембера
Clic_Mouse(w3_Fk_X[9], w3_Fk_Y[9]); sleep(rand(250, 350));//Баф гармонии берса
//Баф поэм и сопротивлений (все что на 30 мин даетса)
Clic_Mouse(w3_Fk_X[7_2], w3_Fk_Y[7_2]); sleep(rand(250, 350));
Clic_Mouse(w3_Fk_X[8_2], w3_Fk_Y[8_2]); sleep(rand(250, 350));
Clic_Mouse(w3_Fk_X[9_2], w3_Fk_Y[9_2]); sleep(rand(250, 350));
Clic_Mouse(w3_Fk_X[10_2], w3_Fk_Y[10_2]); sleep(rand(250, 350));
Clic_Mouse(w3_Fk_X[11_2], w3_Fk_Y[11_2]); sleep(rand(250, 350));
Clic_Mouse(w3_Fk_X[12_2], w3_Fk_Y[12_2]); sleep(rand(250, 350));
Clic_Mouse(w3_Fk_X[7_3], w3_Fk_Y[7_3]); sleep(rand(250, 350));
Clic_Mouse(w3_Fk_X[8_3], w3_Fk_Y[8_3]); sleep(rand(250, 350));
Clic_Mouse(w3_Fk_X[9_3], w3_Fk_Y[9_3]); sleep(rand(250, 350));
t=gettime();
}//Баф через 29мин

if (gettime()-t>270000)
{
//Баф сонат на 5 мин
Clic_Mouse(w3_Fk_X[10_3], w3_Fk_Y[10_3]); sleep(rand(250, 350));
Clic_Mouse(w3_Fk_X[11_3], w3_Fk_Y[11_3]); sleep(rand(250, 350));
Clic_Mouse(w3_Fk_X[12_3], w3_Fk_Y[12_3]); sleep(rand(250, 350));
t=gettime();
}

activate(w1);
if (gettime()-t>1740000)
{
Clic_Mouse(w1_Fk_X[1_3], w1_Fk_Y[1_3]); sleep(rand(250, 350));
Clic_Mouse(w1_Fk_X[2_3], w1_Fk_Y[2_3]); sleep(rand(250, 350));
t=gettime();//Баф сума 1го окна на 29мин
}

activate(w2);
if (gettime()-t>1740000)
{
Clic_Mouse(w2_Fk_X[1_3], w2_Fk_Y[1_3]); sleep(rand(250, 350));
Clic_Mouse(w2_Fk_X[2_3], w2_Fk_Y[2_3]); sleep(rand(250, 350));
t=gettime();//Баф сума 2го окна на 29мин
}
}

Тут нужно указывать "return" или "gettime()" будет срабатывать через нужный промежуток времени? Не будет такого что по меньшему времени будут бафать то что еще не должно бафатьсо?
 
 Top
Kibor
Отправлено: 11 Октября, 2013 - 23:38:02
Post Id



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


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




Данный код вообще работать не будет. То есть не так будет.
Будет мелькание окон. Вы проверяете в работе код?
Baf() вызывается в цикле адцать раз в секунду. в нем стоят:

CODE:
function Baf()//Тут баф варка и бафы сумов на окнах
{
activate(w3);
/////////////////////////

activate(w1);
/////////////////////////
activate(w2);

}


Кроме того что за игра?
В Л2 на офе указатель на окно вообще не получить. На фришке быстрее всего надо использовать такой код получения указателей
 Цитата:
win w1=window ("имя окна игры", "класс окна игры", -1);
sendtext("новое имя окна игры1", w1);sleep(500);
win w2=window ("имя окна игры", "класс окна игры", -1);
sendtext("новое имя окна игры2, "w2);sleep(500);
win w3=window ("имя окна игры", "класс окна игры", -1);



 Цитата:
function Baf()//Тут баф варка и бафы сумов на окнах
{
if (gettime()-t1>1740000)
{
activate(w3);
sleep(1000);

Clic_Mouse(w3_1memb_x, w3_1memb_y); sleep(rand(250, 350));//взять в таргет первого мембера
Clic_Mouse(w3_Fk_X[9], w3_Fk_Y[9]); sleep(rand(250, 350));//Баф гармонии берса
Clic_Mouse(w3_2memb_xб w3_2memb_y); sleep(rand(250, 350));//Взять в таргет второго мембера
Clic_Mouse(w3_Fk_X[9], w3_Fk_Y[9]); sleep(rand(250, 350));//Баф гармонии берса
//Баф поэм и сопротивлений (все что на 30 мин даетса)
Clic_Mouse(w3_Fk_X[7_2], w3_Fk_Y[7_2]); sleep(rand(250, 350));
Clic_Mouse(w3_Fk_X[8_2], w3_Fk_Y[8_2]); sleep(rand(250, 350));
Clic_Mouse(w3_Fk_X[9_2], w3_Fk_Y[9_2]); sleep(rand(250, 350));
Clic_Mouse(w3_Fk_X[10_2], w3_Fk_Y[10_2]); sleep(rand(250, 350));
Clic_Mouse(w3_Fk_X[11_2], w3_Fk_Y[11_2]); sleep(rand(250, 350));
Clic_Mouse(w3_Fk_X[12_2], w3_Fk_Y[12_2]); sleep(rand(250, 350));
Clic_Mouse(w3_Fk_X[7_3], w3_Fk_Y[7_3]); sleep(rand(250, 350));
Clic_Mouse(w3_Fk_X[8_3], w3_Fk_Y[8_3]); sleep(rand(250, 350));
Clic_Mouse(w3_Fk_X[9_3], w3_Fk_Y[9_3]); sleep(rand(250, 350));
t1=gettime();
}//Баф через 29мин

if (gettime()-t2>270000)
{
activate(w3);
sleep(1000);

//Баф сонат на 5 мин
Clic_Mouse(w3_Fk_X[10_3], w3_Fk_Y[10_3]); sleep(rand(250, 350));
Clic_Mouse(w3_Fk_X[11_3], w3_Fk_Y[11_3]); sleep(rand(250, 350));
Clic_Mouse(w3_Fk_X[12_3], w3_Fk_Y[12_3]); sleep(rand(250, 350));
t2=gettime();
}


if (gettime()-t3>1740000)
{
activate(w1);
sleep(1000);

Clic_Mouse(w1_Fk_X[1_3], w1_Fk_Y[1_3]); sleep(rand(250, 350));
Clic_Mouse(w1_Fk_X[2_3], w1_Fk_Y[2_3]); sleep(rand(250, 350));
t3=gettime();//Баф сума 1го окна на 29мин
}


if (gettime()-t4>1740000)
{
activate(w2);
sleep(1000);

Clic_Mouse(w2_Fk_X[1_3], w2_Fk_Y[1_3]); sleep(rand(250, 350));
Clic_Mouse(w2_Fk_X[2_3], w2_Fk_Y[2_3]); sleep(rand(250, 350));
t4=gettime();//Баф сума 2го окна на 29мин
}
}


Типа этого...
 
 Top
Barabachka
Отправлено: 11 Октября, 2013 - 23:52:07
Post Id



Пользователь
Участник


Покинул форум
Сообщений всего: 88
Дата рег-ции: Сент. 2013  
Репутация: 3




 Kibor пишет:
Кроме того что за игра?

Игра Л2, руоф.
Как мне выйти с положения и получить указатель на окно?
 Kibor пишет:
Вы проверяете в работе код?
этот нет так как он вапще не закончен
В силу моей неопытности в этом деле возникает много вопросов вот и пытаюсь получить ответы от Вас)
 
 Top
Kote_UA
Отправлено: 12 Октября, 2013 - 00:10:07
Post Id



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


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




вы писали что создадите автономного бота не зависимого от кибора, экак это сделать?
и как можно запустить кибор, что бы он работал в фоновом режиме, а я фильм смотрел?
и что значит ошибка: debug error, какой то там код ошибки, выкидует из кибора

(Отредактировано автором: 12 Октября, 2013 - 00:12:57)

 
 Top
Kibor
Отправлено: 12 Октября, 2013 - 00:19:14
Post Id



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


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




 Barabachka пишет:
Игра Л2, руоф.
Как мне выйти с положения и получить указатель на окно?

Никак, по крайне мере с помощью Кибор.
Кибор не обходит и останавливает защиту. Получение указателя на окно на руоф блокируется.

Для работоспособности Кибор на руоф надо использовать анти антикликер. Это не обход защиты. Это работа в области, которую она не контролирует и не воспринимает это как эмуляцию.

Разберитесь сначала с одним окном. Я уже писал какие есть ограничения.
Если извратиться, то можно и с несколькими работать. Без указателей. Для этого вместо activate(w..); просто можно щелкать мышкой по заголовку необходимого окна активируя их. Окна должны быть расположены в постоянных доступных для щелчка местах.
Все функции не должны использовать указатели.
(Добавление)
 Kote_UA пишет:
вы писали что создадите автономного бота не зависимого от кибора, экак это сделать?
и как можно запустить кибор, что бы он работал в фоновом режиме, а я фильм смотрел?
и что значит ошибка: debug error, какой то там код ошибки, выкидует из кибора

Боюсь мне не хватит ума и телепатических способностей ответить.
 
 Top
Kote_UA
Отправлено: 12 Октября, 2013 - 00:29:37
Post Id



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


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




[/quote]
Боюсь мне не хватит ума и телепатических способностей ответить.[/quote] ну первый вопрос то понятно, а вот 2 и 3 интересуют
 
 Top
Страниц (13): « 1 2 3 4 [5] 6 7 8 9 » В конец
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Вопросы и решение проблем »


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




Powered by