Куплю Desync ресольвер

Забаненный
Статус
Оффлайн
Регистрация
26 Июн 2018
Сообщения
51
Реакции[?]
20
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Куплю десинк ресольвер
цена : 1000-1800р
На гаранта согласен
Telegramm JungStorm
 
Эксперт
Статус
Оффлайн
Регистрация
17 Фев 2017
Сообщения
864
Реакции[?]
420
Поинты[?]
1K
Мой способ говнокодом и говнологикой:
(по другому не могу, извини)
Запись в пространство имён Globals::
Код:
Globals::MoveDesync;
Globals::DuckDesyncStatic;
Globals::DuckDesyncMove;
Globals::StandingDesyncMax;
Использую это на себе, потому что на других игроках оно почему-то не работает(или я это такой криворукий)
Код:
float desync = Globals::LocalPlayer->GetMaxDSC();
if (Moving) // Velocity().Length2D() > 1.1
{
  InDuck ? Globals::DuckDesyncMove = desync : Globals::MoveDesync = desync;
}
else{
  InDuck ? Globals::DuckDesyncStatic = desync : Globals::StandingDesyncMax = desync;
}
Собственно ресольвер реверс:

Код:
if (chockedTicks > 1 && current.EyeAngles == previous.EyeAngles && IsTickValid(curent.iTick))
{
    int ResolveMode = 0;
    if (IsMoving)
    {
        IsDucking ? ResolveMode = 1 : ResolveMode = 2;
     }
     else
     {
        IsDucking ? ResolveMode = 3 : ResolveMode = 4;
      }

    if (ResolveMode > 0)
        Resolve(ResolveMode);
}
Код:
void Resolve(int res)
{
float maxDSC;
   switch(res)
   {
     case 1: maxDSC =  Globals::DuckDesyncMove; break;
     case 2: maxDSC =  Globals::MoveDesync; break;
     case 3: maxDSC =  Globals::DuckDesyncStatic; break;
     case 4: maxDSC =  Globals::StandingDesyncMax; break;
    }

float deltaAng = current.EyeAng - previous.EyeAng;
if (deltaAng > 4)
{
    if (abs(deltaAng) == maxDSC)
    {
        data[idx].desync = deltaAng;
     }
     else
     {
        if(deltaAng > 34)
        { data[idx].desync = (int)deltaAng/2; }
        else
        {
          data[idx].desync = (int)-deltaAng/2;
        }
     }
  }

currentEntity->SetAngles().y += data[idx].desync;
}
Надеюсь помог. Не знаю какие сейчас десинки, не проверял этот ресольвер недавно, но вроде должен что-то фиксить.

UPD: заметил логическую ошибку в своём же коде только сейчас. С углами очень надо играться, ибо нам нужно получить максимальную дельту EyeAng

Сделать это можно примерно так:
Код:
void getMaxEyeAngDelta()
{
   float delta = current.EyeAng - previous.EyeAng;
   if(resolver.maxDSC[idx] >= abs(delta) && resolver.lastMaxDSC[idx] < abs(delta))
      data[idx].lastMaxDSC[idx] = delta;
   if(resolver.maxDSC[idx] < data[idx].lastMaxDSC[idx])
      data.lastMaxDSC[idx] = resolver.maxDSC[idx];
}
Фронттрекинг:
Код:
bool futurePrediction()
{
  float maxdelta = data.lastMaxDSC[idx];
  static int chocked[64] = { 0 };
  static bool ready = false;

  if (chockedTicks > 2)
      prediction.start = true;

  if (prediction.start)
  {
      prediction.start = false;
      // faking
      chocked[idx]++;
  }
if(chockedTicks > 14)
{
    data.ticksChocked[idx] = chocked[idx];
    chocked[idx] = 0;
    ready = true;
}

if (ready)
   {
        ready = false;
        return true;
   }

return false;
}

float predictedAngle()
{
  if (futurePrediction())
  {
     for(int i = 1; data.ticksChocked[idx]; i++)
     {
        current.EyeAng += data.lastMaxDSC[idx];
     }
        return current.EyeAng;
   }
  else
        return data.lastMaxDSC[idx];
}
 
Последнее редактирование:
Сверху Снизу