CSGO: Get next LBY update
Hi, I tried making a LBY breaker today. I didn’t want to paste it so I’ve read through many posts and sources.
I’ve gathered the information that:
1. LBY updates constantly while moving
2. LBY updates .22 seconds after your velocity went under 1
3. LBY updates every 1.1 seconds while standing still
(correct me if I’m wrong)
I’ve made this code and of course it doesn’t work
bool lbyUpdate()
{
IClientEntity* LocalPlayer = hackManager.pLocal();
float flServerTime = (float)(LocalPlayer->GetTickBase() * Interfaces::Globals->interval_per_tick);
float Velocity = LocalPlayer->GetVelocity().Length2D();
if (Velocity > 1.0f) {
updateTime = flServerTime + 0.22f;
}
else {
updateTime = flServerTime + 1.1f;
}
if ((LocalPlayer->GetFlags() & FL_ONGROUND) && ((updateTime - flServerTime) <= Interfaces::Globals->interval_per_tick)) {
return true;
}
else {
return false;
}
}
Would be nice if you could tell me about my mistakes and give me some tips. And again, I don’t want to paste it. I want to understand how It works and how I can make my own code.
float updateTime;
float lastUpdate;
float wasmoving;
bool performBreak;
void lbyBreaker(CUserCmd *pCmd, bool &bSendPacket) {
IClientEntity* LocalPlayer = hackManager.pLocal();
float flServerTime = (float)(LocalPlayer->GetTickBase() * Interfaces::Globals->interval_per_tick);
float Velocity = LocalPlayer->GetVelocity().Length2D();
if (!performBreak) {
if (Velocity > 1.f && (LocalPlayer->GetFlags() & FL_ONGROUND)) {
lastUpdate = flServerTime;
wasmoving = true;
}
else {
if (wasmoving && flServerTime - lastUpdate > 0.22f && (LocalPlayer->GetFlags() & FL_ONGROUND)) {
wasmoving = false;
performBreak = true;
}
else if (flServerTime - lastUpdate > 1.1f && (LocalPlayer->GetFlags() & FL_ONGROUND)) {
performBreak = true;
}
else {
}
}
}
else {
bSendPacket = false;
pCmd->viewangles.y += 105.f;
lastUpdate = flServerTime;
performBreak = false;
}
}
|