Что нового

[Автоматизация] Бот на крадущаяся ПАНДА, затаившийся ЛОСЬ!

Viktor217

Осваивающий
Сообщения
233
Репутация
31
Сылка на игру - http://vkontakte.ru/app1641048
Рисунок:
faf7d3739c28.jpg
Нужно автоматизировать выбор подходящего соперника, у каждого соперника рядом отображаются параметры:
Выносливость - Зелёная полоска
Сила - Голубая полоска
Ловкость - Розовая полоска

Класс соперника:
Выносливый - У него больше всего выносливости, тоесть зелёная полоска длиннее всех
Сильный - У него больше всего силы, тоесть голубая полоска длиннее всех
Ловкий - У него больше всего ловкости, тоесть розовая полоска длиннее всех

Ну и уровень, распределение по уровням идёт так:
1 ряд(2 соперника) - меньше вашего на 1 лвл
2 ряд - вашего уровня
3 ряд - на 1 уровень больше вас.

Представляю я это себе так:
1. Пользователь выбирает ряд соперников(Один из трёх), через комбо например
2. Выбираешь класс соперника(Выносливый, Сильный, ловкий), опять же через комбо...
Дальше идёт процесс поиска выбранного класса в выбранном ряду, по нахождению класса действие, допустим меседжбокс, по не нахождению другой меседжбокс...
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,602
Репутация
941
Ты знаешь максимальную длину каждой полоски. Исходя из этого ты можешь узнать фактическую длину каждой полоски и перевести эти значения в проценты. Далее из 3-х процентов ты уже анализируешь сильный враг, ловкий или выносливый. Ну и принимаешь решение. Делается все с помощью pixelsearch.
 
Автор
V

Viktor217

Осваивающий
Сообщения
233
Репутация
31
Belfigor сказал(а):
Ты знаешь максимальную длину каждой полоски. Исходя из этого ты можешь узнать фактическую длину каждой полоски и перевести эти значения в проценты. Далее из 3-х процентов ты уже анализируешь сильный враг, ловкий или выносливый. Ну и принимаешь решение. Делается все с помощью pixelsearch.
Как это сложно звучит, ладно сейчас попробую(=
Может подкинешь пример?)
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,602
Репутация
941
Собсно вот, по полоске % определяет заполненностью трюма в EVE. При обращении в функцию нужно указать область, цвет и шейд.
Код:
Func CargoStatus($left, $top, $right, $bottom, $color, $variation)
    Local $a=$left
    While $a <= $right
        $CargoStatus = PixelSearch($a, $top, $a, $bottom, $color, $variation)
        If @error Then
            Return Int((($a-$left)*100)/($right-$left))
        Else
            $a=$a+1
        EndIf
    WEnd
    Return 100
EndFunc

Или вот, в предидущем примере мне непонятно зачем использован цикл.
Код:
$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
 
Верх