ynbIpb
Скриптер
- Сообщения
- 399
- Репутация
- 110
Вопрос по поводу Lineage2
В последней версии создатели игры усложнили определение уровня HP\MP через пиксели. Полоска стала не однородного цвета в длинну, цифры перекрывают полоску целиком по высоте.
Есть идеи как эфективно определять уровни в такой ситуации?
----
В старых версиях всё было проще. Цифры не перекрывали полоску по краям и она была одного цвета в длинну.
Сканированием верхнего края полосы добивался результата вот так:
В последней версии создатели игры усложнили определение уровня HP\MP через пиксели. Полоска стала не однородного цвета в длинну, цифры перекрывают полоску целиком по высоте.
Есть идеи как эфективно определять уровни в такой ситуации?

----
В старых версиях всё было проще. Цифры не перекрывали полоску по краям и она была одного цвета в длинну.

Сканированием верхнего края полосы добивался результата вот так:
Код:
Func ControlHP($HPx, $HPy, $len, $color) ; передаём в функции координаты, длинну и цвет
Local $color2 = $color
Local $HPx2 = $HPx
While $color = $color2
$HPx2 += 1
$color2 = Hex(PixelGetColor($HPx2, $HPy), 6)
WEnd
$HPx2 -= 1
$HPx2 -= $HPx
$Percent = $HPx2 * 100 / $len
$Percent = Ceiling ($Percent)
Return $Percent
EndFunc