Code: Select all
UCombatGameEngine* gameengine = 1;
gameengine = (UCombatGameEngine*)UObject::FindObject< UCombatGameEngine >("CombatGameEngine Transient.CombatGameEngine");
void Mem()
{
//gameengine = (UGameEngine*)GetUClass(UGameEngine::StaticClass());
ULocalPlayer* localplayer = gameengine->GamePlayers.Data[0];
//sprintf(str, "gameengine3: %x loca %x", gameengine, gameengine->GamePlayers.Data[0]);
//::OutputDebugStringA(str);
if (!localplayer)goto exit_mem;
APlayerController *actor = localplayer->Actor;
if (!actor)goto exit_mem;
if (!actor->Pawn)goto exit_mem;
if (actor->Pawn->bPlayedDeath)goto exit_mem;
if (IsBadHugeReadPtr((AWeapon*)actor, 4))goto exit_mem;
if (IsBadHugeReadPtr((AWeapon*)actor->Pawn, 4))goto exit_mem;
if (IsBadHugeReadPtr((AWeapon*)actor->Pawn->Weapon, 4))goto exit_mem;
float Zero = 0;
//((AWeapon*)actor->Pawn->Weapon)->Spread.Data[0] = Zero;
((AWeapon*)actor->Pawn->Weapon)->EquipTime = Zero;
((AWeapon*)actor->Pawn->Weapon)->PutDownTime = Zero;
((AWeapon*)actor->Pawn->Weapon)->WeaponRange = 100000;
((AWeapon*)actor->Pawn->Weapon)->bInstantHit = 1;
((ACombatWeapon*)actor->Pawn->Weapon)->bAutoReload = 1;
((ACombatWeapon*)actor->Pawn->Weapon)->RecoilInterpSpeed = 0;
((ACombatWeapon*)actor->Pawn->Weapon)->RecoilAutoCorrectSpeed = 0;
((ACombatWeapon*)actor->Pawn->Weapon)->SpreadCorrectInterpOuterSpeed = 10000;
((ACombatWeapon*)actor->Pawn->Weapon)->SpreadCorrectInterpInnerSpeed = 10000;
((ACombatWeapon*)actor->Pawn->Weapon)->SpreadOuterSpeedAccuracy = 10000;
((ACombatWeapon*)actor->Pawn->Weapon)->bRemoveVerticalRecoil = 1;
((ACombatWeapon*)actor->Pawn->Weapon)->bRemoveHorizonRecoil = 1;
((ACombatWeapon*)actor->Pawn->Weapon)->bNoSpread = 1;
((ACombatWeapon*)actor->Pawn->Weapon)->CameraShake_HitBodyAdjust.Data[0] = 0;
if (((AWeapon*)actor->Pawn->Weapon)->bMeleeWeapon == 1)
{
((AWeapon*)actor->Pawn->Weapon)->FireInterval.Data[0] = 0;
}
exit_mem:;
}