Покинул форум
Сообщений всего: 27
Дата рег-ции: Окт. 2013
Репутация: 0
Да да я понял,оно кликало на первую попавшуююся стрелочку(( Только мне еще надо сделать условие Либо начиная от зеленого окна либо от синего там 2 варианта возможны.... Вообще стим это платформа для игр,тобиш когда человек в игре окно зеленое,когда просто в стиме синее,когда оффлайн серое,оффлайн мне не надо,а вот когда в стиме или в игре нужно... как можно добавить к тому что есть чтобы выполнялось условие когда видит зеленое окно и нажимает на стрелку либо если нету зеленого чтобы искал синее окошко и нажимал на стрелку?
Покинул форум
Сообщений всего: 27
Дата рег-ции: Окт. 2013
Репутация: 0
Работает не совсем так... получается если есть зеленый оно выбирает от синего,если зеленого нету вообще не выбирает
Kibor
Отправлено: 06 Октября, 2013 - 23:31:49
Эксперт
Покинул форум
Сообщений всего: 8217
Дата рег-ции: Март 2013 Откуда: Одесса
Репутация: 357
sakr1dd пишет:
Работает не совсем так... получается если есть зеленый оно выбирает от синего,если зеленого нету вообще не выбирает
Цитата:
int a=1;//типа есть зеленая //int a=5;//типа есть синяя
if (a==1)
{
if (2==2)
{
messagebox("типа есть зеленая");
}
}
else//нет рамки зел.
{
if (a==5)//синюю ищем
{
if (6==6)
{
messagebox ("типа есть синяя");
}
}
}
Смысл тот же.
Читайте все ссылки что я дал и найдете ответ.
Особое внимание уделите параметрам findimage
Проверьте ищется просто синяя рамка..
Эксперементируйте с скриптом.
sakr1dd
Отправлено: 07 Октября, 2013 - 15:23:46
Наблюдатель
Покинул форум
Сообщений всего: 27
Дата рег-ции: Окт. 2013
Репутация: 0
Можете подсказать из-за чего может такой быть,я запускаю программу она делает все что надо потом останавливается,запускаю еще пару раз еще пару раз выполняется,потом запускаю и она делает первые 3-4 действия и как не крути останавливается,нужно ли чистить память массивов какими то переменными и вообще из-за памяти это или нет?
Kibor
Отправлено: 07 Октября, 2013 - 16:25:59
Эксперт
Покинул форум
Сообщений всего: 8217
Дата рег-ции: Март 2013 Откуда: Одесса
Репутация: 357
При правильном использование памяти ничего не должно быть такого и чистить не надо ничего.
Посмотреть как выделяется в кибор память можно в диспечере задач.
Быстрее всего что то в коде.
sakr1dd
Отправлено: 07 Октября, 2013 - 16:40:09
Наблюдатель
Покинул форум
Сообщений всего: 27
Дата рег-ции: Окт. 2013
Репутация: 0
Блин все так запутано,что не могу выяснить причину правильной и одновременной неправильной работы программы..
В общем,вот мой код,построил практически на одних картинках...
CODE:
//ПЕРЕМЕННЫЕ
int col,x,y;
//Массивы
int Image_0[16][16];//Кнопка стима внизу экрана,открыть стим
int Image_1[93][12];//Кнопка Список друзей,открыть список друзей
int Image_2[43][10];//Кнопка принять в друзья
int Image_3[300][300];//Кнопка Закрыть,после принятия в друзья.
int Image_4[100][100];
int Image_5[300][300];
//Переменные углов картинок
int PosX_0,PosY_0;
int PosX_1,PosY_1;
int PosX_2,PosY_2;
int PosX_3,PosY_3;
int PosX_4,PosY_4;
int PosX_5,PosY_5;
//Загрузка картинок в память с диска
loadimage (#Image_0[0][0],"C:\Prog\A1.bmp");//Картинка Стима
loadimage (#Image_1[0][0],"C:\Prog\A2.bmp");//Картинка Список друзей
loadimage (#Image_2[0][0],"C:\Prog\A3.bmp");//Картинка Принять в друзья
loadimage (#Image_3[0][0],"C:\Prog\A4.bmp");//Картинка Закрыть
loadimage (#Image_4[0][0],"C:\Prog\A5.bmp");//Картинка Стрелка
loadimage (#Image_5[0][0],"C:\Prog\A7.bmp");//Картинка Предложить
(Добавление)
CODE:
//Условия поиска
if(findimage(1,#Image_0[0][0],0,#PosX_0,#PosY_0,0,0,1366,768,-1)==1)//ПОИСК картинки Стима и двойной клик на нее
{
mousemove(PosX_0+8,PosY_0+8);
mousedbl(LEFT);
}
sleep(1000);
if(findimage(1,#Image_1[0][0],0,#PosX_1,#PosY_1,0,0,1366,728,-1)==1)//ПОИСК картинки список друзей и клик на нее
{
mousemove(PosX_1,PosY_1);
mouse(LEFT);
}
sleep(1000);
if(findimage(1,#Image_2[0][0],0,#PosX_2,#PosY_2,0,0,1366,728,-1)==1)//ПОИСК на экране картинки ПРИНЯТЬ и клик на нее
{
mousemove(PosX_2,PosY_2);
mouse(LEFT);
sleep(1000);
}
if(findimage(1,#Image_3[0][0],0,#PosX_3,#PosY_3,0,0,1366,728,-1)==1)//ПОИСК на экране закрыть и клик на нее
{
mousemove(PosX_3,PosY_3);
mouse(LEFT);
}
sleep(1000);
if(findimage(1,#Image_4[0][0],0,#PosX_4,#PosY_4,0,0,1366,728,-1)==1)//ПОИСК на экране закрыть и клик на нее
{
mousemove(PosX_4,PosY_4);
mouse(LEFT);
}
sleep(1000);
if(findimage(1,#Image_5[0][0],0,#PosX_5,#PosY_5,0,0,1366,728,-1)==1)//ПОИСК на экране закрыть и клик на нее
{
mousemove(PosX_5,PosY_5);
mouse(LEFT);
}
sleep(1000);
[/code] (Добавление)
Вот 4 видео работы программы
В 1ом не выполняется 5-6 действия,почему не знаю. 1
Во 2ом аналогично 2
В 3-м появляется принимает человечка в игре(с зеленым окошком) не срабатывает,но после него вуаля... он делает все 6 действий 3
В 4-м так же выполняет все что нужно... 4
Чтобы было проще понять что не так,записал видео работы проги(т.к. у меня пока еще не получилось сделать чтобы находило стрелочку от левого угла зеленой/синей рамки,я сделал просто картинку стрелки на которую нужно нажимать(по идее если должна присутствовать хоть одна такая стрелка должно клацать,но этого нету)) (Добавление)
win wind ... );
и int col x,y; это было для теста,в основном коде его нету,так что из-за этого ошибок быть не может
Покинул форум
Сообщений всего: 27
Дата рег-ции: Окт. 2013
Репутация: 0
Да да я знаю,я просто пока для проверки делаю без цикла,позже думал добавить. Но в моем случае он иногда не доходит до конца (Добавление)
Только что случилось следующее,сделал зацикливание он начал перепрыгивать через действия.. (Добавление) 5
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.