Budni |
Отправлено: 17 Мая, 2019 - 20:54:29
|
Специалист
Покинул форум
Сообщений всего: 419
Дата рег-ции: Март 2018
Репутация: 2
|
Если она появляется в определенном месте то достаточно найти пару цветов от ауры (findheapcolor) в том самом месте ну и выставить разбежность. Тестируй тут двойная проверка не к чему.
Я бы так сделал) Ток код не рабочий, не заданы значения, но остановить скрипт можно командой break; закрыть скрипт (выключить Кибор) командой close;
CODE:
loop () {
if finde()=1) break;
}
function finde () {
int // твои значения для переменных чтобы заработал))
int k=findheapcolor(20, #color[0], #kol[0], 3, min_col, #x[0], #y[0], 15, 15, 50, 50, 0, 0, xw, yw, r, r, r, r, r, r, -1);
if(k>0) return 1;
return 0;
}
|
|
|
Zireael |
Отправлено: 18 Мая, 2019 - 02:53:16
|
Эксперт
Покинул форум
Сообщений всего: 4467
Дата рег-ции: Нояб. 2017
Репутация: 585
|
Цитата: if finde()=1
Нет открывающей скобки. ==, а не =.
Цитата: Задача остановить скрипт в результате появления на экране вот такой ауры
findcolor вполне подойдёт. Для примера, скрипт ожидает появления указанного цвета с учётом разбежности:
CODE:int color=16739508; // цвет для поиска (можно подобрать во вкладке графика)
int coord[4]={1256, 676, 1327, 740} // область поиска
int r=40; // разбежность
int x[999], y[999];
// пока не найдено хотя бы 10 пикселей указанного цвета
while(findcolor(sizearray(x), #x[0], #y[0], coord[0], coord[1], coord[2], coord[3], color, r,r,r,r,r,r, -1) < 10)sleep(10); |
|
|
l2mrakg |
Отправлено: 18 Мая, 2019 - 13:02:55
|
Участник
Покинул форум
Сообщений всего: 50
Дата рег-ции: Март 2018
Откуда: Одесса, Украина.
Репутация: 1
|
Kibor пишет: l2mrakg пишет: где именно кибор визуально создает участок поиска не удается.
? Включите галку сканировать переменные.
И смотрите какие зоны в функциях. А вообще не понятно. Вы какую там логику зон указали что не можете знать где ищет? Рандомную?
Вы меня не поняли, координаты я знаю, но все же когда реально видна зона поиска визуально, очень бы упростило процесс.
Мне вообще процесс поиска по цветами очень тяжело воспринимается. |
|
|
Kibor |
Отправлено: 18 Мая, 2019 - 13:50:12
|
Эксперт
Просматривает форум
Сообщений всего: 8224
Дата рег-ции: Март 2013
Откуда: Одесса
Репутация: 357
|
l2mrakg пишет: Вы меня не поняли, координаты я знаю, но все же когда реально видна зона поиска визуально, очень бы упростило процесс.
нарисуйте себе сами
CODE:#define PS_SOLID 0
external(INT, "GetDC", "GetDC", "User32.dll" );
external(INT, "CreatePen", "CreatePen", "Gdi32.dll" );
external(INT, "SelectObject", "SelectObject", "Gdi32.dll" );
external(INT, "MoveToEx", "MoveToEx", "Gdi32.dll" );
external(INT, "LineTo", "LineTo", "Gdi32.dll" );
int hdc_dialog=GetDC(0); // дескриптор контекста
int pen=CreatePen(PS_SOLID, 2, 1376392); // часовая стрелка
SelectObject(hdc_dialog, pen);
int x1=10, y1=20, x2=150, y2=200;
loop()
{
////////
findimage(1, #Image_0[0][0], 0, #PosX_0[0], #PosY_0[0], x1, y1, x2, y2, -1);
RES(x1, y1, x2, y2);
/////////
sleep(10);
}
function RES(int x1, int y1, int x2, int y2)
{
MoveToEx(hdc_dialog, x1, y1, 0); // из центра круга
LineTo(hdc_dialog, x2, y1); // рисуем линию
LineTo(hdc_dialog, x2, y2); // рисуем линию
LineTo(hdc_dialog, x1, y2); // рисуем линию
LineTo(hdc_dialog, x1, y1); // рисуем линию
}
|
|
|
|