• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

  • Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Чит-бот. Определитель символов с цветом-исключением, GTA V RP.

D

daunilichkin

Привет, читоделы и остальные юзеры форума. Эта тема - вопрос.

Итак, начну с объяснения. Существует в gta 5 пиратский сервер, есть на сервере рыбалка, что является заработком игровой валюты. Суть очень проста: закидываешь удочку и на экране поочередно в разных местах станет появляться строка цифр (0 1 2 3 4 5 6 7 8 9), рандомом одна из цифр отличается цветом от остальных - на такие цифры и нужно успевать тыкать, дабы достать рыбку. Ошибся - рыба срывается с крючка.

На мое удивление бот на эту рыбалку еще никто не написал. Мой вопрос: а возможно ли это и насколько сложно будет для "писателя"? Главная трудность, как я считаю, это то, что строка цифр может появиться на экране в любом месте, еще и меняет масштаб, становясь то маленькой и еле заметной, то вырастая на пол экрана.

Спасибо, если потратили свое время на эту тему и двойное спасибо тому, кто даст мне ответ.

Для полного понимания вот скрин
Screenshot_30.png
 

f22

Codeby Academy
Gold Team
05.05.2019
1 844
225
BIT
1 097
а возможно ли это и насколько сложно будет для "писателя"
Да, возможно. Например, можно использовать Python.
Попробуй разделить одну глобальную задачу на несколько мелких:
Если идти от интерфейса
  1. Нужно с определённой периодичностью делать скриншоты экрана
  2. Распознавать эти скриншоты и находить (или не находить) на них эту самую строку
  3. В этой строке находить цифру другого цвета
  4. Перемещать указатель и кликать по нужной области
Каждый из этих пунктов уже реализован в виде библиотеки или набора библиотек:
  1. Берем под контроль мышь и клавиатуру Python
Остаётся только объединить всё это и использовать.

Есть другой способ, требующий меньших навыков программирования:

это использование программ типа или
Они используют иной подход к автоматизации процессов
Кому-то может покажутся более удобными.


Youtube и Google в помощь.
 
Последнее редактирование:

Stelmashevsky

New member
22.02.2020
2
0
BIT
23
Интересная тема, судя по всему vmp.ru проект. Видел уже готовых ботов для этого сервака но на наличие открытого исходника ничего не могу сказать
 

pp11

Green Team
16.09.2018
201
82
BIT
1
Скорее всего цифры могут из себя представлять некую структуру, в которой есть флаг, отвечающий за цифру, которую нужно нажать.
То есть что-то типа такого:
Код:
struct FishValue {
unsigned char m_number; // символ цифры
.... // что-то еще
bool m_fish_value; // флаг
POINT m_coords; // координаты цифры для отрисовки
};



Функция рендера пробегается по массиву этих структур, которые содержат цифры от 0-9.
Соответственно если флаг m_fish_value = true, то цифра рисуется другим цветом.

Найти это наверное не так сложно, возможно стоит использовать ReClass.

После этого пишите простенькую программу, которая читает память ( )
И ищет нужно число в цикле.
То есть что-то типа

Код:
... // заголовки

struct FishValue {
unsigned char m_number; // символ цифры
.... // что-то еще
bool m_fish_value; // флаг
POINT m_coords;  // координаты цифры для отрисовки
};

template <typename T>
T RPM(HANDLE handle, uintptr_t address){
    T buffer;
    SIZE_T Bytes;
    ReadProcessMemory(handle, (LPCVOID)address, &buffer, sizeof(buffer), &Bytes);
    return buffer;
}

int main(){
    .... // тут открываете хэндл приложения и всё прочее
  
    for(int i = 0; i < 10; i++){
        FishValue fv = RPM<FishValue>(handle, addr);
        if (fv.m_fish_value)
        {
            // Тут нужно кликнуть каким-то образом. Либо найти функцию, которая отвечает
            // за клик по нужно цифре. Но тогда вам придется делать internal бота
            // Либо кликнуть по координатам. Думаю функции на msdn сами найдете)
        }
    }

    return 0;
}

Конечно же это не сто процентов рабочий код, а лишь один из вариантов реализации. В любом случае нужно смотреть что внутри у гта происходит.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!