Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » Автокликер через поиск изображения

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

11. Kibor - 06 Января, 2014 - 10:54:46 - перейти к сообщению
На написание программы было не жалко. Вот и на хелпы приходится не жалеть. Радость
12. Ouroboros - 06 Января, 2014 - 13:37:35 - перейти к сообщению
Придется к вам снова за помощью обращатся) Взялся делать квест посложнее, в каждом раунде "игры" я тяну карту, и там уж как повезет - либо орел, либо решка(условно), если орел - то следущий раунд, решка - предложение по новой начать, и так до 8 раунда. В каждом раунде оглашается награда, которую можно забрать если "сдаться", эту награду я брал в качестве картинок способом который вы показали.Подумал сделать матрешку из if(){...;}else{if(){..}} такого типа, начал все это делать, первые действия идут по оконным координатам(гиперссылки не меняются), а потом, в зависимости от того, появляется ли изображение награды или нет совершать клик на "по новой" либо клик на "следующий раунд".Сходу выбило ошибку в (findimage(..)<1); и не могу понять, вроде все правильно сделал(хотя исходя из предыдущего опыта это врятли окажется правдой Ниндзя ), может он "матрешку" всю целиком рассматривает, и тогда идея в корне неверна, ведь изображения награды появляются шаг за шагом, и когда только приступаем к первому раунду она еще не оглашается? ошибку выкинуло до того, как совершились какие-либо действия мышкой(первые шли клики по координатам))картинки теперь залил правильно(проверил отдельно).Весь код скидывать не буду, там куча большая и однотипная, но может по первому кусочку можно будет что-либо сказать(изображение предварительно загрузил и прочие манипуляции с окнами)

CODE:

....
loop:
pause(100);
mouse(LEFT,1029,485,1,w);
pause(100);
mouse(LEFT, 1006,347,1,w);
if((findimage(1, #Image_1[0][0], 0, #PosX_1[0], #PosY_1[0], 0, 0, 1444, 944, w)<1){mouse(LEFT,982,313,1,w); goto loop;}
else{mouse(LEFT,997,353,1,w);pause(200);
if(...)
....
13. Kibor - 06 Января, 2014 - 13:56:35 - перейти к сообщению
Допускаются любые матрешки из if-ов, else и т.д.

Пока вижу ошибку из за невнимательности:
 Ouroboros пишет:
if((findimage(1, #Image_1[0][0], 0, #PosX_1[0], #PosY_1[0], 0, 0, 1444, 944, w)<1)

Зачем 2 скобки? Лишняя.

Так же советую вместо 1444, 944 вставить w.widthclient, w.heightclient если игра не имеет разрешения 1444, 944.

Если ошибка будет - нужен весь код не изменяя ничего.
14. Ouroboros - 06 Января, 2014 - 14:05:01 - перейти к сообщению
Исправил скобочку все равно ошибку пишет.Выложу код тогда целиком(черт в нем ногу сломит).

п.с. пробовал как непосредственно через переменные a-h(которым я приписывал файндимейдж), так и через сам файндимейдж, выдает одну и ту же ошибку.
Сообщение оказалось слишком большим, поэтому я его в тхт сохранил и залил(для просмотра ссылки Вам необходимо авторизоваться)
15. Kibor - 06 Января, 2014 - 14:16:50 - перейти к сообщению
Это весь код??
Где объявление переменных?
Загрузка изображений?

Я вижу только объявление int Image_1[66][11];
Где Image_2 и т.д.
Где int PosX_1[?], PosY_1[?] ?

http://kibor-bot.com/forum/topic...=14&topic=10

дополнение:
Ага.. вижу Image_2 и т.д.

Ошибка в int PosX_1;int PosY_1;
Объявлено как переменная, а используется как массив:
int a=findimage(1, #Image_1[0][0], 0, #PosX_1[0], #PosY_1[0], 0, 0, 1444, 944, w);
16. Ouroboros - 06 Января, 2014 - 14:23:04 - перейти к сообщению
Странно,там есть загрузка изображений и объявление массивов Image_1-Image_8, и PosX_1-PosY_1 с 1 по 8 там также есть. скачал с файлообменника открыл вроде все есть?
17. Kibor - 06 Января, 2014 - 14:24:58 - перейти к сообщению
Я дописал уже... Сразу не заметил. Так же указал ошибку:

 Kibor пишет:
Ошибка в int PosX_1;int PosY_1;
Объявлено как переменная, а используется как массив:
int a=findimage(1, #Image_1[0][0], 0, #PosX_1[0], #PosY_1[0], 0, 0, 1444, 944, w);
18. Ouroboros - 06 Января, 2014 - 14:26:10 - перейти к сообщению
Тоже вижу, мне просто один клац по координатам нужен,как в прошлый раз(топикстарт), следует дописать это как массив из PosX_1[1]?
19. Kibor - 06 Января, 2014 - 14:27:33 - перейти к сообщению
 Цитата:
int PosX_1, PosY_1;
int a=findimage(1, #Image_1[0][0], 0, #PosX_1, #PosY_1, 0, 0, 1444, 944, w);
20. Ouroboros - 06 Января, 2014 - 14:31:22 - перейти к сообщению
Спасибо большое)Долго просто залип перед экраном , зрение начинает разфокусироватся и трудно заметить где что-то не так пошло,хотя компилятор как бы явно говорит мне об этом)
P.S. извиняюсь за оффтоп, а вы ВУЗ уже закончили?Честно говоря такую программу написать, нужен очень хороший поворот ума, я вот только три месяца отучился , вводная часть по факту ничего толкового не дала, приходится самообучением заниматься...

Powered by ExBB FM 1.0 Final