Гайд Правильный ping индикатор

Пользователь
Статус
Оффлайн
Регистрация
8 Июл 2019
Сообщения
121
Реакции[?]
43
Поинты[?]
1K
По сути исходный код ping индикатора уже давно есть в открытом доступе, но я нигде не видел абсолютно правильного индикатора. Под правильным я понимаю индикатор ping, значение которого совпадает со значением в net_graph. Для того чтобы его сделать, мне пришлось немного порыться в
Пожалуйста, авторизуйтесь для просмотра ссылки.
.

Собственно сам код:
C++:
// Получение начального значения ping.
auto nci = g_csgo.m_engine()->GetNetChannelInfo();
auto latency = nci && g_csgo.m_engine()->IsInGame() && !g_csgo.m_engine()->IsPlayingDemo() ? nci->GetAvgLatency(FLOW_OUTGOING) : 0.0f;

// Корректировка значения из source sdk 2013.
static auto cl_updaterate = g_csgo.m_cvar()->FindVar("cl_updaterate");
latency -= 0.5f / cl_updaterate->GetFloat();

// Финальная корректировка значения и приведение его в тип std::string.
auto ping = std::to_string((int)(max(0.0f, latency) * 1000.0f));

// Можете отрендерить сам инидикатор где вам удобно, здесь просто приведу пример.
render::get().text(fonts[INDICATORS], 50, 50, HFONT_CENTERED_X | HFONT_CENTERED_Y, "PING: %s ms", ping.c_str());
 
Последнее редактирование:
Пользователь
Статус
Оффлайн
Регистрация
8 Июл 2019
Сообщения
121
Реакции[?]
43
Поинты[?]
1K
Олдфаг
Статус
Оффлайн
Регистрация
6 Мар 2019
Сообщения
2,939
Реакции[?]
1,005
Поинты[?]
0
// Корректировка значения из source sdk 2013.
static auto cl_updaterate = g_csgo.m_cvar()->FindVar("cl_updaterate");
latency -= 0.5f / cl_updaterate->GetFloat();

По факту это тоже костыль, я вообще не понимаю почему эти ебанутые Валв до сих пор не могут перелопатить свой сурс из говна и палок. Всё двигло по сути это набор костылей и патчей.
 
Забаненный
Статус
Оффлайн
Регистрация
2 Дек 2019
Сообщения
37
Реакции[?]
15
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
еба езо русский выучил
 
Сверху Снизу