Что нового

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

Viktor217

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

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

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

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

Belfigor

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

Viktor217

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

Belfigor

Модератор
Локальный модератор
Сообщения
3 591
Репутация
938
Собсно вот, по полоске % определяет заполненностью трюма в 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
 
Верх