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

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

 Страниц (1): [1]   

> Описание: флешка в разных браузерах
Beichtvater
Отправлено: 20 Сентября, 2014 - 16:34:54
Post Id



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


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




Доброго.

Собрал скрипт на монотонку в одной браузерке. Все пашет, все мило.
Но.
Играется в несколько акков в разных браузерах, отображение там чуть плавает в зависимости от движка (хромы (новая опера, сам хром, драгон) кажут одно, старая опера или там огнепанд - другое. И один скрипт на все окна не ляжет.
Почитал про контролы - для привязки к полю надо идентифицировать окно, просто команды "кликни там-то относительно контрола, который перед тобой" нет. Или не нашел. Или надо хитрить.

Короче. Могу, конечно, тупо проциклить окна по локальным координатам самой флешки (и сделаю так, если тут другого ответа не будет) но:

можно ли сделать так, допустим, открыт только один браузер, в нем флешка. Она, в принципе, для всех одинаковая, координаты плавают из-за панелек в самих браузерах. Можно как-то прицепиться именно к самой флешке и работать в ее координатах (вкладку там, блин, еще что-нибудь), не идентифицируя окно и браузер?

Все остальное сам смогу%)

(Отредактировано автором: 20 Сентября, 2014 - 16:37:02)

 
 Top
Kibor
Отправлено: 20 Сентября, 2014 - 17:00:45
Post Id



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


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




1 в браузерных играх нет контролов. они нарисованы и не имеют в винде указателя.
привязать к разным браузерам можно так:

win w, w1;// то указатели на разные флешки
int x, y;

e1: if (getkeystate(192)==0) {sleep(10); goto e1;}
getmouse(x, y);
w=getwindow(1, x, y);
a1: if (getkeystate(192)==1){sleep(10); goto a1;}

e2: if (getkeystate(192)==0) {sleep(10); goto e2;}
getmouse(x, y);
w1=getwindow(1, x, y);
a2: if (getkeystate(192)==1){sleep(10); goto a2;}


принцип- запускаем скрипт. наводим мышь на первую флеш нажимаем ё
в w указатель на первую
наводим мышь на вторую флешку нажимаем ё
в w1 указатель на вторую флеш

по поводу разного изображения использовать расширенную findimage
 
 Top
Beichtvater
Отправлено: 20 Сентября, 2014 - 17:55:13
Post Id



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


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




Все, я понял. Спасибо большое. Привязаться локально.
Стыдно самому не допереть=\

Последнее, пожалуйста, гляньте, если не слишком трудно (или смешно%)

if (
(getcolor(1150, 384)==getcolor(1240, 384))
&&
(getcolor(1128, 394)==getcolor(1213, 394))
)
{
mouse(LEFT, 933, 588)
}
else
{
mouse(RIGHT, 1280, 302)
}
;

с моей точки зрения тут написано: Если в паре_1 равенство верно И в паре_2 равенство верно, кликаем левой. Иначе - правой.
У меня всегда срабатывает иначе, хотя цвета 100% равны (на блокноте тестил пустом).

А надо именно это - "если хотя бы в одной паре равенство ложно, кликаем правой".
Не пойму, где грабли.

(Отредактировано автором: 20 Сентября, 2014 - 17:56:15)

 
 Top
Kibor
Отправлено: 20 Сентября, 2014 - 18:12:01
Post Id



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


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




В баге кибор..
редко, но бывает. посмотрю исправлю.

 Цитата:
if ((1==1)&&(5==5))
{
mouse(LEFT, 933, 588)
}
else
{
mouse(RIGHT, 1280, 302)
}

демонстрирует неверную работу.

на данный момент просто удалите лишние скобки. они не нужны в этом слу чае
 Цитата:
if (1==1&&5==5)
{
mouse(LEFT, 933, 588)
}
else
{
mouse(RIGHT, 1280, 302)
}

то есть
 Цитата:
if (
getcolor(1150, 384)==getcolor(1240, 384)
&&
getcolor(1128, 394)==getcolor(1213, 394)
)
{
mouse(LEFT, 933, 588)
}
else
{
mouse(RIGHT, 1280, 302)
}
 
 Top
Beichtvater
Отправлено: 20 Сентября, 2014 - 18:57:15
Post Id



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


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




Да блин. Это фантастика.
Перед тем, как написать, я пробовал варианты со всеми скобками. Все, какие только можно воткнуть. От терпимых до откровенно неверных. И этот тоже был. И не работал!
Уму не растяжимо.

Но - спасибо. Это, собственно, и есть то самое хитрозадничное решение с "плаванием" флешек в разных браузерах - проверить оба возможных варианта и среагировать при любом нарушении. Просто и изящно, как дрова.

Спасибо еще раз, задача решена.
 
 Top
Kibor
Отправлено: 21 Сентября, 2014 - 13:28:07
Post Id



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


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




Обновил программу. Баг устранил с скобками. теперь убирает лишние скобки в условие сам и это не будет приводить к работе не верной.
 
 Top
Beichtvater
Отправлено: 22 Сентября, 2014 - 17:26:21
Post Id



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


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




Да, я спалил вечером апдейт. Очень круто, спасибо.

Короче, вести с полей (скорее больше для смеха):
Бот для RailNation, паровозная стратежка, 5 аккаунтов в двух мирах, итого 10 тел, плюс у всех куча замов-реальных людей, итого около 15-20 тел в сумме.

Уже сейчас: (Отобразить)

Блин. Ограничение на длину поста всего в 2кб это ниочем, честно.
Приходится извращаться в результате.
Todo: (Отобразить)

По сабжу: (Отобразить)
 
 Top
Kibor
Отправлено: 22 Сентября, 2014 - 19:06:04
Post Id



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


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




Рад что есть результаты)
Давно не замечено падения Кибор. Причину ошибку ищите.

case...
в Кибор самое необходимое из чего можно лепить логику. на самом деле без него прекрасно обойтись можно не хуже.
перебор 6 или 106 рис можно делать так:
 Цитата:
int Image_ris[5][100][100];
int d, xx, yy;

for (d=0; d<5; d++)loadimage (#Image_ris[d][0][0], "C:\Image_"+format(d)+".bmp");

for (d=0; d<5; d++)
{
if (findimage(1, #Image_ris[d][0][0], 0, #xx, #yy, 0, 0, 1366, 716, -1)==1)
{
messagebox("нашли рис номер "+format(d));
goto h;
}
}
h:;
(для просмотра ссылки Вам необходимо авторизоваться)
контроль вылета бота иль программы так:
 Цитата:
win w;
f: w=window ("Калькулятор", "CalcFrame", -1);
if (w==0)
{
start ("%windir%\system32\calc.exe");
}
pause(1000);
goto f;

будет запуск калькулятора который не закрыть.


Скан рисованных чисел Кибор делается легко. Я не раз делал в разных играх и даже если одна и та же цифра имела несколько вариантов.
 
 Top
Beichtvater
Отправлено: 24 Сентября, 2014 - 18:46:42
Post Id



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


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




Вы восхитительны!
Я последний раз кодил 10+ лет назад (выпуск 2004-го года), деградация налицо.
Решение с вылетами такое простое, а мне не пришло в голову.

У меня падали отдельные ехе, сволочи, вообще без возвратных данных, то есть тупо виндовые "закрыть программу". Как только появятся какие-то данные, я сообщу, но пока пусто.
Еще были падения самого кибора, если наделать вложенных ИФ-ов, используя фигурные скобки для else, и в эти скобки вложить еще один такой же ИФ с else. Видимо, его мозг закипает в попытке понять, где конкретно какая скобка и для чего.
Но это проблемы говнокода, надо просто включать мозг и писать изящнее, так что к проблемам программы я это не отношу.

К сожалению, я заразился ботостроением только сейчас (бот для RN был написан за день буквально) и очень в разрез с основной деятельностью, боюсь, дальше все будет сильно медленнее. Не буду писать ничего про скан, пока не сяду за него всерьез и не будут какие-то результаты.

Скажите пожалуйста, а есть ли список ВСЕХ используемых Кибором слов?
Это убило бы огромную кучу вопросов.
Например, не видел for в справке. Хотя, казалось бы, перерыл все. Неужели пропустил?

ЗЫ. смайлы подпортили код немножко %)

(Отредактировано автором: 24 Сентября, 2014 - 18:48:00)

 
 Top
Kibor
Отправлено: 25 Сентября, 2014 - 00:59:02
Post Id



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


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




Из за вложений if не может падать. ошибка в скрипте.

 Beichtvater пишет:
есть ли список ВСЕХ используемых Кибором слов?

правая кнопка в кибор
начиная после вставить все смотрите. в меню
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Вопросы и решение проблем »


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




Powered by