Saw someone interested in making ESP Hacks, So posted it.
All Readily available on forums( Posted by the members who helped the public, On this very forum )
ESP works whilst in mission both outside vehicle and when driving vehicle.( Something the public releases never used ) You can clean it and remove some checks and change it to an OR Check to check both instances before drawing ESP. But fine as is.
some spares in there like DrawRect/Drawbox which you may need, You can use hook from VTable base shall you wish to.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>CODE<<<<<<<<<<<<<<<< <<<<<<<<<<<<<<<<
FColor MakeColor(int R, int G, int B, int A)
{
FColor ReturnedColor;
ReturnedColor.R = R;
ReturnedColor.G = G;
ReturnedColor.B = B;
ReturnedColor.A = A;
return ReturnedColor;
}
FColor Green = MakeColor(0,255,0,255);
FColor Yellow = MakeColor(255,255,0,255);
FColor Red = MakeColor(255,0,0,255);
FColor Blue = MakeColor(0,0,255,255);
FColor LightGreen = MakeColor(100,255,150,120);
FColor DarkGreen = MakeColor(100,190,60,120);
FColor White = MakeColor(255,255,255,255);
FColor Black = MakeColor(0,0,0,0);
FColor Pink = MakeColor(200,0,200,255);
FColor MenuBlack = MakeColor(0,0,0,200);
FColor MenuBlue = MakeColor(59,209,237,150);
FColor Orange = MakeColor(255,128,0,255);
bool ValidLocalPlayer ( APawn* Pawn )
{
return Pawn != NULL
&& !Pawn->bDeleteMe
&& !Pawn->bHidden
&& Pawn->Health > 0;
}
bool ValidTarget ( APawn* Pawn, AcAPBPawn* MyPawn )
{
return Pawn != NULL
&& !Pawn->bDeleteMe
&& !Pawn->bHidden
&& Pawn != MyPawn
&& ((AcAPBPawn*)Pawn)->m_DyingData.eDyingState == 0;
}
bool IsBounty( APawn* Pawn )// Not used in this source atm But feel free to add bounty ESP
{
return ((AcAPBPawn*)Pawn)->m_nHeatLevel == 5;
}
void DrawString( UCanvas* pCanvas, float X, float Y, FString String, float XScale, float YScale, FColor DesiredColor )
{
float OldCurX = pCanvas->CurX;
float OldCurY = pCanvas->CurY;
FColor OldColor = pCanvas->DrawColor;
pCanvas->CurX = X;
pCanvas->CurY = Y;
pCanvas->DrawColor = DesiredColor;
pCanvas->DrawTextClipped( String, false, XScale, YScale );
pCanvas->CurX = OldCurX;
pCanvas->CurY = OldCurY;
pCanvas->DrawColor = OldColor;
}
float StrLen( UCanvas* pCanvas, FString InputString )
{
float X,Y;
pCanvas->StrLen( InputString, &X, &Y );
return X;
}
float StrHeight( UCanvas* pCanvas, FString InputString )
{
float X,Y;
pCanvas->StrLen( InputString, &X, &Y );
return Y;
}
FRotator inline VectorToRotation ( FVector vVector )
{
FRotator rRotation;
rRotation.Yaw = pPC->Atan ( vVector.Y, vVector.X ) * CONST_RadToUnrRot;
rRotation.Pitch = pPC->Atan ( vVector.Z, pPC->Sqrt ( ( vVector.X * vVector.X ) + ( vVector.Y * vVector.Y ) ) ) * CONST_RadToUnrRot;
rRotation****ll = 0;
return rRotation;
}
FVector RotationToVector(FRotator R)
{
FVector Vec;
float fYaw = R.Yaw * CONST_UnrRotToRad;
float fPitch = R.Pitch * CONST_UnrRotToRad;
float CosPitch = pPC->Cos(fPitch);
Vec.X = pPC->Cos(fYaw) * CosPitch;
Vec.Y = pPC->Sin(fYaw) * CosPitch;
Vec.Z = pPC->Sin(fPitch);
return Vec;
}
UObject* GetInstanceOf ( UClass* Class )
{
static UObject* ObjectInstance;
ObjectInstance = NULL;
for ( int i = 0; i < UObject::GObjObjects()->Count; ++i )
{
UObject* CheckObject = ( *UObject::GObjObjects() )( i );
if ( CheckObject && CheckObject->IsA( Class ) )
{
if ( !strstr( CheckObject->GetFullName(), "Default" ) )
ObjectInstance = CheckObject;
}
}
return ObjectInstance;
};
FVector Loc;
FRotator Rot;
FVector WorldToScreen( UCanvas* pCanvas, FVector Location )
{
FVector Return;
FVector AxisX, AxisY, AxisZ, Delta, Transformed;
pCanvas->GetAxes( Rot , &AxisX, &AxisY, &AxisZ );
Delta = pPC->Subtract_VectorVector( Location, Loc );
Transformed.X = pPC->Dot_VectorVector( Delta, AxisY );
Transformed.Y = pPC->Dot_VectorVector( Delta, AxisZ );
Transformed.Z = pPC->Dot_VectorVector( Delta, AxisX );
if( Transformed.Z < 1.00f )
Transformed.Z = 1.00f;
float FOVAngle = pPC->PlayerCamera->GetFOVAngle();
Return.X = ( pCanvas->ClipX / 2.0f ) + Transformed.X * ( ( pCanvas->ClipX / 2.0f ) / pPC->Tan( FOVAngle * CONST_Pi / 360.0f ) ) / Transformed.Z;
Return.Y = ( pCanvas->ClipY / 2.0f ) + -Transformed.Y * ( ( pCanvas->ClipX / 2.0f ) / pPC->Tan( FOVAngle * CONST_Pi / 360.0f ) ) / Transformed.Z;
Return.Z = 0;
return Return;
}
void DrawRect( UCanvas* pCanvas, float X, float Y,float Width, float Height, UTexture2D* Texture, FColor DesiredColor )
{
float OldCurX = pCanvas->CurX;
float OldCurY = pCanvas->CurY;
FColor OldColor = pCanvas->DrawColor;
pCanvas->CurX = X;
pCanvas->CurY = Y;
pCanvas->DrawColor = DesiredColor;
pCanvas->DrawRect( Width, Height, Texture );
pCanvas->CurX = OldCurX;
pCanvas->CurY = OldCurY;
pCanvas->DrawColor = OldColor;
}
void DrawBox( UCanvas* pCanvas, float X, float Y,float Width, float Height, FColor DesiredColor )
{
float OldCurX = pCanvas->CurX;
float OldCurY = pCanvas->CurY;
FColor OldColor = pCanvas->DrawColor;
pCanvas->CurX = X;
pCanvas->CurY = Y;
pCanvas->DrawColor = DesiredColor;
pCanvas->DrawBox( Width, Height );
pCanvas->CurX = OldCurX;
pCanvas->CurY = OldCurY;
pCanvas->DrawColor = OldColor;
}
void PlayerEsp ( UCanvas* pCanvas, UAPBGameEngine* GameEngine, APawn* Target, FColor Color)
{
if( GameEngine )
{
if( GameEngine->m_HostingClient && GameEngine->m_HostingClient->m_namequery )
{
FString Names;
GameEngine->m_HostingClient->m_namequery->GetCharacterNameNative(((AcAPBPawn*)Target)->m_nControllerCharacterUID, &Names );
FBox TargetBox;
Target->GetComponentsBoundingBox(&TargetBox );
FVector Vec = pCanvas->Divide_VectorFloat(pCanvas->Add_VectorVector(TargetBox.Min ,TargetBox.Max),2);
FVector VecX = WorldToScreen( pCanvas, Vec );
FVector VecY = WorldToScreen( pCanvas, TargetBox.Min );
wchar_t Temp [MAX_PATH];
swprintf( Temp, L"%s", Names );
DrawString( pCanvas, VecX.X - StrLen( pCanvas, Temp ) /2 , VecY.Y -2, Temp, 1.0, 1.0, Color );
}
}
}
void CrossHair ( UCanvas* pCanvas )
{
DrawRect( pCanvas, pCanvas->ClipX/2 - 10, pCanvas->ClipY/2 - 2, 20, 4, pCanvas->DefaultTexture, Orange );
DrawRect( pCanvas, pCanvas->ClipX/2 - 2, pCanvas->ClipY/2 - 10, 4, 20, pCanvas->DefaultTexture, Orange );
}
AcAPBVehicleBase* MyDrivenVehicle = NULL;
void PostRender( UCanvas* pCanvas )
{
if( pCanvas )
{
if( pPC )
{
static UAPBGameEngine* GameEngine = ( UAPBGameEngine* )GetInstanceOf( UAPBGameEngine::StaticClass() );
if( pPC->PlayerCamera )
{
Loc = pPC->PlayerCamera->Location;
Rot = pPC->PlayerCamera->Rotation;
if( ValidLocalPlayer( pPC->Pawn ) )
{
AcAPBPawn* MyPawn = (AcAPBPawn*)pPC->Pawn;
CrossHair( pCanvas );
if( pPC->Pawn->WorldInfo && pPC->Pawn->WorldInfo->PawnList )
{
APawn* Target = pPC->Pawn->WorldInfo->PawnList;
while( Target != NULL )
{
if( ValidTarget( Target, MyPawn ) && Target->IsA(AcAPBPawn::StaticClass() ) )
{
AcAPBPawn* TargetPawn = (AcAPBPawn*)Target;
if( TargetPawn->m_DyingData.eDyingState == 0 )
{
if( !MyPawn->IsA(AcAPBVehicleBase::StaticClass () ) )
{
if( MyPawn->m_DyingData.eDyingState == 0 )
{
if( MyPawn->m_MissionSideInfo.m_nMissionUID != NULL && TargetPawn->m_MissionSideInfo.m_nMissionUID != NULL
&& MyPawn->m_MissionSideInfo.m_nMissionUID != -1 && TargetPawn->m_MissionSideInfo.m_nMissionUID != -1
&& MyPawn->m_MissionSideInfo.m_nMissionUID == TargetPawn->m_MissionSideInfo.m_nMissionUID )
{
if( MyPawn->m_eFaction != TargetPawn->m_eFaction )
{
PlayerEsp( pCanvas, GameEngine, Target, Red );
}
}
}
}
else if( MyPawn->IsA(AcAPBVehicleBase::StaticClass () ) )
{
MyDrivenVehicle = (AcAPBVehicleBase*)MyPawn;
if( ValidLocalPlayer( MyDrivenVehicle->Driver ) )
{
if( ((AcAPBPawn*)MyDrivenVehicle->Driver)->m_DyingData.eDyingState == 0 )
{
if( ((AcAPBPawn*)MyDrivenVehicle->Driver)->m_MissionSideInfo.m_nMissionUID != NULL && TargetPawn->m_MissionSideInfo.m_nMissionUID != NULL
&& ((AcAPBPawn*)MyDrivenVehicle->Driver)->m_MissionSideInfo.m_nMissionUID != -1 && TargetPawn->m_MissionSideInfo.m_nMissionUID != -1
&& ((AcAPBPawn*)MyDrivenVehicle->Driver)->m_MissionSideInfo.m_nMissionUID == TargetPawn->m_MissionSideInfo.m_nMissionUID )
{
if( ((AcAPBPawn*)MyDrivenVehicle->Driver)->m_eFaction != TargetPawn->m_eFaction )
{
PlayerEsp( pCanvas, GameEngine, Target, Red );
}
}
}
}
}
}
}
Target = Target->NextPawn;
}
}
}
}
}
}
Read more:
http://www.*************.me/forum/al...#ixzz29wRLafaV
{Credits to: HOOAH07}