HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > Общие вопросы программирования
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 06.01.2026, 22:51
wafq
Новичок
Регистрация: 15.12.2024
Сообщений: 17
С нами: 744380

Репутация: 3
По умолчанию

Делаю бота на амазинг рп рудокопа. Смог разобраться с пулом объектов, высчитывать дистанции, но с бегом беда, не получается никак. Либо багнутое либо просто на месте поворачивает и в сторону смотрит. У кого есть знания прошу дать ответ
 
Ответить с цитированием

  #2  
Старый 06.01.2026, 22:57
БеzликиЙ
Флудер
Регистрация: 03.04.2020
Сообщений: 2,052
С нами: 3216796

Репутация: 183


По умолчанию

эмулируй ходьбу через https://wiki.blast.hk/moonloader/lua/setGameKeyState. повернулся - бежит. добавь виляние из стороны в сторону, прыжки, чтобы живее выглядело. и не забудь отжимать ходьбу, когда бот что-то отвечает в чат
 
Ответить с цитированием

  #3  
Старый 06.01.2026, 23:33
VanoKLR
Познавший АНТИЧАТ
Регистрация: 04.01.2022
Сообщений: 1,124
С нами: 2293878

Репутация: 118


По умолчанию

Цитата:
Сообщение от БеzликиЙ  

эмулируй ходьбу через https://wiki.blast.hk/moonloader/lua/setGameKeyState. повернулся - бежит. добавь виляние из стороны в сторону, прыжки, чтобы живее выглядело. и не забудь отжимать ходьбу, когда бот что-то отвечает в чат
вроде как данная тема не отправляет зажатие кнопки в синхре, её нужно эмулировать дополнительно
 
Ответить с цитированием

  #4  
Старый 07.01.2026, 00:40
wafq
Новичок
Регистрация: 15.12.2024
Сообщений: 17
С нами: 744380

Репутация: 3
По умолчанию

Цитата:
Сообщение от БеzликиЙ  

эмулируй ходьбу через https://wiki.blast.hk/moonloader/lua/setGameKeyState. повернулся - бежит. добавь виляние из стороны в сторону, прыжки, чтобы живее выглядело. и не забудь отжимать ходьбу, когда бот что-то отвечает в чат
Мне на C++ через память нужно. На амз нет вариант lua или мунлоадер подгрузить. Да и впринципе идея эмуляция нажатий клавиш мне не заходила никогда. Зато пока я пытался сделать одно нашел другое, рабочий корд мастер и обход античита при тп. Но к сожалению мне это не нужно
 
Ответить с цитированием

  #5  
Старый 07.01.2026, 01:49
Tema05
Познавший АНТИЧАТ
Регистрация: 05.10.2019
Сообщений: 1,649
С нами: 3477805

Репутация: 168


По умолчанию

Цитата:
Сообщение от VanoKLR  

вроде как данная тема не отправляет зажатие кнопки в синхре, её нужно эмулировать дополнительно
Ещё как отправляет. Это буквально функция для изменения состояния игровой клавиши на уровне игры. Или по твоему откуда синхра нажатых клавиш берётся? Более того, оно не просто перезаписывает значение но и инициализирует все процессы как будто она была нажата вручную. Например такие как отправка дублирующей синхры при изменении состояния клавиш.

Цитата:
Сообщение от wafq  

Мне на C++ через память нужно. На амз нет вариант lua или мунлоадер подгрузить. Да и впринципе идея эмуляция нажатий клавиш мне не заходила никогда. Зато пока я пытался сделать одно нашел другое, рабочий корд мастер и обход античита при тп. Но к сожалению мне это не нужно
Вообще setGameKeyState как и большинство функций moonloader'а это просто красивая обёртка для опкодов из самой игры. Можешь вызывать напрямую опкод 0b56 на плюсах с теми же аргументами. Реализация всех этих функций есть в самой гташке без модов и игра их сама использует

1767736659330.pngTema05 · 7 Янв 2026 в 00:49' data-fancybox="lb-post-1653469" data-lb-caption-extra-html="" data-lb-sidebar-href="" data-single-image="1" data-src="https://www.blast.hk/attachments/284542/" style="cursor: pointer;" title="1767736659330.png">


opcodes - 0b56 | BlastHack — DEV_WIKI

www.blast.hk
 
Ответить с цитированием

  #6  
Старый 07.01.2026, 02:07
wafq
Новичок
Регистрация: 15.12.2024
Сообщений: 17
С нами: 744380

Репутация: 3
По умолчанию

Цитата:
Сообщение от Tema05  

Ещё как отправляет. Это буквально функция для изменения состояния игровой клавиши на уровне игры. Или по твоему откуда синхра нажатых клавиш берётся? Более того, оно не просто перезаписывает значение но и инициализирует все процессы как будто она была нажата вручную. Например такие как отправка дублирующей синхры при изменении состояния клавиш.

Вообще setGameKeyState как и большинство функций moonloader'а это просто красивая обёртка для опкодов из самой игры. Можешь вызывать напрямую опкод 0b56 на плюсах с теми же аргументами. Реализация всех этих функций есть в самой гташке без модов и их их также использует

opcodes - 0b56 | BlastHack — DEV_WIKI

www.blast.hk



прислушиваться есть смысл к иишке?
 
Ответить с цитированием

  #7  
Старый 07.01.2026, 02:32
Tema05
Познавший АНТИЧАТ
Регистрация: 05.10.2019
Сообщений: 1,649
С нами: 3477805

Репутация: 168


По умолчанию

Цитата:
Сообщение от wafq  

прислушиваться есть смысл к иишке?
Честно говоря немного удручает, что ты сразу бежишь к иишке. Неужели погуглить уже так сложно и не интересно для людей. Ты номер этого опкода бы смог найти за 2 минуты.

По поводу использования ии: В целом использовать ии для скриптинга под гта са гиблое дело, так как это как и любая разработка модификаций на столько низком уровне супер нишевая тема и ии никогда не врубится в контекст (речь конкретно про плюсы и более менее сложные вещи, на lua ещё куда не шло). Информационный шум в виде сверхпопулярного moonloader и lua только усугубляет ситуацию. Но это моё мнение.

Если по существу, про CRunningScript и ProcessOneCommand верно, то что без moonloader/cleo этот опкод не поможет бред. Они разумеется дают возможность лёгкого использования с абстракцией, но не являются обязательными. Про последний абзац вообще *** пойми что он несёт.

Все эти опкоды, адреса вообще ЛЮБОЙ ***ни уже 100500 раз описаны и задокументированы. С гта са по степени изученности разве что марио может сравниться. Просто эта инфа премущественно находится не на модном популярном бластхаке, а в богом забытых документациях на страницах 10-летней давности, но уж точно не у ии. Вот буквально базу файла gta_sa.exe открываем и смотрим:

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







 
Ответить с цитированием

  #8  
Старый 07.01.2026, 02:35
wafq
Новичок
Регистрация: 15.12.2024
Сообщений: 17
С нами: 744380

Репутация: 3
По умолчанию

Цитата:
Сообщение от Tema05  

Честно говоря немного удручает, что ты сразу бежишь к иишке. Неужели погуглить уже так сложно и не интересно для людей. Ты номер этого опкода бы смог найти за 2 минуты.

По поводу использования ии: В целом использовать ии для скриптинга под гта са гиблое дело, так как это как и любая разработка модификаций на столько низком уровне супер нишевая тема и ии никогда не врубится в контекст (речь конкретно про плюсы и более менее сложные вещи, на lua ещё куда не шло). Информационный шум в виде сверхпопулярного moonloader и lua только усугубляет ситуацию. Но это моё мнение.

Если по существу, про CRunningScript и ProcessOneCommand верно, то что без moonloader/cleo этот опкод не поможет бред, они дают разумеется возможность лёгкого использования с абстракцией, но не обязательно. Про последний абзатц вообще *** пойми что он несёт.

Все эти опкоды, адреса вообще ЛЮБОЙ ***ни уже 100500 раз описаны и задокументированы. Вот буквально базу файла gta_sa.exe открываем и смотрим:
тут тебе и сама функция для вызова, и таблица опкодов, можешь хоть код любого опкода просмотреть и как он работает, что там внутри дёргает
Просто у амз чуть другой клиент. И этот клиент если сам не разберешь - *** че поймешь. Дай бог если функции гташки будут живы, но пока таких особо не встретил. Гуглить - гуглил и пытался делать все с тем что находил - тщетно. Щас буду разбирать твой метод

Я нашел какой то софт который в теории работает (я не запускал его и не запускаю, ибо сурс скрыт, вирус тотал ноет (ну на него чуть по***) да и на амз таких проектов нет, а люди живут чтобы получать выгоду. Буду реверсить и смотреть мб смогу чет вытащить его не запуская
 
Ответить с цитированием

  #9  
Старый 07.01.2026, 03:33
Tema05
Познавший АНТИЧАТ
Регистрация: 05.10.2019
Сообщений: 1,649
С нами: 3477805

Репутация: 168


По умолчанию

Цитата:
Сообщение от wafq  

Просто у амз чуть другой клиент. И этот клиент если сам не разберешь - *** че поймешь. Дай бог если функции гташки будут живы, но пока таких особо не встретил. Гуглить - гуглил и пытался делать все с тем что находил - тщетно. Щас буду разбирать твой метод
Я нашел какой то софт который в теории работает (я не запускал его и не запускаю, ибо сурс скрыт, вирус тотал ноет (ну на него чуть по***) да и на амз таких проектов нет, а люди живут чтобы получать выгоду. Буду реверсить и смотреть мб смогу чет вытащить его не запуская
Что за бред? Чем он другой? Это та же самая gta san andreas, тот же самп просто изменённой версии crmp. Та же физика, те же структуры, то же управление сам костят игры один и тот же, его нет смысла менять да и не получится. ДА, поверх устанавливается миллион патчей, хуков, но сама база игры никуда не девается.

Когда ты просто спавнишься в мире у тебя создаётся персонаж, в этот момент вызывается опкод 009A (createChar в moonloader). И когда в samp срабатывает функция добавления нового игрока в зону стрима там также гдле-то внутри будет вызван опкод 009A. И любая моделька человека (char'а) в мире появляется так или иначе вызывом опкода 009A. Точно также с изменением скина, с ускорением транспорта, созданием объектов и так далее и так далее. И все кастомные системы от лаунчеров проекта по типу охранников, питомцев, нпс они если начать ревёрсить все по итогу для создания персонажей вызовут где-то опокод 009A.

Безусловно там наверняка на половину этих функции будут стоять хуки, чтобы пересылать на расширенные таблицы моделей, анимаций, текстурок. Добавлять какие-то дополнительные эффекты, хуки в рендере дополнительно отрисовывающие какую-то ***ню. Но так или иначе костяк игры остаётся, просто его обвешивают всё новой и новой мишурой. Это несколько тысяч опкодов это база самой игры, которую могут ЧАСТИЧНО заменять, но чаще модифицирует для расширения возможностей, но никто их вырезать не будет. Потому что УСЛОВНО при прыжке может вызываться какой-то один единственный опкод, нигде более не использующийся, который просчитывает кости персонажа и если его удалить игра умрёт. Может быть там поставят хук, который будет ссылаться на функцию в асишке лаунчера, который будет по другой формуле рассчитывать кости у каких-то кастомных персонажей великанов, но опкод останется на месте.

Я решил ради интереса посмотреть чё там внутри setGameKeyState. sub_100013A0 ссылается на CPad::GetPad в самой игре (тут буква "a", а не "e", не путать с "ped"). Индекс 0 это наш персонаж, получаем из массива "устройств ввода" наше, далее по номеру клавиши считает оффсет до неё в структуре и меняется значение. В твоём случаи вероятно лаунчер ставит на CPad::GetPad хук так как там скорее всего лимит 1000 устройств, а насколько я знаю на Амазинге на 1 сервере может быть больше игроков. Но это просто выведет нас на другой расширенных массив. Технология управления уверен на 100% они не меняли, это невероятный гемор непонятно ради чего.

Интересно, что опкод 0b56 moonloader не вызывает, как в других его функциях, я честно говоря впервые встречаю чтоб вместо вызова опкода была реализация на месте. Также я немного преувеличил, конкретно опкод 0b56 не входит в стандартный набор и его реализация находится в sampfuncs, который туда добавлен через интерфейс cleo (хотя он как я уже только что сказал и не вызывается). Хз, почему так сделано. Но учитывая что я за столько лет не сталкивался с потребностью вызвать опкод из стандартного набора в 2600+ штук думаю они слишком ситуативные и не сильно нужны. На крайняк можно спиздить реализацию из муна или сампфункса.









Ну и в целом хочу прокомментировать, то что ты пытаешься сделать. Разработка под Амазинг это тебе не Аризона и даже не Радмир. Там помимо дохуищя кастомизации (вероятно сделанной через жопу) есть защита. Это конечно всё можно раскопать и сделать при желании, но тут без навыков ревёрса ты нихера с места не сдвинешься. Дай бог ты найдёшь достаточно исходников с реализациями всего, что тебе нужно, и разберёшься как это себе взять. Но судя по твоим ответам и что тебя удивляет, то что я за 15 минут нашёл тебе в базе в открытом доступе ты полез в дело, которое намного сложнее чем тебе кажется и твоих навыков может не хватить
 
Ответить с цитированием

  #10  
Старый 07.01.2026, 05:29
wafq
Новичок
Регистрация: 15.12.2024
Сообщений: 17
С нами: 744380

Репутация: 3
По умолчанию

Цитата:
Сообщение от Tema05  

Что за бред? Чем он другой? Это та же самая gta san andreas, тот же самп просто изменённой версии crmp. Та же физика, те же структуры, то же управление сам костят игры один и тот же, его нет смысла менять да и не получится. ДА, поверх устанавливается миллион патчей, хуков, но сама база игры никуда не девается.

Когда ты просто спавнишься в мире у тебя создаётся персонаж, в этот момент вызывается опкод 009A (createChar в moonloader). И когда в samp срабатывает функция добавления нового игрока в зону стрима там также гдле-то внутри будет вызван опкод 009A. И любая моделька человека (char'а) в мире появляется так или иначе вызывом опкода 009A. Точно также с изменением скина, с ускорением транспорта, созданием объектов и так далее и так далее. И все кастомные системы от лаунчеров проекта по типу охранников, питомцев, нпс они если начать ревёрсить все по итогу для создания персонажей вызовут где-то опокод 009A.

Безусловно там наверняка на половину этих функции будут стоять хуки, чтобы пересылать на расширенные таблицы моделей, анимаций, текстурок. Добавлять какие-то дополнительные эффекты, хуки в рендере дополнительно отрисовывающие какую-то ***ню. Но так или иначе костяк игры остаётся, просто его обвешивают всё новой и новой мишурой. Это несколько тысяч опкодов это база самой игры, которую могут ЧАСТИЧНО заменять, но чаще модифицирует для расширения возможностей, но никто их вырезать не будет. Потому что УСЛОВНО при прыжке может вызываться какой-то один единственный опкод, нигде более не использующийся, который просчитывает кости персонажа и если его удалить игра умрёт. Может быть там поставят хук, который будет ссылаться на функцию в асишке лаунчера, который будет по другой формуле рассчитывать кости у каких-то кастомных персонажей великанов, но опкод останется на месте.

Я решил ради интереса посмотреть чё там внутри setGameKeyState. sub_100013A0 ссылается на CPad::GetPad в самой игре (тут буква "a", а не "e", не путать с "ped"). Индекс 0 это наш персонаж, получаем из массива "устройств ввода" наше, далее по номеру клавиши считает оффсет до неё в структуре и меняется значение. В твоём случаи вероятно лаунчер ставит на CPad::GetPad хук так как там скорее всего лимит 1000 устройств, а насколько я знаю на Амазинге на 1 сервере может быть больше игроков. Но это просто выведет нас на другой расширенных массив. Технология управления уверен на 100% они не меняли, это невероятный гемор непонятно ради чего.

Интересно, что опкод 0b56 moonloader не вызывает, как в других его функциях, я честно говоря впервые встречаю чтоб вместо вызова опкода была реализация на месте. Также я немного преувеличил, конкретно опкод 0b56 не входит в стандартный набор и его реализация находится в sampfuncs, который туда добавлен через интерфейс cleo (хотя он как я уже только что сказал и не вызывается). Хз, почему так сделано. Но учитывая что я за столько лет не сталкивался с потребностью вызвать опкод из стандартного набора в 2600+ штук думаю они слишком ситуативные и не сильно нужны. На крайняк можно спиздить реализацию из муна или сампфункса.

Ну и в целом хочу прокомментировать, то что ты пытаешься сделать. Разработка под Амазинг это тебе не Аризона и даже не Радмир. Там помимо дохуищя кастомизации (вероятно сделанной через жопу) есть защита. Это конечно всё можно раскопать и сделать при желании, но тут без навыков ревёрса ты нихера с места не сдвинешься. Дай бог ты найдёшь достаточно исходников с реализациями всего, что тебе нужно, и разберёшься как это себе взять. Но судя по твоим ответам и что тебя удивляет, то что я за 15 минут нашёл тебе в базе в открытом доступе ты полез в дело, которое намного сложнее чем тебе кажется и твоих навыков может не хватить
Да не удивляет меня это нихуя, я в целом понимаю что это не работает, я шерстил интернет уже. Вместо реверса заебистого игры реверснул чужой код - достал часть камеры, нужно еще проверять, уже спать пойду. Пробовал твой метод, не сработало. Тут уж не знаю, то ли я криворукий то ли амазинг не дает

Я хочу получать навыки, реверсом я ранее не занимался, мой максимум был циферки в чит энжин вводить. То что сейчас - часть познания и развития. Я делаю софт под себя не больше

Цитата:
Сообщение от Tema05  

Что за бред? Чем он другой? Это та же самая gta san andreas, тот же самп просто изменённой версии crmp. Та же физика, те же структуры, то же управление сам костят игры один и тот же, его нет смысла менять да и не получится. ДА, поверх устанавливается миллион патчей, хуков, но сама база игры никуда не девается.

Когда ты просто спавнишься в мире у тебя создаётся персонаж, в этот момент вызывается опкод 009A (createChar в moonloader). И когда в samp срабатывает функция добавления нового игрока в зону стрима там также гдле-то внутри будет вызван опкод 009A. И любая моделька человека (char'а) в мире появляется так или иначе вызывом опкода 009A. Точно также с изменением скина, с ускорением транспорта, созданием объектов и так далее и так далее. И все кастомные системы от лаунчеров проекта по типу охранников, питомцев, нпс они если начать ревёрсить все по итогу для создания персонажей вызовут где-то опокод 009A.

Безусловно там наверняка на половину этих функции будут стоять хуки, чтобы пересылать на расширенные таблицы моделей, анимаций, текстурок. Добавлять какие-то дополнительные эффекты, хуки в рендере дополнительно отрисовывающие какую-то ***ню. Но так или иначе костяк игры остаётся, просто его обвешивают всё новой и новой мишурой. Это несколько тысяч опкодов это база самой игры, которую могут ЧАСТИЧНО заменять, но чаще модифицирует для расширения возможностей, но никто их вырезать не будет. Потому что УСЛОВНО при прыжке может вызываться какой-то один единственный опкод, нигде более не использующийся, который просчитывает кости персонажа и если его удалить игра умрёт. Может быть там поставят хук, который будет ссылаться на функцию в асишке лаунчера, который будет по другой формуле рассчитывать кости у каких-то кастомных персонажей великанов, но опкод останется на месте.

Я решил ради интереса посмотреть чё там внутри setGameKeyState. sub_100013A0 ссылается на CPad::GetPad в самой игре (тут буква "a", а не "e", не путать с "ped"). Индекс 0 это наш персонаж, получаем из массива "устройств ввода" наше, далее по номеру клавиши считает оффсет до неё в структуре и меняется значение. В твоём случаи вероятно лаунчер ставит на CPad::GetPad хук так как там скорее всего лимит 1000 устройств, а насколько я знаю на Амазинге на 1 сервере может быть больше игроков. Но это просто выведет нас на другой расширенных массив. Технология управления уверен на 100% они не меняли, это невероятный гемор непонятно ради чего.

Интересно, что опкод 0b56 moonloader не вызывает, как в других его функциях, я честно говоря впервые встречаю чтоб вместо вызова опкода была реализация на месте. Также я немного преувеличил, конкретно опкод 0b56 не входит в стандартный набор и его реализация находится в sampfuncs, который туда добавлен через интерфейс cleo (хотя он как я уже только что сказал и не вызывается). Хз, почему так сделано. Но учитывая что я за столько лет не сталкивался с потребностью вызвать опкод из стандартного набора в 2600+ штук думаю они слишком ситуативные и не сильно нужны. На крайняк можно спиздить реализацию из муна или сампфункса.

Ну и в целом хочу прокомментировать, то что ты пытаешься сделать. Разработка под Амазинг это тебе не Аризона и даже не Радмир. Там помимо дохуищя кастомизации (вероятно сделанной через жопу) есть защита. Это конечно всё можно раскопать и сделать при желании, но тут без навыков ревёрса ты нихера с места не сдвинешься. Дай бог ты найдёшь достаточно исходников с реализациями всего, что тебе нужно, и разберёшься как это себе взять. Но судя по твоим ответам и что тебя удивляет, то что я за 15 минут нашёл тебе в базе в открытом доступе ты полез в дело, которое намного сложнее чем тебе кажется и твоих навыков может не хватить
Зареверсил, вышло B72D50, спасибо тебе большое, теперь все работает у мя
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.