Ouroboros |
Отправлено: 06 Января, 2014 - 21:37:35
|
Прохожий
Покинул форум
Сообщений всего: 12
Дата рег-ции: Янв. 2014
Репутация: 0
|
Придется к вам снова за помощью обращатся) Взялся делать квест посложнее, в каждом раунде "игры" я тяну карту, и там уж как повезет - либо орел, либо решка(условно), если орел - то следущий раунд, решка - предложение по новой начать, и так до 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(...)
....
|
|
|
Kibor |
Отправлено: 06 Января, 2014 - 21:56:35
|
Эксперт
Покинул форум
Сообщений всего: 8217
Дата рег-ции: Март 2013
Откуда: Одесса
Репутация: 357
|
Допускаются любые матрешки из 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.
Если ошибка будет - нужен весь код не изменяя ничего. |
|
|
Kibor |
Отправлено: 06 Января, 2014 - 22:16:50
|
Эксперт
Покинул форум
Сообщений всего: 8217
Дата рег-ции: Март 2013
Откуда: Одесса
Репутация: 357
|
Это весь код??
Где объявление переменных?
Загрузка изображений?
Я вижу только объявление 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); |
|
|
Kibor |
Отправлено: 06 Января, 2014 - 22:24:58
|
Эксперт
Покинул форум
Сообщений всего: 8217
Дата рег-ции: Март 2013
Откуда: Одесса
Репутация: 357
|
Я дописал уже... Сразу не заметил. Так же указал ошибку:
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); |
|
|
Kibor |
Отправлено: 06 Января, 2014 - 22:27:33
|
Эксперт
Покинул форум
Сообщений всего: 8217
Дата рег-ции: Март 2013
Откуда: Одесса
Репутация: 357
|
Цитата: int PosX_1, PosY_1;
int a=findimage(1, #Image_1[0][0], 0, #PosX_1, #PosY_1, 0, 0, 1444, 944, w); |
|
|
|