Как заставить двигать персонажа к заданной точке, + сделать не какое то тупое движение?

wafq

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

wafq

Новичок
Автор темы
10
2
  • Нравится
Реакции: Tema05

Tema05

Известный
1,626
544
Если вам нужно переписать lua/cleo, то просто берете таблицу опкодов:
Ищите опкод, и если он является GTA-шным, а не добавляется SAMPFUNCS-ом (а setGameKeyState как раз таки является), то подключаете plugin-sdk в свой проект и вызываешь его при помощи функций псдк:
Единственное, в том примере не указано то, как получать возвращаемое значение - надо лишь после всех аргументов, передать указатель на переменную, в которую должен записаться результат.

По поводу опкодов SF и setGameKeyState в частности, то тут нужно самому реверсить sampfuncs.asi и смотреть реализацию этих опкодов. Проще всего это сделать в IDA через: Search -> Sequence of bytes -> Ввести нужный опкод и выставить настройки, как на скрине
Посмотреть вложение 284576

-> Найти строку, где будет push ваш_опкодh и далее перейти в каллбек функцию.
Посмотреть вложение 284578
Чтобы тебе не тратить время, сам нашел реализацию клавиши:
C++:
int __stdcall sub_10082582(CScriptThread *a1)
{
  unsigned int Int; // esi

  Int = CScriptThread::GetInt(a1);
  *(_WORD *)(2 * Int + 0xB73458) = CScriptThread::GetInt(a1);
  return 0;
}
Очень хороший ответ. Это именно то что я имел ввиду с большей конкретикой

Для чистоты эксперемента, советую подобное сначала тестить на чистой гта, а потом можно и на амайзинге
Та по общению более чем уверен у него на чистой гта бы сразу получилось. Да и если есть готовые решения проблем быть не может. Это специфика амазинга, и если делать конкретно под него, то сразу. Реализация на чистой гта особо к успеху не приближает.
 
  • Нравится
Реакции: вайега52