Поэтому я экспортировал структуру из IDA Pro и поместил ее в заголовочный файл следующим образом:
#pragma pack(push, 1)
struct CPed
{
float health;
CPed *closestPeds[10];
};
#pragma pack(pop)
В основном я использовал это так:
unsigned int ClosestPed = *(unsigned int *)(*(unsigned int *)PlayerPointer + NearestPeds);
CPed *nearestPed = (CPed *)ClosestPed;
nearestPed->health = 0;
На мой взгляд, первая строка кода в главном должна добавить NearestPeds
смещение к PlayerPointer
и положить его в ClosestPed
,
Сейчас ClosestPed
содержит адрес ближайшего педа.
Теперь я передаю этот адрес в *nearestPed
и, наконец, установить здоровье ближайшего педа в 0
Только, здоровье педа никогда не устанавливается 0
, Это никогда не умирает.
Может кто-нибудь помочь мне разобраться в чем дело?
Вы хотите сделать что-то подобное?
CPed* nearestPed = (CPed*)(*(PlayerPointer+9));
nearestPed->health = 0;