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

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

1. yo1 - 10 Января, 2015 - 06:27:46 - перейти к сообщению
В общем возникла проблема определения\видения цвета пикселя. Т.е. он "через раз" видел цвет\пиксель и не делал различные действия на основе этого. Например:

CODE:
int X_pix=577, Y_pix=27, col_pix=4474495;

и потом, что нить на подобии

CODE:

if (getcolor(X_pix, Y_pix, wind)!=col_pix)
{
///////
}


и, короче, работает через раз.

Есть предположение, изображу его картинкой.

Нажмите для увеличения


Может ли быть дело в этом? Проверял тут(для просмотра ссылки Вам необходимо авторизоваться)
2. DeLiberate - 10 Января, 2015 - 07:54:43 - перейти к сообщению
Интерфейс Л2 частично прозрачен, скорее всего дело в этом.
Сделай несколько сверок цвета:
CODE:

int X_pix=577, Y_pix=27, col_pix=4474495 col_pix0=1384585, col_pix1=1384586; //<возможные цвета полоски ХП
int HP_BAR
if HP_BAR=(getcolor(X_pix, Y_pix, wind));
(HP_BAR!=col_pix || HP_BAR!=col_pix0 || HP_BAR!=col_pix1); //Если хоть один из возможных цветов совпал - пьем банки, или что там еще...
{
///////
}

(Добавление)
Только в переменных значения не в РГБ.
И опечатка
 Цитата:
(HP_BAR!=col_pix || HP_BAR!=col_pix0 || HP_BAR!=col_pix1); //Если хоть один из возможных цветов не совпал - пьем банки, или что там еще...
3. yo1 - 10 Января, 2015 - 09:31:13 - перейти к сообщению
 DeLiberate пишет:
Сделай несколько сверок цвета:

Делал уже, учитывая, что переменных с пикселями тьма, то скрипт стал визуально медленнее, по этой причине разыскивал 1 рабочую точку.
Полоска хп не полупрозрачная (не частично и тд тп).

 DeLiberate пишет:
Только в переменных значения не в РГБ.

Сам же в ргб пишешь.

Записал бы все параметры через колорпикс, да он клиентские координаты не определяет, работает с экраном, увы.
4. DeLiberate - 10 Января, 2015 - 10:32:39 - перейти к сообщению
 yo1 пишет:

Сам же в ргб пишешь.

Записал бы все параметры через колорпикс, да он клиентские координаты не определяет, работает с экраном, увы.

Можно сделать смещение координат.
Писал в ргб, потому, что дурак.
Есть вариант сделать через findimage
Если нужно - позже объясню как.
5. yo1 - 10 Января, 2015 - 11:05:00 - перейти к сообщению
 DeLiberate пишет:
Можно сделать смещение координат.

Расчитать разницу между клиентским полотном и экраном? Да это понятно, но пока лениво, прижмет - займусь.

 DeLiberate пишет:
Есть вариант сделать через findimage

К чему излишнее усложнение? Ведь и искать ничего не надо, я сам координатами показываю нужное место.
6. Kibor - 10 Января, 2015 - 11:12:55 - перейти к сообщению
 yo1 пишет:
проблема определения\видения цвета пикселя. Т.е. он "через раз" видел цвет\пиксель

не верю. искать причину. чуда нет.

 yo1 пишет:
Расчитать разницу между клиентским полотном и экраном? Да это понятно, но пока лениво, прижмет - займусь.

нет проблем. очень просто.
для фроста работать с экраном.
7. yo1 - 10 Января, 2015 - 11:22:57 - перейти к сообщению
Как реализовать цепляние и переключение окон под фростом?
Можно попытаться сделать через альт табы, то как сделать альт 2 таб? Т.е. переключение на 3-е окно.
8. DeLiberate - 10 Января, 2015 - 11:32:08 - перейти к сообщению
 yo1 пишет:
Как реализовать цепляние и переключение окон под фростом?
Можно попытаться сделать через альт табы, то как сделать альт 2 таб? Т.е. переключение на 3-е окно.

CODE:
keydown(ALT);
key(TAB);
pause(100);
key(TAB);
keyup(ALT);

Так пойдет?
Кстати, из опыта. findimage работает быстрее и стабильней getcolor
9. yo1 - 10 Января, 2015 - 11:39:36 - перейти к сообщению
 DeLiberate пишет:
Так пойдет?

Благодарю.
 DeLiberate пишет:
Кстати, из опыта. findimage работает быстрее и стабильней getcolor

Если честно, не очень представляю, как его можно использовать в данном случае, с полоской хп. Ведь требуется отслеживать лишь 1 пиксель и, как следствие, предпринимать различные действия.
10. DeLiberate - 10 Января, 2015 - 11:42:48 - перейти к сообщению
 Цитата:
Если честно, не очень представляю, как его можно использовать в данном случае, с полоской хп. Ведь требуется отслеживать лишь 1 пиксель и, как следствие, предпринимать различные действия.

Указываем область поиска - часть полоски хп.
Ищем изображение полоски хп размером 2х2 пикселя.
если нашли - значит хп есть и все норм, если нет - пьем банки.

Powered by ExBB FM 1.0 Final