Kibor |
Отправлено: 10 Октября, 2013 - 17:53:11
|
Эксперт
Покинул форум
Сообщений всего: 8218
Дата рег-ции: Март 2013
Откуда: Одесса
Репутация: 357
|
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];//Координаты значка открытия карты на экране
мне тоже указать разные названия для каждого окна?
Конечно. И работать для каждого окна с отдельным участком скрипта. Отмечено красным что разные. |
|
|
Barabachka |
Отправлено: 11 Октября, 2013 - 23:12:52
|
Участник
Покинул форум
Сообщений всего: 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()" будет срабатывать через нужный промежуток времени? Не будет такого что по меньшему времени будут бафать то что еще не должно бафатьсо? |
|
|
Kibor |
Отправлено: 11 Октября, 2013 - 23:38:02
|
Эксперт
Покинул форум
Сообщений всего: 8218
Дата рег-ции: Март 2013
Откуда: Одесса
Репутация: 357
|
Данный код вообще работать не будет. То есть не так будет.
Будет мелькание окон. Вы проверяете в работе код?
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мин
}
}
Типа этого... |
|
|
Barabachka |
Отправлено: 11 Октября, 2013 - 23:52:07
|
Участник
Покинул форум
Сообщений всего: 88
Дата рег-ции: Сент. 2013
Репутация: 3
|
Kibor пишет: Кроме того что за игра?
Игра Л2, руоф.
Как мне выйти с положения и получить указатель на окно?
Kibor пишет: Вы проверяете в работе код? этот нет так как он вапще не закончен
В силу моей неопытности в этом деле возникает много вопросов вот и пытаюсь получить ответы от Вас) |
|
|
Kibor |
Отправлено: 12 Октября, 2013 - 00:19:14
|
Эксперт
Покинул форум
Сообщений всего: 8218
Дата рег-ции: Март 2013
Откуда: Одесса
Репутация: 357
|
Barabachka пишет: Игра Л2, руоф.
Как мне выйти с положения и получить указатель на окно?
Никак, по крайне мере с помощью Кибор.
Кибор не обходит и останавливает защиту. Получение указателя на окно на руоф блокируется.
Для работоспособности Кибор на руоф надо использовать анти антикликер. Это не обход защиты. Это работа в области, которую она не контролирует и не воспринимает это как эмуляцию.
Разберитесь сначала с одним окном. Я уже писал какие есть ограничения.
Если извратиться, то можно и с несколькими работать. Без указателей. Для этого вместо activate(w..); просто можно щелкать мышкой по заголовку необходимого окна активируя их. Окна должны быть расположены в постоянных доступных для щелчка местах.
Все функции не должны использовать указатели.
(Добавление)
Kote_UA пишет: вы писали что создадите автономного бота не зависимого от кибора, экак это сделать?
и как можно запустить кибор, что бы он работал в фоновом режиме, а я фильм смотрел?
и что значит ошибка: debug error, какой то там код ошибки, выкидует из кибора
Боюсь мне не хватит ума и телепатических способностей ответить. |
|
|
|