lets downgrade cheatarmys feature and start with no pullout get inlined
updated to patch 3.11.24
void runandshot() {
auto localPawn = offsets::GetPawn(offsets::GetLocalEntity());
if (!localPawn)
return;
printf("localPawn: %llx\n", localPawn);
auto localActor = offsets::GetActor(localPawn);
if (!localActor)
return;
printf("localActor: %llx\n", localActor);
uint64_t component_list = *reinterpret_cast<uintptr_t*>(localActor + 0xD8);
if (!component_list)
{
std::cout << "Failed to read component_list" << std::endl;
return;
}
printf("component_list: %llx\n", component_list);
uint64_t component_list_movement_index = *reinterpret_cast<uint8_t*>(localActor + 0x222);
if (!component_list_movement_index)
{
std::cout << "Failed to read component_list_movement_index" << std::endl;
return;
}
printf("component_list_movement_index: %llx\n", component_list_movement_index);
uint64_t movement_array = *reinterpret_cast<uintptr_t*>(component_list + 8 * component_list_movement_index);
if (!movement_array)
{
std::cout << "Failed to read movement_array" << std::endl;
return;
}
printf("movement_array: %llx\n", movement_array);
uint64_t movement_cmp = *reinterpret_cast<uintptr_t*>(movement_array + 0x48);
if (!movement_cmp)
{
std::cout << "Failed to read movement_cmp" << std::endl;
return;
}
printf("movement_cmp: %llx\n", movement_cmp);
uint64_t movement_cmp_add = *reinterpret_cast<uintptr_t*>(movement_cmp + 0x148);
if (!movement_cmp_add)
{
std::cout << "Failed to read movement_cmp_add" << std::endl;
return;
}
printf("movement_cmp_add: %llx\n", movement_cmp_add);
auto function = reinterpret_cast<uint64_t(*)(uint64_t, uint64_t, uint64_t*)>(client13 + 0x34066A0);
if (!function)
{
std::cout << "Failed to read function" << std::endl;
return;
}
printf("function: %llx\n", function);
uint64_t FirVal = 0xA6F78616i64;
uint64_t SecVal = 0i64;
uint64_t finalll = hide(function, movement_cmp_add, FirVal, &SecVal);
printf("finalll: %llx\n", finalll);
if (!finalll)
{
std::cout << "Failed to read finalll" << std::endl;
return;
}
uint64_t pullout = *reinterpret_cast<uintptr_t*>(finalll);
printf("pullout: %llx\n", pullout);
if (!pullout)
{
std::cout << "Failed to read pullout" << std::endl;
return;
}
float* Value1 = (float*)(pullout + 0x124);
*Value1 = 0.05f;
float* Value2 = (float*)(pullout + 0x10c);
*Value2 = 10.0f;
float* Value3 = (float*)(pullout + 0x120);
*Value3 = 0.0f;
}