Перейти к содержанию

[CS:S v34] Bone matrix offset


Рекомендуемые сообщения

Всем привет. Может быть кто подскажет, как выйти на структуры костей игроков. В структуре самих игроков этого нет, и указателей на другие структуры нет. Пробовал искать примерные координаты, исходя из текущих. Выходил в конце-концов на структуры с координатами похожими на то что нужно, но там нет никаких идентификаторов, чтобы понять чьи именно они. Почитав английские форумы, понял что кость выглядит как матрица [3][4], где последняя строка является x,y,z. И тут я вообще не могу понять как их можно найти.  Спасибо!

Ссылка на комментарий
Поделиться на другие сайты

Сейчас бы не уметь гуглить в 2017.

 

https://www.unknowncheats.me/forum/counterstrike-source/97729-triggerbot-tutorial.html

 

Вкратце ищешь C_BaseAnimating::SetupBones

и реверсишь функцию пока не находишь примерно такие инструкции

XOR ECX,ECX
MOV DWORD PTR DS:[ESI+570],ECX <-- BoneBase
MOV DWORD PTR DS:[ESI+574],ECX

Ну, а дальше ты знаешь

 

ReadProcessMemory(Process, (PBYTE*)(C_BaseEntity + 0x570), &BoneBase, sizeof(DWORD), 0);
ReadProcessMemory(Process, (PBYTE*)(BoneBase + 0x30 *BoneNumber + 0x0C), &FloatArray[0], 4, 0);  
ReadProcessMemory(Process, (PBYTE*)(BoneBase + 0x30 *BoneNumber + 0x1C), &FloatArray[1], 4, 0);  
ReadProcessMemory(Process, (PBYTE*)(BoneBase + 0x30 *BoneNumber + 0x2C), &FloatArray[2], 4, 0);

 

1 час назад, Wanderer сказал:

В структуре самих игроков этого нет

 

Есть, по смещению 0х570 в этом примере, у тебя может быть другое смещение.

Изменено пользователем partoftheworlD
Ссылка на комментарий
Поделиться на другие сайты

7 часов назад, partoftheworlD сказал:

Сейчас бы не уметь гуглить в 2017.

 

https://www.unknowncheats.me/forum/counterstrike-source/97729-triggerbot-tutorial.html

 

Вкратце ищешь C_BaseAnimating::SetupBones

и реверсишь функцию пока не находишь примерно такие инструкции


XOR ECX,ECX
MOV DWORD PTR DS:[ESI+570],ECX <-- BoneBase
MOV DWORD PTR DS:[ESI+574],ECX

Ну, а дальше ты знаешь

 


ReadProcessMemory(Process, (PBYTE*)(C_BaseEntity + 0x570), &BoneBase, sizeof(DWORD), 0);
ReadProcessMemory(Process, (PBYTE*)(BoneBase + 0x30 *BoneNumber + 0x0C), &FloatArray[0], 4, 0);  
ReadProcessMemory(Process, (PBYTE*)(BoneBase + 0x30 *BoneNumber + 0x1C), &FloatArray[1], 4, 0);  
ReadProcessMemory(Process, (PBYTE*)(BoneBase + 0x30 *BoneNumber + 0x2C), &FloatArray[2], 4, 0);

 

 

Есть, по смещению 0х570 в этом примере, у тебя может быть другое смещение.

Гуглить то я умею,  но что-то не наткнулся на этот пост. Спасибо:) 

Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.