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

Страниц (5): « 1 [2] 3 4 5 »
 

11. sakr1dd - 05 Октября, 2013 - 07:14:04 - перейти к сообщению
 Kibor пишет:
 sakr1dd пишет:
код пишется через Image_2 и файла нету

Наверно имеется в виду имя переменной int ? а не файла.

Короче замените своими именами и он не будет меняться. Обязательно следите за размером массива int при замене изображения. http://filesd.net/kibor/loadimage.php
Теперь когда картинка загружается попробуйте такой код:

 Цитата:
int PosX, PosY;
if (findimage(1, #Image_0[0][0], 0, #PosX, #PosY, 0, 0, 1366, 768, -1)==1)
{
mousemove(PosX, PosY);
}
else messagebox("не нашли"Подмигивание;


Свою поставьте переменную и разрешение экрана.

Да... Проверьте или тот участок что ищется не динамичный. Не полупрозрачный. CTRL+SHIFT+A http://filesd.net/kibor/scannerg...hicinterface.php


Картинка загружается по прежнему,разрешение экрана точно такое же как и в примере,переменная тоже такая же,но почему то выполняется else
(Добавление)
Стоп у меня вопрос,если не сохранять то выполняться не будет?)) если да то это провал,я до этого не сохранялся,а просто запускал программу))))))))
(Добавление)
Сохранил - заработало Голливудская улыбка прошу прощения большая глупость)
12. Kibor - 05 Октября, 2013 - 07:20:17 - перейти к сообщению
Закройте короче игру. Просто на рабочем столе сделайте рисунок с обоев. Размер не более 100 на 100.

Сохраните под именем C:\Image_0.bmp
И выполните.
CODE:
int Image_0[100][100];
if (loadimage (#Image_0[0][0], "C:\Image_0.bmp")>0)messagebox("Congr");
else messagebox ("nooo");

int PosX, PosY;
if (findimage(1, #Image_0[0][0], 0, #PosX, #PosY, 0, 0, 1366, 768, -1)==1)mousemove(PosX, PosY);
else messagebox("не нашли");

Если не нашли проверьте или тот участок что ищется не динамичный. Не полупрозрачный. CTRL+SHIFT+A http://filesd.net/kibor/scannergraphicinterface.php
(Добавление)
Добавление:

 sakr1dd пишет:
Стоп у меня вопрос,если не сохранять то выполняться не будет?)) если да то это провал,я до этого не сохранялся,а просто запускал программу))))))))
(Добавление)
Сохранил - заработало Голливудская улыбка прошу прощения большая глупость)


Работает без сохранения скрипта. Наверно имелось в виду запуск второй кнопкой? Контролы управления Кибор.
13. sakr1dd - 05 Октября, 2013 - 07:37:19 - перейти к сообщению
[quote=Kibor]Закройте короче игру. Просто на рабочем столе сделайте рисунок с обоев. Размер не более 100 на 100.

Сохраните под именем C:\Image_0.bmp
И выполните.
CODE:
int Image_0[100][100];
if (loadimage (#Image_0[0][0], "C:\Image_0.bmp")>0)messagebox("Congr");
else messagebox ("nooo");

int PosX, PosY;
if (findimage(1, #Image_0[0][0], 0, #PosX, #PosY, 0, 0, 1366, 768, -1)==1)mousemove(PosX, PosY);
else messagebox("не нашли");

Если не нашли
 Kibor пишет:
Проверьте или тот участок что ищется не динамичный. Не полупрозрачный. CTRL+SHIFT+A(для просмотра ссылки Вам необходимо авторизоваться) /quote]
(Добавление)
Добавление:

 sakr1dd пишет:
Стоп у меня вопрос,если не сохранять то выполняться не будет?)) если да то это провал,я до этого не сохранялся,а просто запускал программу))))))))
(Добавление)
Сохранил - заработало Голливудская улыбка прошу прощения большая глупость)


Работает без сохранения скрипта. Наверно имелось в виду запуск второй кнопкой? Контролы управления Кибор.

Сделал рисунок с обоев,выполняется действие,мышка перемещается на тот участок.. При наведении на кнопку Принять(не в киборе,а в программе),она подчеркивается и меняет цвет,это и есть динамические пиксели?
14. Kibor - 05 Октября, 2013 - 07:47:02 - перейти к сообщению
Динамичные пикселя, это к примеру когда табличка в игре имеет прозрачность. Под ней проявляется фон самой игры. Тогда рисунок не найдется, так как он постоянно имеет разный цвет пикселей. В этом случае используется loadimage расширенная. поиска изображения по неполному совпадению.
Определить такие участки можно нажав CTRL+SHIFT+S и (CTRL+SHIFT+A 2 раза)
15. sakr1dd - 05 Октября, 2013 - 15:58:02 - перейти к сообщению
 Kibor пишет:
Динамичные пикселя, это к примеру когда табличка в игре имеет прозрачность. Под ней проявляется фон самой игры. Тогда рисунок не найдется, так как он постоянно имеет разный цвет пикселей. В этом случае используется loadimage расширенная. поиска изображения по неполному совпадению.
Определить такие участки можно нажав CTRL+SHIFT+S и (CTRL+SHIFT+A 2 раза)

Вот смотрите,можно ли тут через картинку делать? (для просмотра ссылки Вам необходимо авторизоваться) (Добавление)
[quote=sakr1dd]
 Kibor пишет:
Динамичные пикселя, это к примеру когда табличка в игре имеет прозрачность. Под ней проявляется фон самой игры. Тогда рисунок не найдется, так как он постоянно имеет разный цвет пикселей. В этом случае используется loadimage расширенная. поиска изображения по неполному совпадению.
Определить такие участки можно нажав CTRL+SHIFT+S и (CTRL+SHIFT+A 2 раза)

Вот смотрите,можно ли тут через картинку делать? (для просмотра ссылки Вам необходимо авторизоваться) /quote]
На данный момент у меня дела обстоят так,бот наводит и кликает по картинке(по кнопочке принять),но только когда окно открыто,если не открыто просто заканчивается программа,как сделать так чтобы нужное окно разворачивалось.
Код выглядит след. образом
CODE:
win wind=window ("Друзья", "USurface_10951222", 1077, 222, -1, -1, -1);
int Image_1[43][10];
if (loadimage (#Image_1[0][0], "C:\Image_0.bmp")>0)
messagebox("Congr");
else messagebox ("nooo");
int PosX, PosY;
if (findimage(1, #Image_1[0][0], 0, #PosX, #PosY, 0, 0, 1366, 768, -1)==1)
{
mousemove(PosX, PosY);
mouse(LEFT);
}
16. Kibor - 06 Октября, 2013 - 00:23:12 - перейти к сообщению
 sakr1dd пишет:
как сделать так чтобы нужное окно разворачивалось

Не знаю. Понятия не имею что за окно.

И win wind=window ("Друзья", "USurface_10951222", 1077, 222, -1, -1, -1); вообще не надо в этом скрипте, так как тут везде координаты экранные.
17. sakr1dd - 06 Октября, 2013 - 02:16:47 - перейти к сообщению
 Kibor пишет:
 sakr1dd пишет:
как сделать так чтобы нужное окно разворачивалось

Не знаю. Понятия не имею что за окно.

И win wind=window ("Друзья", "USurface_10951222", 1077, 222, -1, -1, -1); вообще не надо в этом скрипте, так как тут везде координаты экранные.


А вот как можно сделать так,когда картинка одна и та же,а надо чтобы бот нажимал по порядку а не на первую попавшуюся? Как то чтобы картинка находилась отталкиваясь допустим от какого-то элемента или другой картинки?
18. Kibor - 06 Октября, 2013 - 02:35:01 - перейти к сообщению
 sakr1dd пишет:
А вот как можно сделать так,когда картинка одна и та же,а надо чтобы бот нажимал по порядку а не на первую попавшуюся? Как то чтобы картинка находилась отталкиваясь допустим от какого-то элемента или другой картинки?

Разные есть для этого способы. Зависит от ситуации.

Можно отталкиваться от номера найденной картинки, можно искать только в той области где надо, можно привязать к другой картинке, если ее расположение одинаково к расположению искомой всегда...

Нужен скрин с полным пояснением.
19. sakr1dd - 06 Октября, 2013 - 02:47:10 - перейти к сообщению
 Kibor пишет:
 sakr1dd пишет:
А вот как можно сделать так,когда картинка одна и та же,а надо чтобы бот нажимал по порядку а не на первую попавшуюся? Как то чтобы картинка находилась отталкиваясь допустим от какого-то элемента или другой картинки?

Разные есть для этого способы. Зависит от ситуации.

Можно отталкиваться от номера найденной картинки, можно искать только в той области где надо, можно привязать к другой картинке, если ее расположение одинаково к расположению искомой всегда...

Нужен скрин с полным пояснением.

20. Kibor - 06 Октября, 2013 - 03:31:01 - перейти к сообщению


Ищем относительно зеленого контакта

 Цитата:
int Image_1[100][100];
if (loadimage (#Image_1[0][0], "C:\Image_1.bmp")>0)messagebox("Image_1 Congr");//Зеленая тамка это
else messagebox ("Image_1 nooo");

int Image_2[100][100];
if (loadimage (#Image_2[0][0], "C:\Image_2.bmp")>0)messagebox("Image_2 Congr");
else messagebox ("Image_2 nooo");

int PosX_K, PosY_K;//Координаты рамки зеленой
int PosX, PosY;//Координаты галки

if (findimage(1, #Image_1[0][0], фоновый_цвет_красный, #PosX_K, #PosY_K, 0, 0, 1366, 768, -1)==1)//Нашли зеленую рамку
{
//Ищется галка начиная от PosX_K, PosY_K (левый верхний угол рамки)
if (findimage(1, #Image_2[0][0], 0, #PosX, #PosY, PosX_K, PosY_K, 1366, 768, -1)==1)
{
mousemove(PosX, PosY);
mouse(LEFT);
}
}

Powered by ExBB FM 1.0 Final