WorldCheats Forum

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

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

Поделиться | 
 

 _FullCargoCheck

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

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

СообщениеТема: _FullCargoCheck   Сб Май 02, 2009 8:49 pm

Цитата :
_FullCargoCheck v0.1 Change Log:
v0.2 - 05.05.2009 [Link] by Lyuk
- Черновая версия для Апокрифа
v0.1 - 01.03.2009 [Link]:
- Альфа релиз модуля (v0.1 не актуальна после выхода Апокрифы)

Цитата :
Главная тема [Link]
Содержание [Link]
Черновая версия для Апокрифа


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

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

СообщениеТема: Re: _FullCargoCheck   Сб Май 02, 2009 8:51 pm

Global $Color = PixelGetColor($X, $Y)

_FullCargoCheck()

Func _FullCargoCheck()
PixelSearch($X-1, $Y-1, $X+1, $Y+1, $Color, 30)
If @error Then
MsgBox(0, "", "Инвентарь полон")
EndIf
EndFunc
Вернуться к началу Перейти вниз
Посмотреть профиль
Lyuk
Пользователь
Пользователь
avatar

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

СообщениеТема: Re: _FullCargoCheck   Вт Май 05, 2009 4:44 am

Черновая версия для Апокрифа

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;функция проверки заполненности трюма v0.2
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Func FullCargoCheck()
PixelSearch($CargoX + 246, $CargoY + 54, $CargoX + 254, $CargoY + 72, 0x005F7B, 20); ищем определенные цвета в конце полоски
If Not @error Then ;если такой цвет есть то трюм полон
TT("трюм полон")
Return 1
EndIf
PixelSearch($CargoX + 246, $CargoY + 54, $CargoX + 254, $CargoY + 72, 0x01617C, 20)
If Not @error Then
TT("трюм полон")
Return 1
EndIf
PixelSearch($CargoX + 246, $CargoY + 54, $CargoX + 254, $CargoY + 72, 0x01617D, 20)
If Not @error Then
TT("трюм полон")
Return 1
EndIf
PixelSearch($CargoX + 246, $CargoY + 54, $CargoX + 254, $CargoY + 72, 0x03637F, 20)
If Not @error Then
TT("трюм полон")
Return 1
EndIf
PixelSearch($CargoX + 246, $CargoY + 54, $CargoX + 254, $CargoY + 72, 0x02627D, 20)
If Not @error Then
TT("трюм полон")
Return 1
EndIf
;~ TT("трюм пуст")
Return 0
EndFunc ;==>FullCargoCheck

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Вернуться к началу Перейти вниз
Посмотреть профиль
Sl0n1k911
Пользователь
Пользователь
avatar

Мужчина Количество сообщений : 2
Возраст : 28
Географическое положение : Украина, Харьков
Награда :  
Дата регистрации : 2009-05-14

СообщениеТема: Re: _FullCargoCheck   Вс Май 17, 2009 1:17 am

Lyuk, слишком много ненужных проверок, все ведь делается гораздо проще. Достаточно проверить цвет 1 раз в конце полоски и все будет работать. Код которым я пользуюсь:

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Проверка состояния трюма

Func Cargo()
PixelSearch(299,604,300,606,0x0D647A,10)
If not @error then
TT("Трюм полон")
CS(1000)
Return 1
EndIf

EndFunc

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

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

СообщениеТема: Re: _FullCargoCheck   Пн Май 18, 2009 5:05 am

Много проверок для того чтобы надёжно работало. Дело в том что при разных положениях камеры относительно источника освещения цвет полоски меняется. Если камеру не крутить то достаточно одной проверки.
Вернуться к началу Перейти вниз
Посмотреть профиль
Belfigor
Освоившийся
Освоившийся
avatar

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

СообщениеТема: Re: _FullCargoCheck   Пн Май 18, 2009 5:28 am

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

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

СообщениеТема: Re: _FullCargoCheck   Пн Май 18, 2009 5:49 am

Имеешь ввиду сначала запомнить цвет, а потом определять когда изменился? - так тоже иногда глючит из-за освещения
Вернуться к началу Перейти вниз
Посмотреть профиль
Belfigor
Освоившийся
Освоившийся
avatar

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

СообщениеТема: Re: _FullCargoCheck   Пн Май 18, 2009 6:19 am

Освещение меняется без участия игрока, когда корабль док/андокается и прыгает через гейт. Тоесть андокнулся, запомнил цвет и слежишь за изменением. Прыгнул через гейт - запомнил цвет и следишь за изменением. Тогда сбиваться ничего не будет, будучи в космосе если сам не подвинешь камеру, тени не изменятся. Но это касательно старого клиента, в новом полоска другая:
Вернуться к началу Перейти вниз
Посмотреть профиль
Sl0n1k911
Пользователь
Пользователь
avatar

Мужчина Количество сообщений : 2
Возраст : 28
Географическое положение : Украина, Харьков
Награда :  
Дата регистрации : 2009-05-14

СообщениеТема: Re: _FullCargoCheck   Пн Май 18, 2009 11:57 am

Оу, забыл сказать что мой кусок кода написан как раз под последнюю версию клиента, извините Sad Но зато там нет никаких теней и цвет никак не меняется.
Вернуться к началу Перейти вниз
Посмотреть профиль
Archy26
Пользователь
Пользователь
avatar

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

СообщениеТема: Re: _FullCargoCheck   Пн Июн 08, 2009 8:08 pm

Я прошу прощения, совершенно случайно тыкнул в минус репутации для Lyuk прошу модераторов, если это возможно исправить мой неуклюжий поступок.
Вернуться к началу Перейти вниз
Посмотреть профиль
Typok
Пользователь
Пользователь
avatar

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

СообщениеТема: Re: _FullCargoCheck   Вт Июн 30, 2009 6:04 pm

что бы цвета не глючили, можно просто сделать черный фон - f10, макс. удаление звездной карты и утащить MouseClickDrag'ом за экран. У меня так и работает, теперь без глюков Wink
Вернуться к началу Перейти вниз
Посмотреть профиль
Belfigor
Освоившийся
Освоившийся
avatar

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

СообщениеТема: Re: _FullCargoCheck   Вт Июн 30, 2009 6:08 pm

Так же достаточно просто сделать чтобы модуль возвращал в % или же в объеме кубов значение заполненности карго
Вернуться к началу Перейти вниз
Посмотреть профиль
Archy26
Пользователь
Пользователь
avatar

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

СообщениеТема: Re: _FullCargoCheck   Сб Июл 04, 2009 7:05 pm

Typok пишет:
что бы цвета не глючили, можно просто сделать черный фон - f10, макс. удаление звездной карты и утащить MouseClickDrag'ом за экран. У меня так и работает, теперь без глюков Wink
Угу, отличный способ. Работает 100% без глюков. К тому же, можно всё, что имело ранее подобные проблемы, теперь запинить, сделав прозрачным, и всё чудно работает. Однако...
Вернуться к началу Перейти вниз
Посмотреть профиль
Litimore
Пользователь
Пользователь
avatar

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

СообщениеТема: Re: _FullCargoCheck   Чт Июл 09, 2009 7:37 pm

Sl0n1k911 привел пример проверки Карго.

...
PixelSearch(299,604,300,606,0x0D647A,10)
...
Как вычислить цвет заданного пикселя в формате 0x0D647A или как я понял преобразовать набор дэцимал и хекс в 0x0D647A.
Вернуться к началу Перейти вниз
Посмотреть профиль
Belfigor
Освоившийся
Освоившийся
avatar

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

СообщениеТема: Re: _FullCargoCheck   Чт Июл 09, 2009 7:43 pm

Кодировку цвета быстрее всего узнать в Au3 Info. Утилита идущая в стандартном пакете установочника AutoIt v3. Показывает инфу об объекте находящимся под курсором.
Вернуться к началу Перейти вниз
Посмотреть профиль
Litimore
Пользователь
Пользователь
avatar

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

СообщениеТема: Re: _FullCargoCheck   Чт Июл 09, 2009 7:57 pm

Ммм... Не могу понять. Хватаю Finder Tool, вожу по еве, а он не реагирует на изменения, одни и теже координаты и один и тот же цвет. А в том же Ворде он выделяет целую панэль с инструментами, целую панель скрола etc, черным цветом. Вроде все настройки перепробывал, их там мало. Подскажите где я натупил (:

P.S. Ева в оконном режиме, 1024х768
Вернуться к началу Перейти вниз
Посмотреть профиль
Belfigor
Освоившийся
Освоившийся
avatar

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

СообщениеТема: Re: _FullCargoCheck   Пт Июл 10, 2009 9:24 am

Ctrl+Alt+F - включить и выключить файндер тул, активируешь окно евы, жмешь комбинацию и видишь что надо. По сути все что тебе будет актуально - это координаты и цвет
Вернуться к началу Перейти вниз
Посмотреть профиль
Litimore
Пользователь
Пользователь
avatar

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

СообщениеТема: Re: _FullCargoCheck   Пт Июл 10, 2009 10:05 am

Уже разобрался, там надо было смотреть в закладке "Mouse", а у меня вечером сил нехватило осмыслить это ).
Вернуться к началу Перейти вниз
Посмотреть профиль
Lyuk
Пользователь
Пользователь
avatar

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

СообщениеТема: Re: _FullCargoCheck   Ср Июл 22, 2009 7:38 pm

Сделал модуль возвращающий долю (процент) загруженности трюма:

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;функция v 0.4 проверки заполненности трюма, возвращает долю заполненности
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;~ $CargoX = $WinPos[0] + 40; Координата X верхнего левого угла окна трюма
;~ $CargoY = $WinPos[1] + 205; Координата Y верхнего левого угла окна трюма

Func FullCargoCheck()
Local $Pr = 0, $RGB = 0, $R = 0, $G = 0, $B = 0, $dX = 3, $Grad = 0, $L = 100 ; длина полной полоски в пикселях
Do
$RGB = Hex(PixelGetColor($CargoX + 147 + $dX, $CargoY + 60)), 6) ;здесь указываются координаты начала полоски заполненности трюма
$R = Dec(StringLeft($RGB, 2))
$G = Dec(StringMid($RGB, 3, 2))
$B = Dec(StringRight($RGB, 2))
$Grad = Sqrt(($R ^ 2) + ($G ^ 2) + ($B ^ 2))
$Pr = ($dX - 3) / $L
$dX
= $dX + ($L / 10)
Until $Grad < 110 ;числом регулируется чувствительность к оттенкам черного
TT($Pr * 100 & "% трюма заполнено")
Return $Pr
EndFunc ;==>FullCargoCheck
Вернуться к началу Перейти вниз
Посмотреть профиль
Belfigor
Освоившийся
Освоившийся
avatar

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

СообщениеТема: Re: _FullCargoCheck   Ср Июл 22, 2009 8:43 pm

Шикарно, вот одна из наших первый вариаций возвращающих число в процентах:
Func _WinGetMyCargoStatus()
Dim $MyCargoLeftTopX = 775, $MyCargoLeftTopY = 591, _
$CargoStatusBarLTX = $MyCargoLeftTopX + 127, $CargoStatusBarLTY = $MyCargoLeftTopY + 61, $CargoStatusBarRBX = $CargoStatusBarLTX + 98, $CargoStatusBarRBY = $CargoStatusBarLTY + 4, _
$CargoStatusBarCol = 0x010E12, $CargoStatusBarShade = 5

$FullCargoStatusBar = PixelSearch($CargoStatusBarLTX, $CargoStatusBarLTY, $CargoStatusBarRBX, $CargoStatusBarRBY, $CargoStatusBarCol, $CargoStatusBarShade)
If @error Then
Return
100
Else
$FullCargoPercent = Round((($FullCargoStatusBar[0] - $CargoStatusBarLTX) * 100 / 99),0)
Return $FullCargoPercent
EndIf
EndFunc
P.s. Наш вариант попроще Smile
Вернуться к началу Перейти вниз
Посмотреть профиль
Archy26
Пользователь
Пользователь
avatar

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

СообщениеТема: Re: _FullCargoCheck   Чт Июл 23, 2009 6:36 pm

Lyuk пишет:
Сделал модуль возвращающий долю (процент) загруженности трюма:

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;функция v 0.4 проверки заполненности трюма, возвращает долю заполненности
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;~ $CargoX = $WinPos[0] + 40; Координата X верхнего левого угла окна трюма
;~ $CargoY = $WinPos[1] + 205; Координата Y верхнего левого угла окна трюма

Func FullCargoCheck()
Local $Pr = 0, $RGB = 0, $R = 0, $G = 0, $B = 0, $dX = 3, $Grad = 0, $L = 100 ; длина полной полоски в пикселях
Do
$RGB = Hex(PixelGetColor($CargoX + 147 + $dX, $CargoY + 60)), 6) ;здесь указываются координаты начала полоски заполненности трюма
$R = Dec(StringLeft($RGB, 2))
$G = Dec(StringMid($RGB, 3, 2))
$B = Dec(StringRight($RGB, 2))
$Grad = Sqrt(($R ^ 2) + ($G ^ 2) + ($B ^ 2))
$Pr = ($dX - 3) / $L
$dX
= $dX + ($L / 10)
Until $Grad < 110 ;числом регулируется чувствительность к оттенкам черного
TT($Pr * 100 & "% трюма заполнено")
Return $Pr
EndFunc ;==>FullCargoCheck

Чудный код, Лик! Мои респекты. Могу я попросить тебя избавить окружающих от имаджсёрча в твоём модуле OpenMenu при уточнении на белый треугольник. У меня он жестоко глючит. И, я догадываюсь, что это от того что имаджсерч ищет прямо в РГБ. А теперь ты, как я могу видеть пытаешься на яркость реагировать.
Неплохо, неплохо. Щас курну и в другой теме выложу код функции ковертора RGB в (L) - яркость. пиксела.
Вернуться к началу Перейти вниз
Посмотреть профиль
Бобер
Пользователь
Пользователь
avatar

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

СообщениеТема: Re: _FullCargoCheck   Пт Авг 07, 2009 10:41 am

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

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

СообщениеТема: Re: _FullCargoCheck   Пт Авг 07, 2009 12:55 pm

Про RGB почитай тут http://ru.wikipedia.org/wiki/RGB
вот на этой основе и написан данный кусок
формулу $Grad = Sqrt(($R ^ 2) + ($G ^ 2) + ($B ^ 2)) - частный случай общей формулы для различия цветов (для отличия от черного похожа на яркость) взял по аналогии из геометрии - определение расстояния между двумя точками (цветами).
Вернуться к началу Перейти вниз
Посмотреть профиль
Спонсируемый контент




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

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

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