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

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

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

> Без описания
ArtChemist
Отправлено: 09 Августа, 2013 - 18:59:38
Post Id



Пользователь
Участник


Покинул форум
Сообщений всего: 54
Дата рег-ции: Июль 2013  
Репутация: 1




Написал я скриптик который прекрасно работал пока я не заметил что иногда искомое изображение перекрывается другими элементами игры.
И я решил вместо:
CODE:
if (findimage(1, #Image_10[0][0], 0, #PosX[0], #PosY[0], 0, 0, 1366, 722, w)==1);
{
mouse (LEFT, PosX[0]+10, PosY[0]+10, 1, w);
}


сделать:
CODE:
if (findimage(1, #Image_10[0][0], 0, #PosX[0], #PosY[0], 0, 0, 1366, 722, 0, 0, 0, 0, 0, 0, 80, 1, w)==1);
{
mouse (LEFT, PosX[0]+10, PosY[0]+10, 1, w);
}


После чего когда скрипт доходит до этого места вылетает ошибка

Нажмите для увеличения
 
 Top
Kibor
Отправлено: 09 Августа, 2013 - 20:38:58
Post Id



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


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




Какая версия Кибор?
 ArtChemist пишет:
80, 1, w)==1);

тут не нужны точка с запятой...

если вместо этого кода поставить:
CODE:
int k=findimage(1, #Image_10[0][0], 0, #PosX[0], #PosY[0], 0, 0, 1366, 722, 0, 0, 0, 0, 0, 0, 80, 1, w);
messagebox(k);

Что получается?

Нужен полный скрипт.
(Добавление)
Как срабатывает этот скрипт?
CODE:
int Image_0[27][48];
int color, xe, ye;
sleep(1000);
getdisplay(color, xe, ye);
loadimage (#Image_0[0][0], "C:\peshka\peshka.bmp");

int PosX_0[512];int PosY_0[512];

int k=findimage(-1, #Image_0[0][0], 0, #PosX_0[0], #PosY_0[0], 0, 0, xe, ye, 50, 50, 50, 50, 50, 50, 90, 1, -1);

int n=0;
j:if (n<k)
{
mousemove(PosX_0[n]+imagewidth(#Image_0[0][0])/2, PosY_0[n]+imageheight(#Image_0[0][0])/2);
sleep(500);
n++;
goto j;
}


messagebox(k);

Для запуска надо скачать этот рисунок:Рисунок к скрипту, и распаковать прямо на c:

Протестировать на этом рисунке в браузере:
 
 Top
ArtChemist
Отправлено: 09 Августа, 2013 - 23:02:49
Post Id



Пользователь
Участник


Покинул форум
Сообщений всего: 54
Дата рег-ции: Июль 2013  
Репутация: 1




Большое спасибо, все дело в точке с запятой, хотя не расширенная версия прекрасно работала и с ней.
 
 Top
Kibor
Отправлено: 10 Августа, 2013 - 00:04:10
Post Id



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


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




Нет нет. Найден баг. Связан был с выделением памяти при использование короткой и расширенной функции при одном запуске Кибор. Пофикшен. Спасибо за баг ).
 
 Top
ArtChemist
Отправлено: 10 Августа, 2013 - 08:20:09
Post Id



Пользователь
Участник


Покинул форум
Сообщений всего: 54
Дата рег-ции: Июль 2013  
Репутация: 1




О, надо же) вот и я внес свой маленький вклад в развитие программы.
 
 Top
Kibor
Отправлено: 10 Августа, 2013 - 10:07:18
Post Id



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


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




Улыбка Обращайтесь.
 
 Top
ArtChemist
Отправлено: 11 Августа, 2013 - 22:15:44
Post Id



Пользователь
Участник


Покинул форум
Сообщений всего: 54
Дата рег-ции: Июль 2013  
Репутация: 1




У меня еще возник вопросик, возможна ли запись координат различных изображений в один массив, что бы можно было сортировать их все вместе. Или как нибудь сложить массивы координат разных изображений в один массив.
 
 Top
Kibor
Отправлено: 12 Августа, 2013 - 03:52:25
Post Id



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


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




 ArtChemist пишет:
возможна ли запись координат различных изображений в один массив, что бы можно было сортировать их все вместе. Или как нибудь сложить массивы координат разных изображений в один массив


Массив это ряд простых переменных.
С ними можно производить любые операции по их индексу как и с переменными простыми.

Решение задачи:
CODE:
int all_k;//Общее количество координат
int all_X[100], all_Y[100];//память должна быть выделенна что бы хватило на все координаты

int k1;//количество координат одного рисунка
int X1[20], Y1[20];

int k2;//количество координат второго рисунка
int X2[20], Y2[20];

int k3;//количество координат третьего рисунка
int X3[20], Y3[20];

int n;

all_k=0;

n=0;
j: if (n<k1)
{
all_X[all_k]=X1[n];
all_Y[all_k]=Y1[n];
n++;
all_k++;
goto j;
}

n=0;
j1: if (n<k2)
{
all_X[all_k]=X2[n];
all_Y[all_k]=Y2[n];
n++;
all_k++;
goto j1;
}

n=0;
j2: if (n<k3)
{
all_X[all_k]=X3[n];
all_Y[all_k]=Y3[n];
n++;
all_k++;
goto j2;
}

sort(300, 200, #all_X[0], #all_Y[0], all_k);
 
 Top
ArtChemist
Отправлено: 12 Августа, 2013 - 07:14:26
Post Id



Пользователь
Участник


Покинул форум
Сообщений всего: 54
Дата рег-ции: Июль 2013  
Репутация: 1




Здорово, спасибо, побежал пробовать.
 
 Top
Kibor
Отправлено: 12 Августа, 2013 - 07:48:14
Post Id



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


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




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


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




Powered by