WorldCheats Forum

Форум
Форум посвященный главным образом MMORPG играм. Никаких ХАЙДОВ!

 
ФорумПорталЧаВоПоискПользователиГруппыРегистрацияВход

Поделиться | 
 

 OpenMenu

Предыдущая тема Следующая тема Перейти вниз 
АвторСообщение
Belfigor
Освоившийся
Освоившийся
avatar

Мужчина Количество сообщений : 259
Возраст : 18
Награда :  
Дата регистрации : 2009-04-29

СообщениеТема: OpenMenu   Пт Май 01, 2009 11:14 am

Цитата :
OpenMenu v0.1 Change Log:
v0.4 - 30.04.2009 [Link]:
- Версия любезно предоставлена нам уважаемым Lyuk. Его коментарий приведен в самом посте с модулем.
v0.3:
- хронология, сорц и изменения утеряны
v0.2:
- хронология, сорц и изменения утеряны
v0.1 - 15.02.2009 [Link]:
- Альфа релиз модуля

Цитата :

Главная тема [Link]
Содержание [Link]


Последний раз редактировалось: Belfigor (Пт Май 01, 2009 11:50 am), всего редактировалось 11 раз(а)
Вернуться к началу Перейти вниз
Посмотреть профиль
Belfigor
Освоившийся
Освоившийся
avatar

Мужчина Количество сообщений : 259
Возраст : 18
Награда :  
Дата регистрации : 2009-04-29

СообщениеТема: Re: OpenMenu   Пт Май 01, 2009 11:15 am

OpenMenu v0.1

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;
;; Модуль OpenMenu v0.1 Модуль работы с игровым меню
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;
;; Применение:
;; Само тело функции расместить в любой удобной части скрипта.
;; Использовать ссылку на функцию из любой части скрипта, для работы с меню или же овервью.
;; Зависимость: ЕСТЬ
;; Данный модуль зависит от CS и StrokeSelect модулей. Для его использования необходимо включить эти модули в тело скрипта.
;; Точные названия необходимых модулей: CS($Time); StrokeSelect($Stroke).
;; Описание:
;; Модуль OpenMenu - это подуль предназначенный для работы с овервью и игровым меню в плоть до второго уровня глубины списка
;; $Stroke - Номер строки (сверху) которую нужно активировать
;; $MenuX - Координата Х кнопки меню с которым необходимо взаимодействовать
;; $MenuY - Координата Y кнопки меню с которым необходимо взаимодействовать
;; $Type - Тип взаимодействия. Типа может быть два, 1- взаимодействие с главным меню игры, 2 - взаимодействие с меню овервью
;; $Run - Уровень меню на который вам нужно попасть. Для взаимодействия со вторым уровнем меню необходимо сперва отработать на первом уровне, т.е. запроса будет два подряд, сперва на первый а потом на второй уровень.
;; OpenMenu(6, $MenuX, $MenuY, 1, 1) - ссылка на функцию, нажимающая на 6-ю строку главного меню игры
;; OpenMenu(1, $StrokeX, $StrokeY2, 1, 2) - ссылка на функцию, нажимающая на 1-ю строку 2-го уровня главного меню игры
;; OpenMenu(1, $OverviewX, $OverviewY, 2, 1) - ссылка на функцию, нажимающая на 1-ю строку овервью
;; Принцип работы:
;; Модуль ориентирован на работу с букмарками, тоесть перед тем как его использовать в самой игре необходимо выставить букмарки на все места куда вы хотите попасть с помощью этого модуля
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;

Func OpenMenu($Stroke, $MenuX, $MenuY, $Type, $Run)
Global $MouseSpeed = 15
Select
Case
$Type = 1
TT("Открываю Главное Меню")
winmove("EVE", "", 0, 21)
Case $Type = 2
TT("Открываю Овервью")
winmove("EVE", "", -520, 21)
$Correction = 0
EndSelect
Select
Case
$Run = 1
TT("Открываю Главное Меню")
$Correction = 0
$Correction2 = 10
MouseClick
("left",$MenuX, $MenuY, 1, $MouseSpeed)
Case $Run = 2
TT("Открываю Овервью")
$Correction = 15
$Correction2 = 0
Case $Run = 3
TT("Открываю Овервью")
$Correction = 15
$Correction2 = 0
EndSelect
Global
$StrokeX = $MenuX+100
Global $StrokeY = $MenuY+$Correction2
Global $StrokeX2 = $StrokeX+100
Global $StrokeY2 = $MenuY+$Stroke*15-$Correction
Global $WaitTime = 150
CS($WaitTime)
StrokeSelect($Stroke, $StrokeX, $StrokeY2, $Type, $Run)
CS(500)
EndFunc ;==>OpenMenu
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;


Последний раз редактировалось: Belfigor (Пт Май 01, 2009 4:03 pm), всего редактировалось 3 раз(а)
Вернуться к началу Перейти вниз
Посмотреть профиль
Belfigor
Освоившийся
Освоившийся
avatar

Мужчина Количество сообщений : 259
Возраст : 18
Награда :  
Дата регистрации : 2009-04-29

СообщениеТема: Re: OpenMenu   Пт Май 01, 2009 11:21 am

OpenMenu v0.4 by Lyuk
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;
;; Модуль OpenMenu v0.4 Модуль работы с игровым меню
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;
;; Применение:
;; Само тело функции расместить в любой удобной части скрипта. В начале скрипта установить переменные с координатами кнопок меню и овервью
;; Использовать ссылку на функцию из любой части скрипта, для работы с меню или же овервью.
;; Зависимость: ЕСТЬ
;; Данный модуль зависит от CS, ImageSearch и TT модулей. Для его использования необходимо включить эти модули в тело скрипта.
;; Точные названия необходимых модулей: CS($Time); TT($TTT); ImageSearch.au3
;; Описание:
;; Модуль OpenMenu - это подуль предназначенный для работы с овервью (1 уровень) и игровым меню вплоть до четвёртого уровня глубины списка
;; $Stroke1 и т.д. - Номер строки (сверху) которую нужно активировать в соответствующем уровне вложености
;; $Type - Тип взаимодействия. Типа может быть три, 1- взаимодействие с главным меню игры, 2 - взаимодействие с меню овервью, 3 - выбор строки в овервью
;; OpenMenu(6, 0, 0, 0, 0, 1) - ссылка на функцию, нажимающая на 6-ю строку главного меню игры
;; OpenMenu(1, 3, 0, 0, 0, 1) - ссылка на функцию, нажимающая на 3-ю строку 2-го уровня главного меню игры
;; OpenMenu(1, 0, 0, 0, 0, 2) - ссылка на функцию, нажимающая на 1-ю строку меню овервью
;; OpenMenu(1, 0, 0, 0, 0, 3) - ссылка на функцию, нажимающая на 1-ю строку овервью
;; Принцип работы:
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;
;~ #include "ImageSearch.au3"
Func OpenMenu($Stroke1, $Stroke2, $Stroke3, $Stroke4, $Stroke5, $Type)
Global $MouseSpeed = 10
$x1 = 0
$y1 = 0
Dim $result = 0
Select
Case
$Type = 1
TT("Открываю " & $Stroke1 & "-ю строку Главного Меню")
MouseClick("left", $MenuX, $MenuY, 1, $MouseSpeed)
Global $StrokeX = $MenuX + 100
Global $StrokeY = $MenuY + 10 + ($Stroke1 * 16.2 - 16.2)
CS(3000)
MM()
If $Stroke2 <> 0 Then
TT("Открываю " & $Stroke2 & "-ю строку 2 уровня")
$StrokeX = $StrokeX + 70
MM()
If $Stroke1 < 5 Then
$StrokeY = $StrokeY + ($Stroke2 * 16.2 - 16.2)
Else
$StrokeY = $StrokeY + 1 + ($Stroke2 * 16.2 - 16.2); бывает что шаг меню в букмарках другой (с русскими шрифтами)
EndIf
$result = _ImageSearchArea("StrelkaMenu.bmp", 1, $StrokeX, $StrokeY-10, $StrokeX+250, $StrokeY+10, $x1, $y1, 100); корректировка на стрелку в меню
If $result = 1 Then
$StrokeX=$x1-15
$StrokeY=$y1
$result = 0
EndIf
MM()
If $Stroke3 <> 0 Then
TT("Открываю " & $Stroke3 & "-ю строку 3 уровня")
$StrokeX = $StrokeX + 50
MM()
$StrokeY = $StrokeY + 7 + ($Stroke3 * 16.2 - 16.2)
$result = _ImageSearchArea("StrelkaMenu.bmp", 1, $StrokeX, $StrokeY-10, $StrokeX+250, $StrokeY+10, $x1, $y1, 100); корректировка на стрелку в меню
If $result = 1 Then
$StrokeX=$x1-15
$StrokeY=$y1
$result = 0
EndIf
MM()
If $Stroke4 <> 0 Then
TT("Открываю " & $Stroke4 & "-ю строку 4 уровня")
$StrokeX = $StrokeX + 50
MM()
$StrokeY = $StrokeY + 2 + ($Stroke4 * 16.2 - 16.2)
$result = _ImageSearchArea("StrelkaMenu.bmp", 1, $StrokeX, $StrokeY-10, $StrokeX+250, $StrokeY+10, $x1, $y1, 100); корректировка на стрелку в меню
If $result = 1 Then
$StrokeX=$x1-15
$StrokeY=$y1
$result = 0
EndIf
MM()
EndIf
EndIf
EndIf
Case $Type = 2
TT("Открываю " & $Stroke1 & "-ю строку меню Овервью")
MouseClick("left", $OverviewX, $OverviewY, 1, $MouseSpeed)
Global $StrokeX = $OverviewX + 100
Global $StrokeY = $OverviewY + 10 + ($Stroke1 * 16.2 - 16.2)
MM()
CS(5000)
Case $Type = 3
TT("Выделяю " & $Stroke1 & "-ю строку Овервью")
Global $StrokeX = $OverviewX + 10
Global $StrokeY = $OverviewY + 57 + ($Stroke1 * 20 - 20)
MM()
CS(1000)
EndSelect
MouseClick("left")
CS(1000)
EndFunc ;==>OpenMenu
Func MM()
MouseMove($StrokeX, $StrokeY, $MouseSpeed)
CS(1000)
EndFunc ;==>MM
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;

Lyuk пишет:
Этот вариант у меня стабильно работает в любой системе, координаты несколько отличаются от твоих потому что стоит стандартная тема Windows XP, окно EVE двигаю в 0, 0. Расчетная координата корректируется по этому изображению:
StrelkaMenu.bmp - " "
Вернуться к началу Перейти вниз
Посмотреть профиль
garrul
Пользователь
Пользователь
avatar

Мужчина Количество сообщений : 9
Возраст : 39
Географическое положение : Краснодар
Награда :  
Дата регистрации : 2009-08-10

СообщениеТема: Re: OpenMenu   Чт Авг 13, 2009 12:17 pm

а не подскажите, где взять этот самый ImageSearch.au3 ?

upd:
пардон, паникнул напрасно, нашёл тут: http://www.autoitscript.com/forum/index.php?showtopic=65748
Вернуться к началу Перейти вниз
Посмотреть профиль
Lexx98
Пользователь
Пользователь
avatar

Мужчина Количество сообщений : 36
Возраст : 36
Награда :  
Дата регистрации : 2009-08-04

СообщениеТема: Re: OpenMenu   Чт Авг 13, 2009 1:06 pm

Забей на ImageSearch, почитав форум, поймёшь почему это стоит сделать.
Вернуться к началу Перейти вниз
Посмотреть профиль
garrul
Пользователь
Пользователь
avatar

Мужчина Количество сообщений : 9
Возраст : 39
Географическое положение : Краснодар
Награда :  
Дата регистрации : 2009-08-10

СообщениеТема: Re: OpenMenu   Чт Авг 13, 2009 5:17 pm

Lexx98 пишет:
Забей на ImageSearch, почитав форум, поймёшь почему это стоит сделать.

нет ну почему, у меня отлично работает. мне она нужна всего то для OpenMenu и всё
Вернуться к началу Перейти вниз
Посмотреть профиль
Archy26
Пользователь
Пользователь
avatar

Мужчина Количество сообщений : 73
Возраст : 35
Награда :  
Дата регистрации : 2009-06-01

СообщениеТема: Re: OpenMenu   Чт Авг 13, 2009 10:15 pm

Кхм. У каждого свой путь. я не исключаю, что у кого-то в опенменю имаджсёрч будет стабильно работать Smile

Лично у меня работает крайне нестабильно. Кроме того, мы обнаружили, что на разных компах есть ещё возможность программной коррекции цвета. И тогда на монитор выдаётся картинка с корректированым цветом. Но это ещё не всё. Сам винда рисует всё с этой кореекцией. поэтому - либо сбрасывайте все настройки цвета на видеокарте на заводские и используйте ТОЛЬКО НАСТРОЙКИ МОНИТОРА для вывода привильного изображения, либо не надейтесь на одинаковый результат в pixelSearch и ImageSearch на разных компах.

PS.: Блин, столько лет проработал дизайнером. Можно сказать профи в этом деле, а впервые обратил внимание на этот вот "пустячок".

PPS.: я подозреваю, новый виток развития стандартизации. Не только одинаковые настройки в клиенте. НО И ЕЩЁ ОДИНАКОВЫЕ НАСТРОЙКИ ВИДЕОКАРТ.

PPPS (что означает полный п): В результате вдумчивого осмысления, признал эту меру стандартизации неэффективной. Может оказаться, что разные видеокарты используют для вывода разные настроки и разные привязки к одним и тем же цветовым таблицам. В общем - утилитарность и универсальность функций несущих в себе пиксельсерч с шейдом 1 или имаджсерч признана невозможной. Как факт.
Вернуться к началу Перейти вниз
Посмотреть профиль
Belfigor
Освоившийся
Освоившийся
avatar

Мужчина Количество сообщений : 259
Возраст : 18
Награда :  
Дата регистрации : 2009-04-29

СообщениеТема: Re: OpenMenu   Чт Авг 13, 2009 11:10 pm

А я подозреваю новый виток стандартизации кода в связи с этим. Чтобы он стопудова различал где какой цвет.
Вернуться к началу Перейти вниз
Посмотреть профиль
Lyuk
Пользователь
Пользователь
avatar

Мужчина Количество сообщений : 41
Возраст : 37
Награда :  
Дата регистрации : 2009-04-30

СообщениеТема: Re: OpenMenu   Пт Авг 14, 2009 5:06 am

Archy26 у тебя какая видеокарта? и какой режим глубины цвета в EVE (x8r8g8b8) ?
в чём конкретно баги (ненаходит, находит нето, зависит от освещения) ?
Интересно, там вроде не должно зависеть от разброса цветов , так как ImageSearch сравнивает по такому алгоритму:
if (red >= red_low1 and red <= red_high1 and
green >= green_low1 and green <= green_high1
and blue >= blue_low1 and blue <= blue_high1 or image_pixel = прозрачен) then пиксели идентичны

Какой алгоритм сравнения цветов предлагаете взять за стандартный ?

У меня редкий баг этого модуля связан с тем что при указании большого разброса цветов имаджсерч находит вместо стрелки меню стрелку прицела в овервью ( лечится например сбросом лока перед вызовом опенменю) т.к. они отличаются одним пикселем, Также модуль иногда нужно корректировать, в зависимости от установленых в винде шрифтов длину области поиска стрелки
Вернуться к началу Перейти вниз
Посмотреть профиль
Archy26
Пользователь
Пользователь
avatar

Мужчина Количество сообщений : 73
Возраст : 35
Награда :  
Дата регистрации : 2009-06-01

СообщениеТема: Re: OpenMenu   Сб Авг 15, 2009 12:45 am

У меня GF8800 Ultra (768 мб оперативки) x8r8g8b8

Дело не в этом. Вернее не совсем в этом.

В виндоус на каждой видеокарте есть настройки цветности. для подгонки изобрадения выводимого на монитор к относительному соответствию того, что в идеале должен увидеть пользователь.
Каждая видеокарта вместе с драйверами поставляет такой мастер настройки. на нвидиа, например, это "панель управления nvidia"
Вернуться к началу Перейти вниз
Посмотреть профиль
Belfigor
Освоившийся
Освоившийся
avatar

Мужчина Количество сообщений : 259
Возраст : 18
Награда :  
Дата регистрации : 2009-04-29

СообщениеТема: Re: OpenMenu   Сб Авг 15, 2009 11:52 am

У меня NX8800Ultra, и показатели проверок отличаются от показателей арчибальда.
Вернуться к началу Перейти вниз
Посмотреть профиль
garrul
Пользователь
Пользователь
avatar

Мужчина Количество сообщений : 9
Возраст : 39
Географическое положение : Краснодар
Награда :  
Дата регистрации : 2009-08-10

СообщениеТема: Re: OpenMenu   Вс Авг 23, 2009 11:13 am

итак, закономерное развитие событий... Smile нестабильная работа имаджсёрч Smile))
натолкните на мысль, как соорудить нечто настолько же полезное и универсальное, как и опенменю, но без имаджсёрча? как привязаться к этому чертовому треугольничку?
Вернуться к началу Перейти вниз
Посмотреть профиль
Lexx98
Пользователь
Пользователь
avatar

Мужчина Количество сообщений : 36
Возраст : 36
Награда :  
Дата регистрации : 2009-08-04

СообщениеТема: Re: OpenMenu   Вс Авг 23, 2009 11:32 am

Вроде в теме с рецензиями Арчи выкладывал какую-то идею. Или в основной обсуждаловке. В общем, где-то что-то есть. Но не готовый скрипт.
Вернуться к началу Перейти вниз
Посмотреть профиль
Archy26
Пользователь
Пользователь
avatar

Мужчина Количество сообщений : 73
Возраст : 35
Награда :  
Дата регистрации : 2009-06-01

СообщениеТема: Re: OpenMenu   Вс Авг 23, 2009 12:19 pm

Trianglecheck v0.1 by Archy26
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;
;; Модуль TriangleCheck v0.1 Модуль "привязки" к белому треугольнику для работы с игровым меню
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;
;; Применение:
;; Само тело функции расместить в любой удобной части скрипта.
;; Использовать ссылку на функцию из любой части скрипта, для работы с меню или же овервью.
;; Зависимость: НЕТ
;; Описание:
;; Модуль Trianglecheck - это модуль предназначенный для включения в модуль OpenMenu.
;; Принцип работы:
;; Выполняет поиск первого близкого к белому цвету пикселя в области поиска, после чего, проверяет наличие треугольника по его вершинам. Сработал без сбоев более
;; 10 000 раз подряд, недоверять ему у меня просто нет причин.
;; Примечание:
;; Код оптимизирован, работает настолько быстро, насколько это вообще возможно для винАПИшного GetPixel()
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;


Dim $TriangeCentreX, $TriangeCentreY, $SearchAreaLTX, $SearchAreaLTY, $SearchAreaRBX, $SearchAreaRBY
Global $x = [i]0
, $y = 0

Func TriangleCheck($SearchAreaLTX, $SearchAreaLTY, $SearchAreaRBX, $SearchAreaRBY) ; ищем x, y центра треугольника путём проверки по вершинам.
Opt("PixelCoordMode", 0)
Opt("MouseCoordMode", 0)
Local $ix, $iy, $a, $aa, $aaa, $aab, $aac, $aad, $b, $bb, $bbb, $bbc, $c, $cc, $aaaH, $aabH, $aacH, $aadH, $bbbH, $bbcH, $bbc
For $iy = $SearchAreaLTY To $SearchAreaRBY step 1
For $ix = $SearchAreaLTX To $SearchAreaRBX step 1
$aa = TrimColor("0x"&Hex(PixelGetColor($ix, $iy), 6))
If $aa > 230 Then
If
$aa > 230 And 255 = $aa < 255 Then
$aaa = TrimColor("0x"&Hex(PixelGetColor($ix, $iy + 1), 6))
If $aaa > 230 And 255 = $aaa < 255 Then
$aab = TrimColor("0x"&Hex(PixelGetColor($ix, $iy + 2), 6))
If $aab > 230 And 255 = $aab < 255 Then
$aac = TrimColor("0x"&Hex(PixelGetColor($ix, $iy + 3), 6))
If $aac > 230 And 255 = $aac < 255 Then
$aad = TrimColor("0x"&Hex(PixelGetColor($ix, $iy + 4), 6))
If $aad > 230 And 255 = $aad < 255 Then
$bb = TrimColor("0x"&Hex(PixelGetColor($ix + 1, $iy + 1), 6))
If $bb > 230 And 255 = $bb < 255 Then
$bbb = TrimColor("0x"&Hex(PixelGetColor($ix + 1, $iy + 2), 6))
If $bbb > 230 And 255 = $bbb < 255 Then
$bbc = TrimColor("0x"&Hex(PixelGetColor($ix + 1, $iy + 3), 6))
If $bbc > 230 And 255 = $bbc < 255 Then
$cc = TrimColor("0x"&Hex(PixelGetColor($ix + 2, $iy + 2), 6))
If $cc > 230 And 255 = $cc < 255 Then
$x = $ix + 1
$y = $iy + 2
ExitLoop
EndIf
EndIf
EndIf
EndIf
EndIf
EndIf
EndIf
EndIf
EndIf
EndIf
Next
If Not $x = 0 Then ExitLoop
Next
EndFunc


Func TrimColor($TargetTrim)
[i]#cs TrimarkColor - Comment Start

Исползуется для получения из цвета в формате RGB значение яркости пикселя. Возвращает значение от 0 до 255.
Скорость:
Функция выполняется за ~0.06-0.10 мс.
#ce TrimarkColor - Comment End
Dim $a, $as, $as1, $as2, $a_fin
$a = Hex($TargetTrim, 6)
$a_fin = (Dec(StringTrimRight($a, 4)) + Dec(StringTrimLeft(StringTrimRight($a, 2), 2)) + Dec(StringTrimLeft($a, 4)))/3
$TargetTrim = Round($a_fin, 0)
Return $TargetTrim
EndFunc

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;


Белфигор меня разве что не побил за это. дальше сами Smile
Вернуться к началу Перейти вниз
Посмотреть профиль
Lyuk
Пользователь
Пользователь
avatar

Мужчина Количество сообщений : 41
Возраст : 37
Награда :  
Дата регистрации : 2009-04-30

СообщениеТема: Re: OpenMenu   Вс Авг 23, 2009 6:42 pm

Вот интересно ну почему у вас имаджсёрч не работает, я замеров не делал но за последние 2 недели на нём сбоев небыло. Вопрос какую версию имаджсёрча используете ? оригинал (с 1 поста на форуме Ait) или расширенную ? Треугольник вырезаете из скриншота из строки которая выделена ? ( там фон НЕ чёрный) ? Я использую оригинал версию имаджсёрча , разброс цвета 80 , сбоев нет если правильно вырезать треугольник.

Мне интересны ошибки имаджсёрча потому что на его базе пишу модуль точного определения расстояния, повторять ошибки не хочется. Имаджсёрч вроде бы должен работать быстрее других вариантов так как вообще не использует винапишный GetPixel(), он один раз копирует все пиксели в массив и уже в нём ведёт поиск. Archy26 ты сравнивал скорости работы своего модуля и имаджсёрча? кто быстрее ?
Вернуться к началу Перейти вниз
Посмотреть профиль
Archy26
Пользователь
Пользователь
avatar

Мужчина Количество сообщений : 73
Возраст : 35
Награда :  
Дата регистрации : 2009-06-01

СообщениеТема: Re: OpenMenu   Пн Авг 24, 2009 3:40 am

Нет, не сравнивал. У меня нет необходимости так сильно ускорять процесс работы бота. На контроль одного окна у меня заложено всегда от 3х (за три секунды, например, можно перекинуть руду и переключиться на следующее окно) до 15 секунд (для таких вещей, например, как создание и наименование, или поиск и открытие ящика). OCR на цифры я написел гетпикселем. И да. ОЧЕНЬ МЕДЛЕННО Smile
Однако - мы выкрутились параллельным запуском большого количества процессов. Т.е. все графические процедуры у нас запускаются параллельно, не дожидаясь окончания предыдущей. Это повышает нагрузку на процессор с 2х до 15-17%, однако - окупается быстротой исполнения (до 9ти мс). Таким образом, мы с Белфигором практически приблизились к историческому минимуму в поиске данных в видеопотоке (при фпс 30 - 1 кадр проецируется за 8,33 мс). Т.е. это, практически, "разборка" видеопотока в реальном времени, без задействования всяких кодеков и прочей хероты.
Я вот, скачал CUDA SDK и сижу, ломаю голову, как заставить GPU с помощью CUDA обрабатывать всю эту хрень. И начинаю понимать что зря я его скачал Smile
Там что-то вроде Си, урезаного и оптимизированого для работы с GPU напрямую. И, в общем, как я понимаю, чтобы заставить все эти графические процедуры выполняться через GPU, нада их написать самостоятельно на этом самом Си nvidia, а я и в обычном-то ни в зуб ногой почти.
Работа встала.
Белфигор занят в реале сейчас, пишет крайне редко. У меня тоже некисло реала прибавилось последние дни. В общем бот не дошёл до уровня, когда он в состоянии действовать полностью без человека. Как минимум, нужен кто-то, кто пераезгрузит удалённый комп, если тот зависнет Smile

Люк, создай новую тему, расскажи там про свои эксперименты:
1) поделись ссылками на имаджсёрч, который у тебя работает.
2) опиши технологию правильного вырезания картинки.
3) замерь по таймеру скорость работы моего модуля и твоего на основе имаджсёрч.
4) В целом, поделись информацие, если не влом.
Пообщавшись с Белфигором вчера в аське, мы решили не быть буками, и потихоньку выкладывать упрощённые модули для бота, вырезая из низ тот функционал, до которого пришедшие на форум сами должны дойти. Мы бы и так выкладывали полностью функциональные модули, но если их все выложить - на них можно будет собирать уберботов, которые даже в пвп будут рулить. Поэтому функционал мы всё-таки будем резать. Человек не обременённый ленью и одарённый творческим мышлением, после некоторого времени втыкания в наши алгоритмы - самостоятельно разберётся как ему и что куда прикрутить, чтобы было "песдато" Smile
Вернуться к началу Перейти вниз
Посмотреть профиль
Lyuk
Пользователь
Пользователь
avatar

Мужчина Количество сообщений : 41
Возраст : 37
Награда :  
Дата регистрации : 2009-04-30

СообщениеТема: Re: OpenMenu   Пн Авг 24, 2009 6:51 pm

1) ссылка была выше ( http://www.autoitscript.com/forum/index.php?showtopic=65748 ) я использую имаджсёрч из первого поста темы, думал может вы скачали более новую версию которая там дальше в ветке есть.
2) Суть в том что нужно вырезать треугольник из уже выбранной строки, иначе глючит потому что цвет меняется при наведении мыши :



3) Скорость имаджсёрча: 20 - 80 ms в зависимости от местоположения треугольника.
Скорость трианглчек : 9241 ms и больше.
4) К сожалению делиться пока нечем , эксперименты пока не завершены, нет времени. Мне до ваших результатов очень далеко, у вас все работает в комплексе, а у меня только несколько сырых модулей.
Вернуться к началу Перейти вниз
Посмотреть профиль
garrul
Пользователь
Пользователь
avatar

Мужчина Количество сообщений : 9
Возраст : 39
Географическое положение : Краснодар
Награда :  
Дата регистрации : 2009-08-10

СообщениеТема: Re: OpenMenu   Вт Авг 25, 2009 6:38 am

Lyuk пишет:

2) Суть в том что нужно вырезать треугольник из уже выбранной строки, иначе глючит потому что цвет меняется при наведении мыши :
хм, может действительно из-за этого, надо протестить

Archy26 пишет:
Trianglecheck v0.1 by Archy26
а тут чесгря так и не допетрил как получить на выходе ху треугольника... там вроде только проверка и всё

мозги че то совсем туго вертятся Smile давно уже я не шкодил Smile
Вернуться к началу Перейти вниз
Посмотреть профиль
Lyuk
Пользователь
Пользователь
avatar

Мужчина Количество сообщений : 41
Возраст : 37
Награда :  
Дата регистрации : 2009-04-30

СообщениеТема: Re: OpenMenu   Вт Авг 25, 2009 6:48 am

garrul пишет:


Archy26 пишет:
Trianglecheck v0.1 by Archy26
а тут чесгря так и не допетрил как получить на выходе ху треугольника... там вроде только проверка и всё

мозги че то совсем туго вертятся Smile давно уже я не шкодил Smile


искомые xy это $x и $y после вызова функции Smile
Вернуться к началу Перейти вниз
Посмотреть профиль
garrul
Пользователь
Пользователь
avatar

Мужчина Количество сообщений : 9
Возраст : 39
Географическое положение : Краснодар
Награда :  
Дата регистрации : 2009-08-10

СообщениеТема: Re: OpenMenu   Вт Авг 25, 2009 7:06 am

Lyuk пишет:

искомые xy это $x и $y после вызова функции Smile

хм, тупанул Embarassed Smile
Вернуться к началу Перейти вниз
Посмотреть профиль
garrul
Пользователь
Пользователь
avatar

Мужчина Количество сообщений : 9
Возраст : 39
Географическое положение : Краснодар
Награда :  
Дата регистрации : 2009-08-10

СообщениеТема: Re: OpenMenu   Ср Авг 26, 2009 11:16 am

Lyuk пишет:
1) ссылка была выше ( http://www.autoitscript.com/forum/index.php?showtopic=65748 ) я использую имаджсёрч из первого поста темы, думал может вы скачали более новую версию которая там дальше в ветке есть.
2) Суть в том что нужно вырезать треугольник из уже выбранной строки, иначе глючит потому что цвет меняется при наведении мыши :

3) Скорость имаджсёрча: 20 - 80 ms в зависимости от местоположения треугольника.
Скорость трианглчек : 9241 ms и больше.
4) К сожалению делиться пока нечем , эксперименты пока не завершены, нет времени. Мне до ваших результатов очень далеко, у вас все работает в комплексе, а у меня только несколько сырых модулей.


после 15ти часового теста копкой вельдспара, сбоев не было. на картинке с черным фоном, клина ловил где то через час-два. так что вполне возможно, что в этом дело.
Вернуться к началу Перейти вниз
Посмотреть профиль
Спонсируемый контент




СообщениеТема: Re: OpenMenu   

Вернуться к началу Перейти вниз
 
OpenMenu
Предыдущая тема Следующая тема Вернуться к началу 
Страница 1 из 1

Права доступа к этому форуму:Вы не можете отвечать на сообщения
WorldCheats Forum :: Лаборатория Читера :: EVE Online-
Перейти: