0% found this document useful (0 votes)
2K views3 pages

AimKill FF v1.108 Obb 61

The document contains code snippets for a game modification that includes methods for player actions such as taking damage, firing weapons, and retrieving player positions. It utilizes function hooking to modify game behavior, particularly for aiming and damage calculations against enemies. The code is structured to allow for real-time updates and adjustments based on player interactions within the game environment.

Uploaded by

tavakon841
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2K views3 pages

AimKill FF v1.108 Obb 61

The document contains code snippets for a game modification that includes methods for player actions such as taking damage, firing weapons, and retrieving player positions. It utilizes function hooking to modify game behavior, particularly for aiming and damage calculations against enemies. The code is structured to allow for real-time updates and adjustments based on player interactions within the game environment.

Uploaded by

tavakon841
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 3

Credit TheDarkRX

note all fixed

enum MethodOffset{
WeaponOnHand = 0x11de070,
StartWholeBodyFiring = 0x15b9f80,
CurrentLocalPlayer = 0x1b14408,
HeadPosition = 0x1260ac8,
PositionInjected = 0x663b6ac,
TakeDamage = 0x1241e54
};

void* PlayerWeaponOnHand(void* Player){


void*(*WeaponOnHand)(void*) = (void*(*)
(void*))getRealOffset(MethodOffset::WeaponOnHand);
return WeaponOnHand(Player);
}

Vector3 CameraPosition(void*Player){
Vector3 Position = Vector3::Zero();
void(*PositionInjected)(void*,Vector3*) = (void(*)
(void*,Vector3*))getRealOffset(MethodOffset::PositionInjected);
PositionInjected(*(void**)((uintptr_t) Player + 0x150),&Position);
return Position;
}

void* PlayerTakeDamage(void* Player,void* DamageInfo,void*


DamagerWeaponDynamicInfo,void* CheckParams,uint DamagerVehicleID){
void*(*TakeDamage)(void*,void*,void*,void*,uint) = (void*(*)
(void*,void*,void*,void*,uint))getRealOffset(MethodOffset::TakeDamage);
return
TakeDamage(Player,DamageInfo,DamagerWeaponDynamicInfo,CheckParams,DamagerVehicleID)
;
}

void PlayerNetworkStartWholeBodyFiring(void* Player,void* WeaponOnHand){


void(*StartWholeBodyFiring)(void*,void*) = (void(*)
(void*,void*))getRealOffset(MethodOffset::StartWholeBodyFiring);
return StartWholeBodyFiring(Player,WeaponOnHand);
}

void* GameFacadeCurrentLocalPlayer(){
void*(*CurrentLocalPlayer) (void*) = (void*(*)
(void*))getRealOffset(MethodOffset::CurrentLocalPlayer);
return CurrentLocalPlayer(NULL);
}

Vector3 PlayerHeadPosition(void* Player){


void*(*HeadPosition)(void*) = (void*(*)
(void*))getRealOffset(MethodOffset::HeadPosition);
Vector3 Position = Vector3::Zero();
void(*PositionInjected)(void*,Vector3*) = (void(*)
(void*,Vector3*))getRealOffset(MethodOffset::PositionInjected);
PositionInjected(HeadPosition(Player),&Position);
return Position;
}
namespace Save{
void* DamageInfo;
clock_t AimDelay;
}

void (*DamageInfo2)(void*);
void DamageInfoHook2(void* Player){
return DamageInfo2(Save::DamageInfo=Player);
}

Credit TheDarkRX

void PlayerTakeDamages(void* ClosestEnemy){


void* Match = Curent_Match();
if ((ActivateAll) && Match) {
if(isVisible(ClosestEnemy)){
if(AimKill && Save::DamageInfo != NULL && clock() > Save::AimDelay){
void* LocalPlayer = GameFacadeCurrentLocalPlayer();
void* WeaponOnHand = PlayerWeaponOnHand(LocalPlayer);
*(void**)((uintptr_t) Save::DamageInfo + 0x2c) = *(void**)((uintptr_t)
LocalPlayer + 0x170);
*(void**)((uintptr_t) Save::DamageInfo + 0x30) = WeaponOnHand;
*(Vector3*)((uintptr_t) Save::DamageInfo + 0x38) =
CameraPosition(LocalPlayer);
*(Vector3*)((uintptr_t) Save::DamageInfo + 0x44) =
PlayerHeadPosition(ClosestEnemy);
*(int*) ((uintptr_t) Save::DamageInfo + 0xC) = 1;
PlayerNetworkStartWholeBodyFiring(LocalPlayer,WeaponOnHand);
PlayerTakeDamage(ClosestEnemy,Save::DamageInfo,NULL,*(void**)
((uintptr_t) ClosestEnemy + 0x998),0);
}
}
}
}

Credit TheDarkRX

put in update or late update

PlayerTakeDamages(closestEnemy);

bool (*orig_RemoteKill)(void *);


bool hook_RemoteKill(void *_this)
{
if (_this != NULL && AimKill) {
return false;
}
return orig_RemoteKill(_this);
}

HOOK(0x188c664, DamageInfoHook2, DamageInfo2);


MSHookFunction((void *)getRealOffset(0x1624b20), (void *)&hook_RemoteKill, (void
**)&orig_RemoteKill);

Credit TheDarkRX

You might also like