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

Легенда форума
Статус
Оффлайн
Регистрация
10 Дек 2018
Сообщения
4,375
Реакции[?]
2,280
Поинты[?]
184K
Привет.

Сделал функцию рендера велосити, но рендера не происходит.
Сама функция:
C++:
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++:
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++:
if (g_Options.misc_velocity)
        Visuals::Get().RenderVelocity();

Вызывал в крейтмуве, пэинттраверсе, хуке ендсцены и в AddToDrawList, ещё в месте, где рендерятся кейбины и пр., ни в одном случае рендера не происходит. Даже если вписать любой текст, всё равно ничего не рендерит. База на CSGO Simple, deadstar.
Помогите................ что нужно сделать, чтобы заработал этот рендер текста блин?
 
Забаненный
Статус
Оффлайн
Регистрация
5 Сен 2020
Сообщения
986
Реакции[?]
275
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
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 );
 
Участник
Статус
Оффлайн
Регистрация
15 Дек 2018
Сообщения
1,081
Реакции[?]
213
Поинты[?]
0
в обоях случаях 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 );
типо от названия переменных что-то поменяется?
 
pidjan
Пользователь
Статус
Оффлайн
Регистрация
10 Ноя 2020
Сообщения
526
Реакции[?]
148
Поинты[?]
1K
Привет.

Сделал функцию рендера велосити, но рендера не происходит.
Сама функция:
C++:
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++:
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++:
if (g_Options.misc_velocity)
        Visuals::Get().RenderVelocity();

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

UPD:
1623669120987.png
Реализация в csgosimple
 
Модератор форума
Модератор
Статус
Оффлайн
Регистрация
2 Дек 2016
Сообщения
2,373
Реакции[?]
1,877
Поинты[?]
35K
А нет, ошибаюсь. Точно такая же реализация была у меня
1623669385934.png
 
Хех.......)#манипулятор #кукловод #манипуляция
Участник
Статус
Оффлайн
Регистрация
28 Дек 2019
Сообщения
560
Реакции[?]
224
Поинты[?]
3K
Keine panik!
Эксперт
Статус
Оффлайн
Регистрация
29 Апр 2020
Сообщения
812
Реакции[?]
417
Поинты[?]
49K
рендера не происходит
Сперва поставь бряк на вызов RenderText в RenderVelocity, если оно никогда не триггерится, то пошагово пройдись откуда нибудь повыше и ищи где не срабатывает условие (например в конфиге выключено или не вызывается).
Если RenderText все таки вызывается но нет текста, то тут нужно проверять все подряд, что шрифт инициализирован, что координаты не выходят за пределы экрана, что цвет непрозрачный, что вызывается в верном месте, что текст не пустой.
 
Участник
Статус
Оффлайн
Регистрация
30 Авг 2020
Сообщения
777
Реакции[?]
245
Поинты[?]
10K
Привет.

Сделал функцию рендера велосити, но рендера не происходит.
Сама функция:
C++:
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++:
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++:
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);
в рендер.цпп->бегинсцен
 
Легенда форума
Статус
Оффлайн
Регистрация
10 Дек 2018
Сообщения
4,375
Реакции[?]
2,280
Поинты[?]
184K
Шо ты ваще делаешь? Нахуя тебе вектор?
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);
в рендер.цпп->бегинсцен
Как бы я смотрел тему от бульдозера, у него точно так же.
Проблема в рендере, а не в самой реализации калька велосити, лол.


Всем кто отписал по теме - спасибо, сейчас буду тестить.
 
Участник
Статус
Оффлайн
Регистрация
30 Авг 2020
Сообщения
777
Реакции[?]
245
Поинты[?]
10K
Как бы я смотрел тему от бульдозера, у него точно так же.
Проблема в рендере, а не в самой реализации калька велосити, лол.


Всем кто отписал по теме - спасибо, сейчас буду тестить.
У тебя что-то с сурсом значит, бегинсцен должен 100% рендерить
 
Легенда форума
Статус
Оффлайн
Регистрация
10 Дек 2018
Сообщения
4,375
Реакции[?]
2,280
Поинты[?]
184K
может начнём вызывать в Render::BeginScene ?
Пожалуйста, авторизуйтесь для просмотра ссылки.
Да, мужик, спасибо, сработало. А вообще-то, я отчасти дурак, т.к. и при вызове в дроу листе всё бы работало, ибо BeginScene вызывает дроу лист, просто тут проверка на вкл. есп. Мне нужно было просто включить есп и рендер начался бы.
 
Сверху Снизу