• MONEY за подписку! Ничего делать не надо совсем, всего-то подписаться на тг одмена и нажать кнопку "Принять участие" в розыгрыше: https://t.me/govthing/7650

Вопрос Не работает рендер текста - CSGOSimple base

  • Автор темы Автор темы idesync
  • Дата начала Дата начала
Легенда форума
Легенда форума
Статус
Оффлайн
Регистрация
10 Дек 2018
Сообщения
4,457
Реакции
2,321
Привет.

Сделал функцию рендера велосити, но рендера не происходит.
Сама функция:
C++:
Expand Collapse Copy
void Visuals::RenderVelocity()
{
    if (!g_LocalPlayer || !g_LocalPlayer->IsAlive())
        return;

    int X, Y;
    g_EngineClient->GetScreenSize(X, Y);

    Vector VelVec = g_LocalPlayer->m_vecVelocity();
    float velocity = sqrt(VelVec[0] * VelVec[0] + VelVec[1] * VelVec[1]);

    Render::Get().RenderText(std::to_string(round(velocity)), ImVec2(X / 2, Y / 2), 125.f, Color(255, 255, 255, 255), false, true, g_pDefaultFont);
}
Сэмпл рендера:
C++:
Expand Collapse Copy
float RenderText(const std::string& text, ImVec2 position, float size, Color color, bool center = false, bool outline = true, ImFont* pFont = g_pDefaultFont);

// template
template <class T>
inline float RenderText(const std::string& text, T x, T y, float size, Color clr, bool center = false, bool outline = true, ImFont* pFont = g_pVisualsFont)
{
    return RenderText(text, ImVec2(x, y), size, clr, center, outline, pFont);
}
Вызов:
C++:
Expand Collapse Copy
if (g_Options.misc_velocity)
        Visuals::Get().RenderVelocity();


Вызывал в крейтмуве, пэинттраверсе, хуке ендсцены и в AddToDrawList, ещё в месте, где рендерятся кейбины и пр., ни в одном случае рендера не происходит. Даже если вписать любой текст, всё равно ничего не рендерит. База на CSGO Simple, deadstar.
Помогите................ что нужно сделать, чтобы заработал этот рендер текста блин?
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Render::Get().RenderText(std::to_string(round(velocity)), ImVec2(X / 2, Y / 2), 125.f, Color(255, 255, 255, 255), false, true, g_pDefaultFont)
в обоях случаях false
а также вместо x y попробуй вот это
int screenWidth, screenHeight;
g_EngineClient->GetScreenSize(screenWidth, screenHeight);
Render::Get().RenderText(std::to_string(velocity), screenWidth / 2 - 48, screenHeight - 100, 27.f, color (255,255,255,255) , false, false, g_pDefaultFont );
 
в обоях случаях false
а также вместо x y попробуй вот это
int screenWidth, screenHeight;
g_EngineClient->GetScreenSize(screenWidth, screenHeight);
Render::Get().RenderText(std::to_string(velocity), screenWidth / 2 - 48, screenHeight - 100, 27.f, color (255,255,255,255) , false, false, g_pDefaultFont );
типо от названия переменных что-то поменяется?
 
Привет.

Сделал функцию рендера велосити, но рендера не происходит.
Сама функция:
C++:
Expand Collapse Copy
void Visuals::RenderVelocity()
{
    if (!g_LocalPlayer || !g_LocalPlayer->IsAlive())
        return;

    int X, Y;
    g_EngineClient->GetScreenSize(X, Y);

    Vector VelVec = g_LocalPlayer->m_vecVelocity();
    float velocity = sqrt(VelVec[0] * VelVec[0] + VelVec[1] * VelVec[1]);

    Render::Get().RenderText(std::to_string(round(velocity)), ImVec2(X / 2, Y / 2), 125.f, Color(255, 255, 255, 255), false, true, g_pDefaultFont);
}
Сэмпл рендера:
C++:
Expand Collapse Copy
float RenderText(const std::string& text, ImVec2 position, float size, Color color, bool center = false, bool outline = true, ImFont* pFont = g_pDefaultFont);

// template
template <class T>
inline float RenderText(const std::string& text, T x, T y, float size, Color clr, bool center = false, bool outline = true, ImFont* pFont = g_pVisualsFont)
{
    return RenderText(text, ImVec2(x, y), size, clr, center, outline, pFont);
}
Вызов:
C++:
Expand Collapse Copy
if (g_Options.misc_velocity)
        Visuals::Get().RenderVelocity();


Вызывал в крейтмуве, пэинттраверсе, хуке ендсцены и в AddToDrawList, ещё в месте, где рендерятся кейбины и пр., ни в одном случае рендера не происходит. Даже если вписать любой текст, всё равно ничего не рендерит. База на CSGO Simple, deadstar.
Помогите................ что нужно сделать, чтобы заработал этот рендер текста блин?
Попробуй написать вместо if (g_Options.misc_velocity) - if (true)
И вызывать нужно только в пэинттраверсе.
Если заработает, то посмотри внимательно в конфиг, рендер меню.
А если и так не заработает, посмотри Visuals.h может там ошибку допустил
 
Я возможно ошибаюсь т.к давно не занимался таким, но разве не надо нормально прототип функции использовать?
А ты передаешь ему лишь один ImVec2, который в дальнейшем не раскладывается

UPD:
1623669120987.png

Реализация в csgosimple
 
А нет, ошибаюсь. Точно такая же реализация была у меня
1623669385934.png
 
рендера не происходит
Сперва поставь бряк на вызов RenderText в RenderVelocity, если оно никогда не триггерится, то пошагово пройдись откуда нибудь повыше и ищи где не срабатывает условие (например в конфиге выключено или не вызывается).
Если RenderText все таки вызывается но нет текста, то тут нужно проверять все подряд, что шрифт инициализирован, что координаты не выходят за пределы экрана, что цвет непрозрачный, что вызывается в верном месте, что текст не пустой.
 
Привет.

Сделал функцию рендера велосити, но рендера не происходит.
Сама функция:
C++:
Expand Collapse Copy
void Visuals::RenderVelocity()
{
    if (!g_LocalPlayer || !g_LocalPlayer->IsAlive())
        return;

    int X, Y;
    g_EngineClient->GetScreenSize(X, Y);

    Vector VelVec = g_LocalPlayer->m_vecVelocity();
    float velocity = sqrt(VelVec[0] * VelVec[0] + VelVec[1] * VelVec[1]);

    Render::Get().RenderText(std::to_string(round(velocity)), ImVec2(X / 2, Y / 2), 125.f, Color(255, 255, 255, 255), false, true, g_pDefaultFont);
}
Сэмпл рендера:
C++:
Expand Collapse Copy
float RenderText(const std::string& text, ImVec2 position, float size, Color color, bool center = false, bool outline = true, ImFont* pFont = g_pDefaultFont);

// template
template <class T>
inline float RenderText(const std::string& text, T x, T y, float size, Color clr, bool center = false, bool outline = true, ImFont* pFont = g_pVisualsFont)
{
    return RenderText(text, ImVec2(x, y), size, clr, center, outline, pFont);
}
Вызов:
C++:
Expand Collapse Copy
if (g_Options.misc_velocity)
        Visuals::Get().RenderVelocity();


Вызывал в крейтмуве, пэинттраверсе, хуке ендсцены и в AddToDrawList, ещё в месте, где рендерятся кейбины и пр., ни в одном случае рендера не происходит. Даже если вписать любой текст, всё равно ничего не рендерит. База на CSGO Simple, deadstar.
Помогите................ что нужно сделать, чтобы заработал этот рендер текста блин?
Шо ты ваще делаешь? Нахуя тебе вектор?
float v = g_LocalPlayer->m_vecVelocity.length2D();
Render::Get().RenderText(std::to_string((int) v), ImVec2(X / 2 + 15, Y / 2 + 15), 25.f, Color(255, 255, 255, 255), false, true, g_pDefaultFont);
в рендер.цпп->бегинсцен
 
Шо ты ваще делаешь? Нахуя тебе вектор?
float v = g_LocalPlayer->m_vecVelocity.length2D();
Render::Get().RenderText(std::to_string((int) v), ImVec2(X / 2 + 15, Y / 2 + 15), 25.f, Color(255, 255, 255, 255), false, true, g_pDefaultFont);
в рендер.цпп->бегинсцен
Как бы я смотрел тему от бульдозера, у него точно так же.
Проблема в рендере, а не в самой реализации калька велосити, лол.


Всем кто отписал по теме - спасибо, сейчас буду тестить.
 
Как бы я смотрел тему от бульдозера, у него точно так же.
Проблема в рендере, а не в самой реализации калька велосити, лол.


Всем кто отписал по теме - спасибо, сейчас буду тестить.
У тебя что-то с сурсом значит, бегинсцен должен 100% рендерить
 
может начнём вызывать в Render::BeginScene ?
Пожалуйста, авторизуйтесь для просмотра ссылки.
Да, мужик, спасибо, сработало. А вообще-то, я отчасти дурак, т.к. и при вызове в дроу листе всё бы работало, ибо BeginScene вызывает дроу лист, просто тут проверка на вкл. есп. Мне нужно было просто включить есп и рендер начался бы.
 
Назад
Сверху Снизу