UAV hack pointer is an array pointer with a list of all the pawns(soldiers) pointers in game that are currently alive.
Controller (pointer which is a static address, shown as green in CE)->myHUD (offset)->DrawPawnList (offset)
DrawPawnList is TArray <FDrawPawnData>
APawn is something like a struct (a class actually).
So you need to loop that array:
In the loop you access the pawns pointers like so: Controller->myHUD->DrawPawnList.Data[i].Pawn
Finally you make use of: Controller->myHUD->DrawPawnList.Data[0].Pawn->bTargetted
bTargetted is a member in the APawn class/struct, it's actually a single bit.
In AVA Aeria:
Controller = 0x1518d28
myHUD = 0x3ac
DrawPawnList = 0x2424
DrawPawnList.Data[0].Pawn will be 0x00
DrawPawnList.Data[1].Pawn will be 0x08
etc...
bTargetted = 0x588 at bit 6th
and:
(1 << 6) = 0x40
Controller->myHUD->DrawPawnList.Data[i].Pawn->bTargetted |= 0x40;
"|" is a bitwise OR operation in C. Look Bitwise operations in C
Controller (pointer which is a static address, shown as green in CE)->myHUD (offset)->DrawPawnList (offset)
DrawPawnList is TArray <FDrawPawnData>
Code:
template< class T > struct TArray
{
T* Data;
int Count;
}
struct FDrawPawnData
{
APawn* Pawn;
float Distance;
};
So you need to loop that array:
Code:
for (DWORD i = 0; i < Controller->myHUD->DrawPawnList.Count; i++) { ... }
Finally you make use of: Controller->myHUD->DrawPawnList.Data[0].Pawn->bTargetted
bTargetted is a member in the APawn class/struct, it's actually a single bit.
In AVA Aeria:
Controller = 0x1518d28
myHUD = 0x3ac
DrawPawnList = 0x2424
DrawPawnList.Data[0].Pawn will be 0x00
DrawPawnList.Data[1].Pawn will be 0x08
etc...
bTargetted = 0x588 at bit 6th
and:
(1 << 6) = 0x40
Controller->myHUD->DrawPawnList.Data[i].Pawn->bTargetted |= 0x40;
"|" is a bitwise OR operation in C. Look Bitwise operations in C


