Гайд Simple speedometer

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
10 Апр 2025
Сообщения
46
Реакции
2
C++:
Expand Collapse Copy
inline bool Speedometer = false;
inline float localSpeed;
inline float localSpeed_m[100];
inline int CurrentSpeedIndex = 0;


C++:
Expand Collapse Copy
float x = stLocalBaseEntity.m_vecAbsVelocity[0];
float y = stLocalBaseEntity.m_vecAbsVelocity[1];
float z = stLocalBaseEntity.m_vecAbsVelocity[2];

localSpeed = sqrt(x * x + y * y + z * z);


Функция для обновления данных в массиве
C++:
Expand Collapse Copy
void UpdateSpeedData(float newSpeed)
{
    localSpeed = newSpeed;

    localSpeed_m[CurrentSpeedIndex] = localSpeed;
    CurrentSpeedIndex++;

    if (CurrentSpeedIndex >= 100)
        CurrentSpeedIndex = 0;
}

Отрисовка в имгуе

C++:
Expand Collapse Copy
if (Speedometer)
{
    ImGui::PushStyleVar(ImGuiStyleVar_WindowBorderSize, 0.0f);
    ImGui::PushStyleVar(ImGuiStyleVar_WindowPadding, { 5.0f, 5.0f });
    ImGui::PushStyleColor(ImGuiCol_WindowBg, { 0.0f, 0.0f, 0.0f, 0.3f });

    ImGui::Begin("SpeedWidget", nullptr,
        ImGuiWindowFlags_NoTitleBar |
        ImGuiWindowFlags_NoResize |
        ImGuiWindowFlags_AlwaysAutoResize);

    UpdateSpeedData(localSpeed);

    ImGui::PushStyleColor(ImGuiCol_PlotLines, ImVec4(1.0f, 0.5f, 0.0f, 1.0f));
    ImGui::PushStyleColor(ImGuiCol_FrameBg, ImVec4(0.0f, 0.0f, 0.0f, 0.2f));

    ImGui::PlotLines("##speed",
        localSpeed_m,
        100,
        CurrentSpeedIndex,
        NULL,
        0.0f,
        500.0f,
        ImVec2(0, 120.0f));

    ImGui::PopStyleColor(2);

    ImGui::Text("Speed: %.1f", localSpeed);

    ImGui::End();
    ImGui::PopStyleColor();
    ImGui::PopStyleVar(2);
}

Результат

1761976060633.png
 
это покруче будет
 
это покруче будет
там просто скорость а у меня график, мне интереснее видеть где идет потеря скорости чем просто скорость
 
а зачем спидометр вообще нужен?
ну типа кому вообще не похуй на значение своей скорости?
Чтобы отслеживать спайки на БХОПе?
Вообще тутору идеальное название подходит: Velocity Graph
Код:
Expand Collapse Copy
if (Speedometer)
{
    ImGui::PushStyleVar(ImGuiStyleVar_WindowBorderSize, 0.0f);
    ImGui::PushStyleVar(ImGuiStyleVar_WindowPadding, { 5.0f, 5.0f });
    ImGui::PushStyleColor(ImGuiCol_WindowBg, { 0.0f, 0.0f, 0.0f, 0.3f });

    ImGui::Begin("SpeedWidget", nullptr,
        ImGuiWindowFlags_NoTitleBar |
        ImGuiWindowFlags_NoResize |
        ImGuiWindowFlags_AlwaysAutoResize);

    UpdateSpeedData(localSpeed);

    ImGui::PushStyleColor(ImGuiCol_PlotLines, ImVec4(1.0f, 0.5f, 0.0f, 1.0f));
    ImGui::PushStyleColor(ImGuiCol_FrameBg, ImVec4(0.0f, 0.0f, 0.0f, 0.2f));

    ImGui::PlotLines("##speed",
        localSpeed_m,
        100,
        CurrentSpeedIndex,
        NULL,
        0.0f,
        500.0f,
        ImVec2(0, 120.0f));

    ImGui::PopStyleColor(2);

    ImGui::Text("Speed: %.1f", localSpeed);

    ImGui::End();
    ImGui::PopStyleColor();
    ImGui::PopStyleVar(2);
}
круто конечно, но нахуя? если ВАК детектит процес Imguя ? Ну автоматически вакает
 
Чтобы отслеживать спайки на БХОПе?
Вообще тутору идеальное название подходит: Velocity Graph

круто конечно, но нахуя? если ВАК детектит процес Imguя ? Ну автоматически вакает
как ты к оформлению стиля привязал вак? Если руки не из жопы детекта не будет
 
Назад
Сверху Снизу