Misc: all source code
Aim script
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);
}
}
}
{
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);
}
}
}
Aim script
float CurrentAngle = GetViewAngle( Target->Location, ViewLocation );
if ( CheckAngle( CurrentAngle, pPC->PlayerCamera->GetFOVAngle() ) )
{
if ( ( !TargetPawn
|| RadianToDegree(CurrentAngle) > BestAngle ) && APBPawn->PlayerCanSeeMe() )
{
BestAngle = RadianToDegree(CurrentAngle);
TargetPawn = Target;
}
}
if ( CheckAngle( CurrentAngle, pPC->PlayerCamera->GetFOVAngle() ) )
{
if ( ( !TargetPawn
|| RadianToDegree(CurrentAngle) > BestAngle ) && APBPawn->PlayerCanSeeMe() )
{
BestAngle = RadianToDegree(CurrentAngle);
TargetPawn = Target;
}
}
--------------------------------------------------------------------------------------------
PHP Code:
Small anti recoil
//================================================== ===========================
// 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)
// 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)
-----------------------------------------------------------------------------------------
no recoil/no spread
void tweakWeapon(UCanvas* Canvas, AcItem* pItem)
{
if (!pItem) return;
AcWeapon* pAcWeapon = NULL;
AcProjectileWeapon* pPjWeapon = NULL;
AcRaycastWeapon* pRayWeapon = NULL;
AWeapon* pAWeapon = NULL;
if (pItem->IsA(AcWeapon::StaticClass()))
{
pAcWeapon = (AcWeapon *)pItem;
if(pAcWeapon->IsA(AcRaycastWeapon::StaticClass()))
{
pRayWeapon = (AcRaycastWeapon *)pAcWeapon;
pRayWeapon->m_WeaponRecoilSettings.m_fEndPitchMax = 0.0f;
pRayWeapon->m_WeaponRecoilSettings.m_fEndPitchMin = 0.0f;
pRayWeapon->m_WeaponRecoilSettings.m_fEndYawMax = 0.0f;
pRayWeapon->m_WeaponRecoilSettings.m_fEndYawMin = 0.0f;
pRayWeapon->m_WeaponRecoilSettings.m_eWeaponRecoil = 0;
pRayWeapon->m_TanSpreadAngle = 0.0f;
pRayWeapon->m_TanPelletSpread = 0.0f;
pRayWeapon->m_RangedWeaponTypeSettings.m_fRunModifier = 0.0f;
pRayWeapon->m_RangedWeaponTypeSettings.m_fWalkModifier = 0.0f;
pRayWeapon->m_RangedWeaponTypeSettings.m_fCrouchModifier = 0.0f;
pRayWeapon->m_RangedWeaponTypeSettings.m_fRampDistance = 0.0f;
pRayWeapon->m_RangedWeaponTypeSettings.m_eRecoil = 0;
pRayWeapon->m_RangedWeaponTypeSettings.m_fRaySpreadAtTenMetre s = 0.0f;
pRayWeapon->m_RangedWeaponTypeSettings.m_fMaxRange = 0.0f;
}
}
if(pAcWeapon->IsA(AWeapon::StaticClass()))
{
pAWeapon = (AWeapon *)pAWeapon;
for(int k = 0; k < pAWeapon->Spread.Num(); k++) pAWeapon->Spread(k) = 0.0f;
}
return;
}
{
if (!pItem) return;
AcWeapon* pAcWeapon = NULL;
AcProjectileWeapon* pPjWeapon = NULL;
AcRaycastWeapon* pRayWeapon = NULL;
AWeapon* pAWeapon = NULL;
if (pItem->IsA(AcWeapon::StaticClass()))
{
pAcWeapon = (AcWeapon *)pItem;
if(pAcWeapon->IsA(AcRaycastWeapon::StaticClass()))
{
pRayWeapon = (AcRaycastWeapon *)pAcWeapon;
pRayWeapon->m_WeaponRecoilSettings.m_fEndPitchMax = 0.0f;
pRayWeapon->m_WeaponRecoilSettings.m_fEndPitchMin = 0.0f;
pRayWeapon->m_WeaponRecoilSettings.m_fEndYawMax = 0.0f;
pRayWeapon->m_WeaponRecoilSettings.m_fEndYawMin = 0.0f;
pRayWeapon->m_WeaponRecoilSettings.m_eWeaponRecoil = 0;
pRayWeapon->m_TanSpreadAngle = 0.0f;
pRayWeapon->m_TanPelletSpread = 0.0f;
pRayWeapon->m_RangedWeaponTypeSettings.m_fRunModifier = 0.0f;
pRayWeapon->m_RangedWeaponTypeSettings.m_fWalkModifier = 0.0f;
pRayWeapon->m_RangedWeaponTypeSettings.m_fCrouchModifier = 0.0f;
pRayWeapon->m_RangedWeaponTypeSettings.m_fRampDistance = 0.0f;
pRayWeapon->m_RangedWeaponTypeSettings.m_eRecoil = 0;
pRayWeapon->m_RangedWeaponTypeSettings.m_fRaySpreadAtTenMetre s = 0.0f;
pRayWeapon->m_RangedWeaponTypeSettings.m_fMaxRange = 0.0f;
}
}
if(pAcWeapon->IsA(AWeapon::StaticClass()))
{
pAWeapon = (AWeapon *)pAWeapon;
for(int k = 0; k < pAWeapon->Spread.Num(); k++) pAWeapon->Spread(k) = 0.0f;
}
return;
}
Fix no recoil/no spread
if(pAcWeapon->IsA(AWeapon::StaticClass()))
{
pAWeapon = (AWeapon *)pAWeapon;
for(int k = 0; k < pAWeapon->Spread.Num(); k++) pAWeapon->Spread(k) = 0.0f;
}
{
pAWeapon = (AWeapon *)pAWeapon;
for(int k = 0; k < pAWeapon->Spread.Num(); k++) pAWeapon->Spread(k) = 0.0f;
}
--------------------------------------------------------------------------------------
No Recoil addy
Code ASM
10ACAF24 66 DB 66 ; CHAR 'f'
10ACAF25 0F DB 0F
10ACAF26 . D6 SALC
10ACAF27 . 54 PUSH ESP
10ACAF28 . 24 10 AND AL,10
10ACAF2A . F3:0F1015 E013>MOVSS XMM2,DWORD PTR DS:[11BD13E0] <-- <--
10ACAF32 . 0F28DA MOVAPS XMM3,XMM2
10ACAF35 . F3:0F59D0 MULSS XMM2,XMM0
10ACAF39 . F3:0F2A4424 10 CVTSI2SS XMM0,DWORD PTR SS:[ESP+10]
10ACAF3F . F3:0F59D9 MULSS XMM3,XMM1
10ACAF43 . F3:0F2A4C24 14 CVTSI2SS XMM1,DWORD PTR SS:[ESP+14]
10ACAF49 . F3:0F58D0 ADDSS XMM2,XMM0
10ACAF4D . F3:0F2CC2 CVTTSS2SI EAX,XMM2
10ACAF51 . 894C24 18 MOV DWORD PTR SS:[ESP+18],ECX
10ACAF55 . F3:0F2C8E E403>CVTTSS2SI ECX,DWORD PTR DS:[ESI+3E4]
10ACAF5D . F3:0F58D9 ADDSS XMM3,XMM1
10ACAF25 0F DB 0F
10ACAF26 . D6 SALC
10ACAF27 . 54 PUSH ESP
10ACAF28 . 24 10 AND AL,10
10ACAF2A . F3:0F1015 E013>MOVSS XMM2,DWORD PTR DS:[11BD13E0] <-- <--
10ACAF32 . 0F28DA MOVAPS XMM3,XMM2
10ACAF35 . F3:0F59D0 MULSS XMM2,XMM0
10ACAF39 . F3:0F2A4424 10 CVTSI2SS XMM0,DWORD PTR SS:[ESP+10]
10ACAF3F . F3:0F59D9 MULSS XMM3,XMM1
10ACAF43 . F3:0F2A4C24 14 CVTSI2SS XMM1,DWORD PTR SS:[ESP+14]
10ACAF49 . F3:0F58D0 ADDSS XMM2,XMM0
10ACAF4D . F3:0F2CC2 CVTTSS2SI EAX,XMM2
10ACAF51 . 894C24 18 MOV DWORD PTR SS:[ESP+18],ECX
10ACAF55 . F3:0F2C8E E403>CVTTSS2SI ECX,DWORD PTR DS:[ESI+3E4]
10ACAF5D . F3:0F58D9 ADDSS XMM3,XMM1
Constant. Change the value to 0.0
*( float* )0x11BD13E0 = 0.0f; or edit the exe in olly.
Can't remember where I got this address from. Someone gave it to me a long time ago.
I opened it up in olly and found the updated address. Tested yesterday and it still works 100% and it's undetected
Pretty sure the person that gave it to me is banned now so meh.... use and abuse
You can update this yourself using olly. Make a sig or do a byte search instead of spamming the thread with "meh needs deh updated address".
Code:
Quote from prokiller099
Ollydbg instructions
just open olly
open apb.exe in olly
press the start button( its the blue)
when it's finished right click/go to/expression and put 10ACAF24
when you see this line 10ACAF2A . F3:0F1015 E013>MOVSS XMM2,DWORD PTR DS:[11BD13E0]
click on it and click on binary/edit.
look at last numbers and you will see 11
just change it to 0F
don't forget to apply modifications
Ollydbg instructions
just open olly
open apb.exe in olly
press the start button( its the blue)
when it's finished right click/go to/expression and put 10ACAF24
when you see this line 10ACAF2A . F3:0F1015 E013>MOVSS XMM2,DWORD PTR DS:[11BD13E0]
click on it and click on binary/edit.
look at last numbers and you will see 11
just change it to 0F
don't forget to apply modifications
---------------------------------------------------------------------
Menu Class
Code c++
int bESP = Menu.AddItem<bool>(L"ESP", false); //Bool value with an inital value of 0
int bAimbot = Menu.AddItem<bool>(L"Aimbot", false); //Same as above
int iFOV = Menu.AddItem<int>(L"AimFOV", 0, 0, 360, 1); //Integer with an inital value of 0, minimum of 0, maximum of 360 and an increment of 1
Menu.Render(pCanvas, LightGrey, DarkGrey, White, 10, 10) //Call this in your render thread. Passing pCanvas, outer box color, inner box color, text color, X and Y
if(Menu.GetValue<bool>(bAimbot))
{
DoAimbot();
}
int bAimbot = Menu.AddItem<bool>(L"Aimbot", false); //Same as above
int iFOV = Menu.AddItem<int>(L"AimFOV", 0, 0, 360, 1); //Integer with an inital value of 0, minimum of 0, maximum of 360 and an increment of 1
Menu.Render(pCanvas, LightGrey, DarkGrey, White, 10, 10) //Call this in your render thread. Passing pCanvas, outer box color, inner box color, text color, X and Y
if(Menu.GetValue<bool>(bAimbot))
{
DoAimbot();
}
Here's a pic of what it currently looks like:

Credits:
Lewt
bwarrior
BydloCoder
lowHertz
Kryonix



