CR:MP ASI Amazing amazing++

nezperce

Новичок
5
0
Описание

Небольшой плагин для amazing online, который делает геймплей на сервере приятней ;)

Использование

В основном, функции забинжены на цифры от 1 до 5.

1 -> отправляет в чат /anim 69,
2 -> отправляет в чат /drugs,
3 -> использует первый слот инвентаря,
4 -> сжимает машины,
5 -> аниафк (звонкий сигнал обозначает включение функции, наоборот - выключение),

Команды

/st (0-24) -> меняет время
/sw (0-255) -> меняет погоду
/fd (0-3600) -> меняет дальность прорисовки

Прочие фишки

Плагин принудительно отключает светофоры, за которые теперь не приходят штрафы, аналогично с встречными полосами,
так же, отключен урон от падения.

p.s в плагине присутствует автопромокод, кого это не устраивает, приложил исходники ниже

source

Обзор на плагин

Дайте мне отдельно сжатие текстур .asi пжпжпж
 

waparabka

Известный
Автор темы
97
150
Какая строчка кода отвечает за антипадение?
53 - 70


А через чего писал asi. И можно сделать первые 3 цифры и изменить название?
visual studio 2022

Дайте мне отдельно сжатие текстур .asi пжпжпж
*reinterpret_cast<bool*>(0x52C9EE) ^= true;
 
Последнее редактирование:

Squizzy1337

Новичок
11
1
в какую папку кидать скрипт? (я понял что в амазинг рп но мне просто поясни в какую папку игры закинуть и как запустить)
 

waparabka

Известный
Автор темы
97
150

Squizzy1337

Новичок
11
1
если не сложно можешь снять видео тутор как инжектить? пожалуйста
 

flupiflufi

Новичок
16
3
Можете подсказать как можно по функции на 3 кнопку, примерно также сделать на 2 и 3 слот и так далее, просто новичок в этом. Просто нашёл часть кода которую за это отвечает, а дальше незнаю что.

C++:
            if (w_param == 0x33) {

                RakNet::BitStream* bs = new RakNet::BitStream();

                std::string packet_data { };

                packet_data.push_back(0x0E);

                packet_data.push_back(cef_app_set_mode);
                packet_data.push_back(strange_byte);

                packet_data.push_back(0x0);
                packet_data.push_back(0x0);
                
                packet_data.push_back(strlen("cef_inv_item_action"));
                packet_data.push_back(0x0);
                packet_data.append("cef_inv_item_action");

                std::vector<uint8_t> bytes { 0x28, 0x00, 0x85, 0xA6, 0x61, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x01, 0xA4, 0x61, 0x72, 0x65, 0x61,
                                             0x01, 0xA5, 0x69, 0x6E, 0x64, 0x65, 0x78, 0xC0, 0xA8, 0x72, 0x65, 0x73, 0x70, 0x6F, 0x6E, 0x73,
                                             0x65, 0x00, 0xA6, 0x73, 0x6C, 0x6F, 0x74, 0x49, 0x64, 0x06 };

                packet_data.insert(packet_data.end(), std::begin(bytes), std::end(bytes));

                for (const auto p : packet_data)
                    bs->Write(p);
                
                rakhook::send_rpc(252, bs, PacketPriority::HIGH_PRIORITY, PacketReliability::RELIABLE_ORDERED, (char)0, false);

                delete bs;
            }
 

waparabka

Известный
Автор темы
97
150
Можете подсказать как можно по функции на 3 кнопку, примерно также сделать на 2 и 3 слот и так далее, просто новичок в этом. Просто нашёл часть кода которую за это отвечает, а дальше незнаю что.

C++:
            if (w_param == 0x33) {

                RakNet::BitStream* bs = new RakNet::BitStream();

                std::string packet_data { };

                packet_data.push_back(0x0E);

                packet_data.push_back(cef_app_set_mode);
                packet_data.push_back(strange_byte);

                packet_data.push_back(0x0);
                packet_data.push_back(0x0);
              
                packet_data.push_back(strlen("cef_inv_item_action"));
                packet_data.push_back(0x0);
                packet_data.append("cef_inv_item_action");

                std::vector<uint8_t> bytes { 0x28, 0x00, 0x85, 0xA6, 0x61, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x01, 0xA4, 0x61, 0x72, 0x65, 0x61,
                                             0x01, 0xA5, 0x69, 0x6E, 0x64, 0x65, 0x78, 0xC0, 0xA8, 0x72, 0x65, 0x73, 0x70, 0x6F, 0x6E, 0x73,
                                             0x65, 0x00, 0xA6, 0x73, 0x6C, 0x6F, 0x74, 0x49, 0x64, 0x06 };

                packet_data.insert(packet_data.end(), std::begin(bytes), std::end(bytes));

                for (const auto p : packet_data)
                    bs->Write(p);
              
                rakhook::send_rpc(252, bs, PacketPriority::HIGH_PRIORITY, PacketReliability::RELIABLE_ORDERED, (char)0, false);

                delete bs;
            }
последний элемент в массиве bytes (0x06), следующий слот 0x07, потом 0x08 и так далее
 

Вложения

  • 1726862142889.png
    1726862142889.png
    41.1 KB · Просмотры: 69
Последнее редактирование:
  • Нравится
  • Влюблен
Реакции: Nexter1 и flupiflufi

flupiflufi

Новичок
16
3
последний элемент в массиве bytes (0x06), следующий слот 0x07, потом 0x08 и так далее
Спасибо большое вапарабка! Хотел ещё узнать насчёт той же части, на скрине, как можно сделать, чтобы он не использовал, а нажимал вылить?
1726899124957.png
 

Maximka Samper

Новичок
18
2
Спасибо большое вапарабка! Хотел ещё узнать насчёт той же части, на скрине, как можно сделать, чтобы он не использовал, а нажимал вылить?Посмотреть вложение 252321
Можешь скинуть свою версию или сказать как ты скомпилировал пожалуйста
 

flupiflufi

Новичок
16
3
Можешь скинуть свою версию или сказать как ты скомпилировал пожалуйста
Ну как я понял нужно скачать visual studio и cmake и этой командой в терминале: cmake -B project -A Win32 можешь скомпировать
проект с гитхаба не забудь скачать
 

waparabka

Известный
Автор темы
97
150
Спасибо большое вапарабка! Хотел ещё узнать насчёт той же части, на скрине, как можно сделать, чтобы он не использовал, а нажимал вылить?Посмотреть вложение 252321
28 00 85 A6 61 63 74 69 6F 6E 01 A4 61 72 65 61
01 A5 69 6E 64 65 78 C0 A8 72 65 73 70 6F 6E 73
65 00 A6 73 6C 6F 74 49 64 06

скорее всего за это отвечает байт который я подчеркнул (после action), но это ещё не точно

Как читать байты от других интерфейсов? Я видел ответы по типу Иды, х32 дбг, читать через скрипты. Но как именно?
читал я подобным образом

amazing read cef packet:
if (_id == 252) {
   
    std::vector<uint8_t> bytes { };

    for (int i = 0; i < bs->GetNumberOfBytesUsed(); i++) {

        uint8_t b;
        bs->Read(b);

        bytes.push_back(b);
    }

    std::string packet_data(bytes.begin(), bytes.end());

    c_chat::get()->ref()->add_message(-1, packet_data.c_str());
}

с чат лога копировал считанные байты, потом разбирал пакет на hexed.it, ну либо же любым hex редактором

я ничего не реверсил, это себе дороже. Как прочитаешь пакет побайтово, можешь его подменять/отправлять с нужными тебе значениями
 
Последнее редактирование:
  • Нравится
  • Влюблен
Реакции: Nexter1 и flupiflufi

Maximka Samper

Новичок
18
2
Ну как я понял нужно скачать visual studio и cmake и этой командой в терминале: cmake -B project -A Win32 можешь скомпировать
проект с гитхаба не забудь скачать
У меня выдаёт ошибку а в билде толкового проекта нету (.cls/vcsproj) что именно и куда надо кидать чтобы скомпилить через терминал (Я делал через павершел и вышла ошибка а в билде как говорил ничего толкового нету.
p.s. Мб другой терминал юзать, но какой?
 

PECTOPATOP

Новичок
8
0
1726948332349.png

скачал Visual Studio + CMake, прописал дальше эту команду, появилась папка, что дальше делать? Или я что-то не так сделал? Не шарю