Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » Возвращение из функции

Страниц (13): « 1 2 [3] 4 5 6 7 8 9 ... » В конец
 

21. Zireael - 22 Февраля, 2021 - 03:04:21 - перейти к сообщению
 Цитата:
Если имя рабочего окна имеет в своем названии имя персонажа, есть какая то возможность найти это окно без указания части названия?

Можно искать только по классу окна:
CODE:
win w = window (-1, "triuiScreen", -1);
if(w)
{
messagebox(w.name);
}
else messagebox("Окно не найдено");
22. 10970 - 22 Февраля, 2021 - 03:25:21 - перейти к сообщению
спасибо.
(Добавление)
пипец, у меня залипание мозга))
Имеется блок в начале кода, где прописываю все переменные.
вот две которые рассмотрю
int x_прд;
int y_прд;
они напомню в самом начале, и далее по в этом же блоке выполняется проверка экрана на предмет контрольных точек, то есть искомая картинка ищется по всему экрану и ей присваивается значение x_прд y_прд
Далее исходя из этих данных нужно сделать наблюдение нужной картинки и оповещение.
Так вот, x_прд y_прд находится в нижней части экрана, и при контрольном поиске я делаю функцию наводки курсора на эту точку по найденым координатам. Все работает
Но когда я делаю вычисления исходя из x_прд y_прд (там буквально десяток пикселей вверх вниз) то нужный обьект ТОЧНО там находящийся, не находится)))Ни по картинке, ни по цвету пикселей (белый чистый)
Я сделал по другому, убрал поиск второй картинки и вставил блок перемещения мышки по координатам которые вычислил исходя из x_прд y_прд. И курсор переместился в левый верхний угол, ну не совсем а так приблизительно в самый угол.
Хотя я задаю параметры типа
mousemove(x_прд-4, y_прд-100);
mousemove(x_прд+8, y_прд-83);

а координаты x_прд y_прд
x_прд = 600 / y_прд = 520 (они формируются автоматически при поиске контрольки, и находятся правильно)
При выполнении моузе мове , курсор убегает вверх)
КАК ?)))
(Добавление)
[img](для просмотра ссылки Вам необходимо авторизоваться) /img]
вот картинка где нужно находит букву "П" исходя из контрольной точки.
Координаты указаны в пред посте.
(Добавление)
Сейчас попробую поменять имя переменных, может что получится. В коде вообще около десятка подобных поисков, и все работает. А вот эту долбанную букву п, или пиксели с ней связанные, не могу отыскать уже больше суток.
(Добавление)
ДТ блин((( пменял имя переменной, посмотрим после дт что получится.
В скрипте ищется около 8 контрольных точек, которые задают переменные. С котороыми потом работает весь скрипт. И он работает)))
КРОМЕ поиска этой злосчастной буквы(((
23. Zireael - 22 Февраля, 2021 - 05:05:01 - перейти к сообщению
 Цитата:
А вот эту долбанную букву п, или пиксели с ней связанные, не могу отыскать

Сначала проверьте находится ли вообще картинка, может параметры поиска неверно указаны. Без привязки к контрольной точке.
24. 10970 - 22 Февраля, 2021 - 05:11:24 - перейти к сообщению
картинка очень сложно находится, ввиду постоянной смены фона.
Поэтому я выделил в букве П только левую ногу, там порядка 120 пикселей белого цвета.
От контрольной точки сделал вычисления (вручную на бумаге Улыбка ) потому что уже голову сломал..
И обьект не находится.
Далее вместо поиска по указаным координатам сделал движения мышкой.
При запуске мышка опускается к контрольке, а потом вместо того чтоб чуть поднятся куда запланировано, едет в самый верх лево)))
Запустилась игра, буду пробовать.
(Добавление)
короче нет, изменение имени переменной не помогло.
Мышка едет вверх и там обозначает две точки. Такой ощущение что эти x_прд y_прд вообще роли не играют, и мышка ставит точки исходя из обычных Х и Y.
хм, чтобы это значило...
(Добавление)
mousemove(x_прд-4, y_прд-100);
mousemove(x_прд+8, y_прд-83);

x_прд y_прд вообще не учитывается.. Почему тогда в других подобных функциях по всему скрипту все работает..... Может быть я синтаксис не правильно как то написал?
mousemove(x_прд-4, y_прд-100); тут все правильно же?
если правильно, то почему мышка сначала находит контрольку, а значит задает параметры x_прд y_прд . А если задает, почему мышка не показывает нужные точки, а рисует их в начале координат?
25. Zireael - 22 Февраля, 2021 - 05:23:36 - перейти к сообщению
CODE:
mousemove(x_прд, y_прд);

Куда наведёт курсор?
99% что у вас не учитывается что findimage возвращает координаты относительно начала зоны поиска.
26. 10970 - 22 Февраля, 2021 - 05:29:34 - перейти к сообщению
(для просмотра ссылки Вам необходимо авторизоваться) (для просмотра ссылки Вам необходимо авторизоваться) (для просмотра ссылки Вам необходимо авторизоваться) (для просмотра ссылки Вам необходимо авторизоваться)
Вот все что связано с этим . Весь код остальной отцеплен (кроме контролек) и в проверке не участвует.
Что я делаю не так? Может увидите ошибку где?
(Добавление)
 Zireael пишет:
возвращает координаты относительно начала зоны поиска.

я тоже так думаю, но почему остальные подобные поиски работают?
Ваш код не показывает контрольку, хотя должен. А почему поиск не возвращает координаты??? я думал это я свихнулся на почве хронического пьянства))
(Добавление)
вы правы, и как мне поступить не подскажете?


ПС- Я не пью вовсе, это была шутка))
27. Zireael - 22 Февраля, 2021 - 05:38:57 - перейти к сообщению
 Цитата:
Что я делаю не так?

Первый скрин, начало зоны поиска 352 429.
Т. е. чтобы навести курсор на найденную картинку:
CODE:
mousemove(x_xx+352, y_yy+429);
28. 10970 - 22 Февраля, 2021 - 05:44:33 - перейти к сообщению
 Zireael пишет:
Первый скрин, начало зоны поиска 352 429.
Т. е. чтобы навести курсор на найденную картинку:

это роли не играет. Этот код для поиска контрольки, которая ВСЕГДА находится в этих пределах. Контрольку то находит без проблем))

mousemove(x_xx+352, y_yy+429); этот код перемещает мышку чуть чуть выше контрольки
(Добавление)
то есть Х начала поиска контрольки.
(Добавление)
но ведь ваша строчка должна двигать мышку вообще далеко от контрольки. Как так происходит??
(Добавление)
тааак, то есть если мне надо найти П с использованием контрольки, то я должен вести отсчет не х=0 у=0 , а х-352 у=429, так чтоли? Очевидно что поиск контрольки не присваивает значение переменным хх уу. Или я не так чтото понял?
(Добавление)
Вы меня простите, но у меня чтото не складывается. В блоке поиска контрольных точек, порядка 8 таких поисков с присвоением значений. Эта вот функция поиска предохранителя последняя в списке. Она отрабатывается норм, обьект находится. Но именно в ней значения не присваиваются, а в остальных присваивается нормально. Блин я с ума сойду..
29. Zireael - 22 Февраля, 2021 - 05:54:44 - перейти к сообщению
 Цитата:
Как так происходит??

mousemove перемещает курсор относительно координат 0, 0.
Допустим картинка в координатах 400, 300.
Если findimage будет искать с координат начала зоны поиска 0, 0, то вернёт координаты 400, 300.
Если findimage будет искать с координат начала зоны поиска, к примеру, 100, 50, то вернёт координаты 300, 250. И чтобы навести курсор на найденную картинку нужно прибавить координаты начала зоны поиска, т. е. 100 + 300, 50 + 250.
 Цитата:
то я должен вести отсчет не х=0 у=0 , а х-352 у=429, так чтоли? Очевидно что поиск контрольки не присваивает значение переменным хх уу.

Да. Примерно так:
CODE:
mousemove(x_прд-4+352, y_прд-100+429);
30. 10970 - 22 Февраля, 2021 - 06:04:20 - перейти к сообщению
я вас услышал. Но это же бред собачий!
какая разница какие координаты я ввел для поиска контрольки? Это просто для ускорения поиска обрезка экрана. Она просто логически должна задавать координаты физического окна. А получается так что я сам искусственно задал свои собственные параметры окна.
Это же бред бредовый, я отказываюсь понимать логику данного действия.
Если экран 2000*1000, и я знаю точно где появляется искомый обьект, зачем мне искать его по всему экрану? я буду искать его в примерных координатах 100*100. А в результате оказывается, что при этом я присваиваю значения не фактического экрана а этого самого вырезанного квадрата 100*100, так чтоли???

Powered by ExBB FM 1.0 Final