1) Не понимаю как работает findinamic , что возвращает функция ? как реализовать клик по найденым мобам с использованием этой функций? Она возвращает координаты которые нужно записать в mouse() ?
1.2) как реализуется поиск координат нужных обьектов (текст, динамика, изображения ) и клик по ним , к примеру клик по иконке скилла когда он откачен .
2)не понимаю в целом логику реализаций скрипта чтоб получить простые действия в 3д игре , какие переменные нужно создать и какие присвоить им значения и как ими дальше оперировать в функциях и какие встроенные методы использовать .
Есть доки с примером как все это работает ? К примеру код и действие которые он реализует .Чтоб было проще понять что он делает .
1. Karoshi - 18 Мая, 2021 - 07:51:04 - перейти к сообщению
2. Ilya001 - 18 Мая, 2021 - 11:54:43 - перейти к сообщению
Вы код пишете? Или через виз.редактор кода работаете?
3. Karoshi - 18 Мая, 2021 - 13:42:43 - перейти к сообщению
Ilya001 пишет:
Вы код пишете? Или через виз.редактор кода работаете?
Пишу код , я изучил синтаксис, типы данных, функций, условия , научился получать нужную инфу через графредактор и шпион , но я не понимаю как все это соеденить чтоб элементарно в окне 3д игры сделать клик по мобу .
4. Ilya001 - 18 Мая, 2021 - 14:25:41 - перейти к сообщению
(для просмотра ссылки Вам необходимо авторизоваться) (Добавление)
Примерно так будет, первым объявиться в int координаты найденных объектов, после вызова функции finddynamic если найдётся какой нибудь подходящий объект, местоположение объектов запишется в x, y.
Данный код нерабочий! Вы должны адаптировать под себя.
Karoshi пишет:
как все это соеденить чтоб элементарно в окне 3д игры сделать клик по мобу .
CODE:
int x[10], y[10]; //координаты х, у, по ним можете сделать клик
finddynamic(0, #x[0], #y[0], 0, 0, 0, 0, Старт_поиск_X, Старт_поиск_Y, Финиш_поиск_X, Финиш_поиск_Y, указатель_на_окно);//Сохраняем изображение экрана
sleep(200);// пауза для обновления анимированного изображения в игре.
finddynamic(21, #x[0], #y[0], ширина_искомого_места, высота_искомого_места, объем_искомого_объекта_X, объем_искомого_объекта_Y, Старт_поиск_X, Старт_поиск_Y, Финиш_поиск_X, Финиш_поиск_Y, указатель_на_окно);//сравниваем с сохраненным изображением и ищем изменившиеся объекты, записывая их координаты.
mouse(LEFT, x[0], y[0]);
sleep(200);
int x[10], y[10]; //координаты х, у, по ним можете сделать клик
finddynamic(0, #x[0], #y[0], 0, 0, 0, 0, Старт_поиск_X, Старт_поиск_Y, Финиш_поиск_X, Финиш_поиск_Y, указатель_на_окно);//Сохраняем изображение экрана
sleep(200);// пауза для обновления анимированного изображения в игре.
finddynamic(21, #x[0], #y[0], ширина_искомого_места, высота_искомого_места, объем_искомого_объекта_X, объем_искомого_объекта_Y, Старт_поиск_X, Старт_поиск_Y, Финиш_поиск_X, Финиш_поиск_Y, указатель_на_окно);//сравниваем с сохраненным изображением и ищем изменившиеся объекты, записывая их координаты.
mouse(LEFT, x[0], y[0]);
sleep(200);
Примерно так будет, первым объявиться в int координаты найденных объектов, после вызова функции finddynamic если найдётся какой нибудь подходящий объект, местоположение объектов запишется в x, y.
Данный код нерабочий! Вы должны адаптировать под себя.
5. Jubelee - 18 Мая, 2021 - 23:48:48 - перейти к сообщению
(для просмотра ссылки Вам необходимо авторизоваться)
Ознакомьтесь со статьёй, в ней показа работа функции finddynamic на примере поиска мобов
Ознакомьтесь со статьёй, в ней показа работа функции finddynamic на примере поиска мобов
6. Ilya001 - 18 Мая, 2021 - 23:54:45 - перейти к сообщению
Jubelee пишет:
(для просмотра ссылки Вам необходимо авторизоваться)
Ознакомьтесь со статьёй, в ней показа работа функции finddynamic на примере поиска мобов
Ознакомьтесь со статьёй, в ней показа работа функции finddynamic на примере поиска мобов
Хороший пост.
7. Kibor - 19 Мая, 2021 - 00:11:49 - перейти к сообщению
Jubelee ,
В визуальном редакторе не над делать 2 блока finddynamic.
Он генерирует функцию с двумя вызовами.
Пауза между ними в настройках - Пауза между сравнениями.
Цитата:
Данную функцию используем 2 раза: 1 раз - для получения исходного изображения экрана,
В визуальном редакторе не над делать 2 блока finddynamic.
Он генерирует функцию с двумя вызовами.
Пауза между ними в настройках - Пауза между сравнениями.
Цитата:
function finddynamic_(int onx, int ony, int oox, int ooy, int t, int pscan, int p1, int p2, int m, int xm, int ym, int p3, int k, int xs, int ys, int xf, int yf, int#sum, int#x, int#y)
{
int timKIB, sumKIB, xKIB, yKIB;
pause(p1);
sumKIB=0;
if (t!=0) timKIB=gettime();
a: finddynamic(0, #x[0], #y[0], 0, 0, 0, 0, xs, ys, xf, yf, -1);
pause(pscan);
sum=finddynamic(k, #x[0], #y[0], onx, ony, oox, ooy, xs, ys, xf, yf, -1);
if (sum>0) goto e;
if (t==0) return 0;
if (gettime()-timKIB
return 0;
e: sumKIB=sum; xKIB=x[0]; yKIB=y[0];
pause(p2);
if (m==1){mouse(LEFT, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==2){mouse(MIDDLE, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==3){mouse(RIGHT, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==4){mousedown(LEFT, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==5){mousedown(MIDDLE, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==6){mousedown(RIGHT, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==7){mouseup(LEFT, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==8){mouseup(MIDDLE, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==9){mouseup(RIGHT, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==10){mousedbl(LEFT, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==11){mousedbl(MIDDLE, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==12){mousedbl(RIGHT, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==13){mousemove(xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
return sumKIB;
}
{
int timKIB, sumKIB, xKIB, yKIB;
pause(p1);
sumKIB=0;
if (t!=0) timKIB=gettime();
a: finddynamic(0, #x[0], #y[0], 0, 0, 0, 0, xs, ys, xf, yf, -1);
pause(pscan);
sum=finddynamic(k, #x[0], #y[0], onx, ony, oox, ooy, xs, ys, xf, yf, -1);
if (sum>0) goto e;
if (t==0) return 0;
if (gettime()-timKIB
e: sumKIB=sum; xKIB=x[0]; yKIB=y[0];
pause(p2);
if (m==1){mouse(LEFT, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==2){mouse(MIDDLE, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==3){mouse(RIGHT, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==4){mousedown(LEFT, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==5){mousedown(MIDDLE, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==6){mousedown(RIGHT, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==7){mouseup(LEFT, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==8){mouseup(MIDDLE, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==9){mouseup(RIGHT, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==10){mousedbl(LEFT, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==11){mousedbl(MIDDLE, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==12){mousedbl(RIGHT, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==13){mousemove(xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
return sumKIB;
}
УЖС.. Запустил этот редактор.. Какой же он деревянный по сравнению с новым..
8. Ilya001 - 19 Мая, 2021 - 00:26:02 - перейти к сообщению
Kibor пишет:
Jubelee ,
В визуальном редакторе не над делать 2 блока finddynamic.
Он генерирует функцию с двумя вызовами.
Пауза между ними в настройках - Пауза между сравнениями.
Цитата:
Данную функцию используем 2 раза: 1 раз - для получения исходного изображения экрана,
В визуальном редакторе не над делать 2 блока finddynamic.
Он генерирует функцию с двумя вызовами.
Пауза между ними в настройках - Пауза между сравнениями.
Цитата:
function finddynamic_(int onx, int ony, int oox, int ooy, int t, int pscan, int p1, int p2, int m, int xm, int ym, int p3, int k, int xs, int ys, int xf, int yf, int#sum, int#x, int#y)
{
int timKIB, sumKIB, xKIB, yKIB;
pause(p1);
sumKIB=0;
if (t!=0) timKIB=gettime();
a: finddynamic(0, #x[0], #y[0], 0, 0, 0, 0, xs, ys, xf, yf, -1);
pause(pscan);
sum=finddynamic(k, #x[0], #y[0], onx, ony, oox, ooy, xs, ys, xf, yf, -1);
if (sum>0) goto e;
if (t==0) return 0;
if (gettime()-timKIB<t){sleep(20); goto a;}
return 0;
e: sumKIB=sum; xKIB=x[0]; yKIB=y[0];
pause(p2);
if (m==1){mouse(LEFT, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==2){mouse(MIDDLE, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==3){mouse(RIGHT, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==4){mousedown(LEFT, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==5){mousedown(MIDDLE, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==6){mousedown(RIGHT, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==7){mouseup(LEFT, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==8){mouseup(MIDDLE, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==9){mouseup(RIGHT, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==10){mousedbl(LEFT, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==11){mousedbl(MIDDLE, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==12){mousedbl(RIGHT, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==13){mousemove(xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
return sumKIB;
}
{
int timKIB, sumKIB, xKIB, yKIB;
pause(p1);
sumKIB=0;
if (t!=0) timKIB=gettime();
a: finddynamic(0, #x[0], #y[0], 0, 0, 0, 0, xs, ys, xf, yf, -1);
pause(pscan);
sum=finddynamic(k, #x[0], #y[0], onx, ony, oox, ooy, xs, ys, xf, yf, -1);
if (sum>0) goto e;
if (t==0) return 0;
if (gettime()-timKIB<t){sleep(20); goto a;}
return 0;
e: sumKIB=sum; xKIB=x[0]; yKIB=y[0];
pause(p2);
if (m==1){mouse(LEFT, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==2){mouse(MIDDLE, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==3){mouse(RIGHT, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==4){mousedown(LEFT, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==5){mousedown(MIDDLE, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==6){mousedown(RIGHT, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==7){mouseup(LEFT, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==8){mouseup(MIDDLE, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==9){mouseup(RIGHT, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==10){mousedbl(LEFT, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==11){mousedbl(MIDDLE, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==12){mousedbl(RIGHT, xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
if (m==13){mousemove(xs+xKIB+xm, ys+yKIB+ym); pause(p3);}
return sumKIB;
}
УЖС.. Запустил этот редактор.. Какой же он деревянный по сравнению с новым..
Деревянный)
9. Karoshi - 20 Мая, 2021 - 08:34:54 - перейти к сообщению
Jubelee пишет:
(для просмотра ссылки Вам необходимо авторизоваться)
Ознакомьтесь со статьёй, в ней показа работа функции finddynamic на примере поиска мобов
Ознакомьтесь со статьёй, в ней показа работа функции finddynamic на примере поиска мобов
Спасибо ,стало понятнее
10. Nikanr - 20 Мая, 2021 - 09:14:47 - перейти к сообщению
Старый проект для ловли кейсов на CS:GO полигоне. Мб еще работает: Тык