SMALL ANTI-RECOIL
Code:
//=============================================================================
// Function: No Recoil
void NoRecoil(AcItem* pItem = NULL)
{
if (!pItem)
return;
AcRaycastWeapon* pRaycastWeapon = NULL;
if (pItem->IsA(AcRaycastWeapon::StaticClass()))
pRaycastWeapon = reinterpret_cast<AcRaycastWeapon*>(pItem);
else
return;
pRaycastWeapon->m_WeaponRecoilSettings.m_fEndYawMin = 0.0f;
pRaycastWeapon->m_WeaponRecoilSettings.m_fEndYawMax = 0.0f;
pRaycastWeapon->m_RangedWeaponTypeSettings.m_fMaxRange = 0.0f;
pRaycastWeapon->m_RangedWeaponTypeSettings.m_fRampDistance = 0.0f;
/* Return old values... */
}
...
NoRecoil(pPlayerController->m_HoldableItemManager->m_CurrentItem);
[IMG]https://******.ru/12012221/image.png[/IMG]
---------------------
|Credits: BydloCoder |
---------------------
AIM SCRIPT
Since theire are already public aimbot hacks i decided to release my AimAtPlayer script
The code is a little bit messy but it works it also draws a line to the target and if you hold right mouse button you will aim at him
And if you are using unreals mini SDK you will need to fix SetCameraAimRotPawn()
Code:
void AimAtPlayer(UCanvas* Canvas, APawn* TargetPawn)
{
if (TargetPawn != NULL && mAPBPawn != NULL){
FName NameHeadBone = TargetPawn->Mesh->GetBoneName(6);
FVector VectorHead = TargetPawn->Mesh->GetBoneLocation(NameHeadBone,0);
FVector2D vHead = CalculateScreenCoordinate(pCanvas,TargetPawn->Mesh->GetBoneLocation(NameHeadBone,0));
pCanvas->Draw2DLine(pCanvas->ClipX/2,pCanvas->ClipY/2,vHead.X,vHead.Y,Red);
VectorHead = VectorHead -MyCameraLocation ;
AimAtRot = VectorHead****tation();
NormalizeRotation(AimAtRot);
FRotator* pAimAtRot = &AimAtRot;
if(GetAsyncKeyState(VK_RBUTTON))
{
mAPBPawn->SetCameraAimRotPawn(pAimAtRot);
}
}
}
I will put in some extra for you guys to c&p
this code will get the closest enemy in range of your aim angle define BestAngle before you go through all players i set it on 56 and works pretty well for me
again this code maybe a bit messy but it works
Code:
float CurrentAngle = GetViewAngle( Target->Location, ViewLocation );
if ( CheckAngle( CurrentAngle, pPC->PlayerCamera->GetFOVAngle() ) )
{
if ( ( !TargetPawn
|| RadianToDegree(CurrentAngle) > BestAngle ) && APBPawn->PlayerCanSeeMe() )
{
BestAngle = RadianToDegree(CurrentAngle);
TargetPawn = Target;
}
}
------------------
|Credits: bwarrior |
------------------
3D BOUNDING BOXES
It is 3D bounding boxes for the pawn.
This is a much better option as to the DrawDebugBox option as if also draws when player is behind objects due to the manual DrawLine.
Code:
void Boxes(UCanvas* pCanvas, APawn* Target, FColor Color)
{
//Valid Target Checks Here
{
FVector Min,Max,vVec1,vVec2,vVec3,vVec4,vVec5,vVec6,vVec7,vVec8;
FBox Returned;
Target->GetComponentsBoundingBox(&Returned);
if(Returned.IsValid)
{
Max = Returned.Max;
Min = Returned.Min;
{
vVec3 = Min;
vVec3.X = Max.X;
vVec4 = Min;
vVec4.Y = Max.Y;
vVec5 = Min;
vVec5.Z = Max.Z;
vVec6 = Max;
vVec6.X = Min.X;
vVec7 = Max;
vVec7.Y = Min.Y;
vVec8 = Max;
vVec8.Z = Min.Z;
vVec1 = WorldToScreen(pCanvas, Min);
vVec2 = WorldToScreen(pCanvas, Max);
vVec3 = WorldToScreen(pCanvas, vVec3);
vVec4 = WorldToScreen(pCanvas, vVec4);
vVec5 = WorldToScreen(pCanvas, vVec5);
vVec6 = WorldToScreen(pCanvas, vVec6);
vVec7 = WorldToScreen(pCanvas, vVec7);
vVec8 = WorldToScreen(pCanvas, vVec8);
pCanvas->Draw2DLine(vVec1.X, vVec1.Y, vVec5.X, vVec5.Y, Color);
pCanvas->Draw2DLine(vVec2.X, vVec2.Y, vVec8.X, vVec8.Y, Color);
pCanvas->Draw2DLine(vVec3.X, vVec3.Y, vVec7.X, vVec7.Y, Color);
pCanvas->Draw2DLine(vVec4.X, vVec4.Y, vVec6.X, vVec6.Y, Color);
pCanvas->Draw2DLine(vVec1.X, vVec1.Y, vVec3.X, vVec3.Y, Color);
pCanvas->Draw2DLine(vVec1.X, vVec1.Y, vVec4.X, vVec4.Y, Color);
pCanvas->Draw2DLine(vVec8.X, vVec8.Y, vVec3.X, vVec3.Y, Color);
pCanvas->Draw2DLine(vVec8.X, vVec8.Y, vVec4.X, vVec4.Y, Color);
pCanvas->Draw2DLine(vVec2.X, vVec2.Y, vVec6.X, vVec6.Y, Color);
pCanvas->Draw2DLine(vVec2.X, vVec2.Y, vVec7.X, vVec7.Y, Color);
pCanvas->Draw2DLine(vVec5.X, vVec5.Y, vVec6.X, vVec6.Y, Color);
pCanvas->Draw2DLine(vVec5.X, vVec5.Y, vVec7.X, vVec7.Y, Color);
}
}
}
}
--------------------
|Credits: HOOAH07 |
--------------------
TEAM CHECK
Code:
void DrawPlayerESP( UCanvas* pCanvas )
{
if (Controller == NULL || Controller->Pawn == NULL || Controller->WorldInfo == NULL )
return;
FBoxSphereBounds PlayerBounds;
APawn* Target = Controller->Pawn->WorldInfo->PawnList;
while ( Target != NULL )
{
AcAPBPawn* APBPawnTarget = reinterpret_cast<AcAPBPawn*>(Target);
if ( Target != NULL && !Target->bDeleteMe && Target->Health >0 && Target != Controller->Pawn && APBPawnTarget->m_MissionSideInfo.m_nMissionUID != 0 )
{
if(APBPawnTarget->m_MissionSideInfo.m_nMissionUID == APBPawn->m_MissionSideInfo.m_nMissionUID)
{
pPC->DrawDebugBox(Target->Location, PlayerBounds.BoxExtent, 0, 255,0,false);
}
else
{
pPC->DrawDebugBox(Target->Location, PlayerBounds.BoxExtent, 255, 0,0,false);
}
}
Target = Target->NextPawn;
}
}
--------------------
|Credits: the1domo |
--------------------
NADE ESP
Well long time since someone released some code
Its a verry basic nade esp that draws some text at the nade you also can get the time till detonate and stuff so you can play around with it a bit.
It detect grenades didnt try it but it should also draw it on the grenade launcher and bazooka projectiles
Enjoy
Code:
void DrawGrenadeESP(UCanvas* pCanvas){
if (pPC == NULL || pPC->Pawn == NULL || pPC->WorldInfo == NULL )
return;
pPC->Pawn->FindActorsOfClass(AcAPBProjectile::StaticClass(), &AllOfActors);
for (int i = 0; i < AllOfActors.Count; i++){
if (AllOfActors.Data[i] != NULL)
{
AActor* pActor = AllOfActors.Data[i] ;
if(dynamic_cast<AcAPBProjectile*>(pActor))
{
AcAPBProjectile* GrenadeESPThing = dynamic_cast<AcAPBProjectile*>(pActor);
char* name = GrenadeESPThing->GetFullName();
if(!strcmp( name, "cAPBProjectile TheWorld.PersistentLevel.cAPBProjectile" ))
{
float OldCurX = pCanvas->CurX;
float OldCurY = pCanvas->CurY;
FVector2D locatiescherm;
if (GrenadeESPThing == NULL || GrenadeESPThing->bDeleteMe || GrenadeESPThing->m_bExploded)
return;
locatiescherm = CalculateScreenCoordinate(pCanvas,GrenadeESPThing->Location);
swprintf(tempChar, 256, L"[Grenade]");
pCanvas->CurX = locatiescherm.X;
pCanvas->CurY = locatiescherm.Y;
pCanvas->DrawColor = Purple;
pCanvas->DrawText(tempChar, NULL, 1.0f, 1.0f);
pCanvas->CurX = OldCurX;
pCanvas->CurY = OldCurY;
}
}
}
}
}
------------------
|Credits: bwarrior |
------------------