FCoords GetBoneTagsss(UCanvas * uCanvas,CPawn * pTarget,FName NameBone)
{
FCoords Out;
ZeroMemory(&Out,sizeof(FCoords));
if (pTarget != NULL && pTarget->MeshInstance != NULL)
{
USkeletalMeshInstance * pMesh = ( USkeletalMeshInstance* )pTarget->MeshInstance;
Out = pMesh->GetTagCoords(NameBone);
return Out;
}
return Out;
}
FVector PingCorrectionAim(CPawn* Target)
{
FVector vPing = Target->Velocity * (UInfo.xController->ExactPing + (UInfo.DeltaTime)) * FVector(0.8f,0.8f,0);
vPing -= UInfo.xPlayer->Velocity * UInfo.DeltaTime;
return vPing;
}
void SetRotation (UCanvas * C,CPawn * BestTarget,float set_z,bool active)
{
FVector AimLocation;
FRotator AimRotation;
FRotator AimRotation_Temp;
FVector MyLocation;
FVector xVelocity = FVector(0,0,0);
FVector xDictance = FVector(0,0,0);
FCoords nGetHeadCords = GetBoneTagsss(C,BestTarget,FName(L"head"));
if (nGetHeadCords.Origin == FVector(0,0,0))
return;
xDictance = ((nGetHeadCords.Origin + (BestTarget->HeadHeight * BestTarget->HeadScale * nGetHeadCords.XAxis)) - UInfo.xController->CalcViewLocation);
MyLocation = UInfo.xController->CalcViewLocation;
AimLocation = (nGetHeadCords.Origin + (BestTarget->HeadHeight * BestTarget->HeadScale * nGetHeadCords.XAxis));
if (active == TRUE)
AimLocation.Z += set_z;
else
AimLocation.Z -= set_z;
if (UInfo.xController->ExactPing <= 0.0f)
{
if((xDictance.Size() / 48) > 38.0f)
{
xVelocity = ((BestTarget->Velocity * 0.1) * 0.37);
}
else
{
xVelocity = ((BestTarget->Velocity * 0.1) * 0.34);
}
AimLocation.X += xVelocity.X;
AimLocation.Y += xVelocity.Y;
AimRotation_Temp = (AimLocation - MyLocation)****tation();
}
else
{
if((xDictance.Size() / 48) > 2.0f)
{
AimLocation += PingCorrectionAim(BestTarget);
}
else
{
xVelocity = ((BestTarget->Velocity * UInfo.xController->ExactPing) * 0.33);
AimLocation.X += xVelocity.X;
AimLocation.Y += xVelocity.Y;
}
AimRotation_Temp = (AimLocation - MyLocation)****tation();
}
AimRotation = Normaloze(C, AimRotation_Temp);
UInfo.xController->Rotation = AimRotation;
if(BaseHack[14].active)
GUIInfoZombie(C,BestTarget,Dictacia(BestTarget));