Другое С/С++ Вопрос - Ответ

Sasiko1

Новичок
24
0
Зачем их находить, если можно взять из пула?
а из какого пула брать?

Pools
0x550F10 - Расположение функций пула. Здесь хранятся основные лимиты игры.

  • 00B74484 - PtrNode Single
  • 00B74488 - PtrNode Double
  • 00B7448C - EntryInfoNode
  • 00B74490 - Peds.
  • 00B74494 - Vehicles.
  • 00B74498 - Buildings.
  • 00B7449C - Objects
  • 00B744A0 - Dummys
  • 00B744A4 - ColModel
  • 00B744A8 - Task
  • 00B744AC - Event
  • 00B744B0 - PointRoute
  • 00B744B4 - PatrolRoute
  • 00B744B8 - NodeRoute
  • 00B744CC - TaskAllocator
  • 00B744C0 - PedIntelligence
  • 00B744C4 - PedAttractors
 

SR_team

like pancake
BH Team
4,720
6,372
а из какого пула брать?

Pools
0x550F10 - Расположение функций пула. Здесь хранятся основные лимиты игры.

  • 00B74484 - PtrNode Single
  • 00B74488 - PtrNode Double
  • 00B7448C - EntryInfoNode
  • 00B74490 - Peds.
  • 00B74494 - Vehicles.
  • 00B74498 - Buildings.
  • 00B7449C - Objects
  • 00B744A0 - Dummys
  • 00B744A4 - ColModel
  • 00B744A8 - Task
  • 00B744AC - Event
  • 00B744B0 - PointRoute
  • 00B744B4 - PatrolRoute
  • 00B744B8 - NodeRoute
  • 00B744CC - TaskAllocator
  • 00B744C0 - PedIntelligence
  • 00B744C4 - PedAttractors
Обычные чекпоинты: 0xC7DD88
Гоночные чекпоинты: 0xC7F168

Код:
0xC7DD58 - Начало блока маркеров. Количество элементов - 32. Размер одного элемента - 160 байт.

    +0 = [64 байта] Матрица поворота и позиции
    +48 = [float] Позиция X
    +52 = [float] Позиция Y
    +56 = [float] Позиция Z
    +64 = [dword] Неизвестно
    +68 = [dword] Неизвестно
    +72 = [dword] Указатель на RwObject
    +76 = [dword] Указатель на Material
    +80 = [word] Тип
        1 - Сфера
        5 - Конус
        6 - Конус
    +82 [dword] Статус наличия в поточном фрейме
        0 - Не создан
        1 - Создан
    +84 = [dword] Идентификатор
    +88 = [byte] R
    +89 = [byte] G
    +90 = [byte] B
    +91 = [byte] A
    +92 = [word] Интервал анимации
    +94 = [word] Скорость поворота
    +96 = [dword] Время создания
    +100 = [float] Частота анимации
    +104 = [float] Стандартный размер
    +108 = [float] Поточный размер
    +112 = [float] Яркость
    +116 = [float] Радиус видимости
    +120 = [float] Направление X
    +124 = [float] Направление Y
    +128 = [float] Направление Z
    +132 = [word] Последняя полученная координата X
    +134 = [word] Последняя полученная координата Y
    +136 = [float] Последний результат GetGroundZ
    +140 = [float] Высота поднятия
    +144 = [float] Последняя позиция X
    +148 = [float] Последняя позиция Y
    +152 = [float] Последняя позиция Z
    +156 = [dword] Время, когда последний раз была совершена проверка IsOnScreen
Код:
Race Checkpoints

The checkpoints block that are used in the "illegal street racing" mini-games.

0xC7F158 - Checkpoint block start. Each block is 38 bytes, but theres always only two at a time.

    +0 = [byte] Type of checkpoint
    +2 = [byte] RGBA color value
    +4 = [float] X-axis Position
    +8 = [float] Y-axis Position
    +12 = [float] Z-axis Position
    +16 to +24 = [float] Rotation Matrix (direction from this checkpoint to the next, all floats)
    +32 = [float] Checkpoint radius
 

Шурик

Активный
216
42
C++:
sscanf("15 36 Hello World", "%d %d %s", &a, &b, &c);
a = 15
b = 36
c = Hello
Как сделать так, чтобы c было Hello World
 

SR_team

like pancake
BH Team
4,720
6,372
C++:
sscanf("15 36 Hello World", "%d %d %s", &a, &b, &c);
a = 15
b = 36
c = Hello
Как сделать так, чтобы c было Hello World
C++:
std::regex re(R"((\d+)\s+(\d+)\s+(.+))"), std::regex::icase);
std::cmatch m;

if (std::regex_match("15 36 Hello World", m, re)){
    a = stroll(m[1].str());
    b = stroll(m[1].str());
    c = m[1].str();
}
 

DEsTR0Y

Новичок
14
0
Есть пикап, есть игрок, который смотрит не в сторону пикапа. Как найти угол между игроком и пикапом, чтобы потом можно было его повернуть к этому пикапу? Без SF API и прочих дополнений.
P.S. пытаюсь сделать что-то вроде бота для бега по пикапам, бег буду делать нажатием клавиши W, угол поворота насколько я понимаю можно изменить через адреса памяти, а вот как найти этот угол?
 

132113123

Известный
7
0
Когда только начал делать что-то в С++, сразу хотел сделать dll чит для крмп, где есть только команды. На днях слонобойко слил исходник, там очень много всего, что нужно удалить из исходника, чтобы остались только рабочие команды? Меню и автоинжект удалить, а оставить только команды с функциями, чтобы они работали. Я не прошу сделать все за меня, скажите пожалуйста просто что удалить, дальше я сам разберусь
 

SR_team

like pancake
BH Team
4,720
6,372
Есть пикап, есть игрок, который смотрит не в сторону пикапа. Как найти угол между игроком и пикапом, чтобы потом можно было его повернуть к этому пикапу? Без SF API и прочих дополнений.
P.S. пытаюсь сделать что-то вроде бота для бега по пикапам, бег буду делать нажатием клавиши W, угол поворота насколько я понимаю можно изменить через адреса памяти, а вот как найти этот угол?
https://git.prime-hack.net/SR_team/AsiPlugin/src/branch/master/CGame/methods.cpp#L55
 
  • Нравится
Реакции: DEsTR0Y