Игра Darkfall online. В игре нет кнопки взять все (это из за особенностей игры, пвп ориентированная, фулл лут). Пишу автолут, определяю цвет точки и стараюсь понять что это бекграунд или предмет который можно слутить. Ставлю курсор в левом верхнем углу окна лута и запускаю процедуру
Отделяю наиболее красные, синие и зеленые пиксели от остальных, но предметы не всегда такие яркие, а бекграунд бывает более яркий, через бекграунд просвечивают доспехи которые бывают цветные, трава и т.п.
-----------------------------------------------------
Прошу подкинуть идею как еще можно отделять пиксели бекграунда от пикселей предметов
Код:
$pos = MouseGetPos()
$Xpos = $pos[0]
$Ypos = $pos[1]
For $j = $Ypos To $Ypos + 170 Step 2
For $i = $Xpos To $Xpos + 230 Step 2
$Color = PixelGetColor($i, $j)
$hColor = Hex($Color,6)
$r = StringMid($hColor, 1, 2)
$g = StringMid($hColor, 3, 2)
$b = StringMid($hColor, 5, 2)
$decR = Dec($r)
$decG = Dec($g)
$decB = Dec($b)
If $decR - $decG > 19 or $decR - $decB > 19 or $decG - $decR > 19 or $decG - $decB > 19 or $decB - $decR > 19 or $decB - $decG > 19 Then
MouseClickDrag("left", $i, $j, 950 , 700)
EndIf
Next
Next
Отделяю наиболее красные, синие и зеленые пиксели от остальных, но предметы не всегда такие яркие, а бекграунд бывает более яркий, через бекграунд просвечивают доспехи которые бывают цветные, трава и т.п.
-----------------------------------------------------
Прошу подкинуть идею как еще можно отделять пиксели бекграунда от пикселей предметов