-
Автор темы
- #1
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
I'm using alpha cheat as base, i've reworked/modified many stuff but i still cannot figure out how to fix the issue that doubletap is causing on my valid_record function
Better explaination:
if i try to hit Front Record & player is moving & im shifting more than 11 ticks im mostly going to shoot invalid times
Considering im only pushing front_record & extrapolating if player's breaking lc
prob caused by this :
my valid_record function atm :
predicted_curtime is getting updated in createmove by just
the debugging results are
WITH DOUBLETAP : delta_time always between 0.2xxxx 0.3xxx 0.4xxx
WITHOUT DOUBLETAP: delta_time always between 0.0002 0.0001 0.0000 which are the correct results
thats why my ragebot sometimes do not shoot or miss curtime when i dt because the deltatime goes above the supposed values
any thoughts?
Better explaination:
if i try to hit Front Record & player is moving & im shifting more than 11 ticks im mostly going to shoot invalid times
Considering im only pushing front_record & extrapolating if player's breaking lc
prob caused by this :
C++:
float time = pLocal->IsAlive() ? g_Vars.globals.predicted_curtime : Interfaces::m_pGlobalVars->curtime;
float delta_time = fabsf(correct - (time - record.m_flSimulationTime));
C++:
bool C_LagCompensation::IsRecordOutOfBounds(const Engine::C_LagRecord& record, float flTargetTime, float nTickbaseShiftTicks, bool dead_time_check) const {
Encrypted_t<INetChannel> pNetChannel = Encrypted_t<INetChannel>(Interfaces::m_pEngine->GetNetChannelInfo());
if (!pNetChannel.IsValid())
return false;
C_CSPlayer* pLocal = C_CSPlayer::GetLocalPlayer();
if (!pLocal)
return false;
if (!pLocal->IsAlive())
return false;
int server_tick = Interfaces::m_pEngine->GetServerTick() + TIME_TO_TICKS(lagData.Xor()->m_flOutLatency);
float correct = 0;
// add out latency
correct += lagData.Xor()->m_flOutLatency;
// add in latency
correct += lagData.Xor()->m_flServerLatency;
// add interpolation amount
correct += lagData.Xor()->m_flLerpTime;
// clamp this shit
correct = Math::Clamp(correct, 0.f, g_Vars.sv_maxunlag->GetFloat());
// def cur time
printf("g_Vars.globals.m_flCurtime: %f\n", g_Vars.globals.m_flCurtime);
printf("g_Vars.globals.predicted_curtime: %f\n", g_Vars.globals.predicted_curtime);
// get delta time
float delta_time = fabsf(correct - (g_Vars.globals.predicted_curtime - record.m_flSimulationTime));
printf("delta_time: %f\n", delta_time);
bool delta = delta_time > 0.2f;
if (delta)
return true;
return false; // (TICKS_TO_TIME(server_tick) - g_Vars.sv_maxunlag->GetFloat());
}
C++:
TIME_TO_TICKS(tickbase + extraprocessticks)
WITH DOUBLETAP : delta_time always between 0.2xxxx 0.3xxx 0.4xxx
WITHOUT DOUBLETAP: delta_time always between 0.0002 0.0001 0.0000 which are the correct results
thats why my ragebot sometimes do not shoot or miss curtime when i dt because the deltatime goes above the supposed values
any thoughts?