Вопрос Как вывести в левый угол текст из консоли?

гений, плейбой, но не миллиардер
Пользователь
Статус
Оффлайн
Регистрация
6 Июн 2017
Сообщения
137
Реакции[?]
90
Поинты[?]
4K
CVar developer = g_CVars->FindVar("developer");
developer->SetValue(1);
недокодер решил выебнуться. Зачем тебе инстанция этой переменной, если ты можешь сделать прямо так:
C++:
g_CVars->FindVar("developer")->SetValue(1)
По теме, мужички выше написали верно, но походу ты хочешь сделать эвентлоги.
Дам референс на исходник SourceEngine 2007го года:
C++:
void CConPanel::DrawNotify( void )
{
    int x = 8;
    int y = 5;

    if ( !m_hFontFixed )
        return;

    // notify area only draws in developer mode
    if ( !developer.GetBool() )
        return;

    // don't render notify area into movies, either
    if ( cl_movieinfo.IsRecording( ) )
    {
        return;
    }

    vgui::surface()->DrawSetTextFont( m_hFontFixed );

    int fontTall = vgui::surface()->GetFontTall( m_hFontFixed ) + 1;

    Color clr;

    int c = m_NotifyText.Count();
    for ( int i = 0; i < c; i++ )
    {
        CNotifyText *notify = &m_NotifyText[ i ];

        float timeleft = notify->liferemaining;
    
        clr = notify->clr;

        if ( timeleft < .5f )
        {
            float f = clamp( timeleft, 0.0f, .5f ) / .5f;

            clr[3] = (int)( f * 255.0f );

            if ( i == 0 && f < 0.2f )
            {
                y -= fontTall * ( 1.0f - f / 0.2f );
            }
        }
        else
        {
            clr[3] = 255;
        }

        DrawColoredText( m_hFontFixed, x, y, clr[0], clr[1], clr[2], clr[3], notify->text );

        y += fontTall;
    }
}

Тебе остается сделать добавление в нотифи, и плавное убирание.

Плавное убирание делается так:
notify->time - curtime

if (notify->time <= 0.f)
{
notifies.erase(notify);
continue;
}
 
Трахов
Пользователь
Статус
Оффлайн
Регистрация
6 Фев 2020
Сообщения
490
Реакции[?]
87
Поинты[?]
2K
недокодер решил выебнуться. Зачем тебе инстанция этой переменной, если ты можешь сделать прямо так:
C++:
g_CVars->FindVar("developer")->SetValue(1)
По теме, мужички выше написали верно, но походу ты хочешь сделать эвентлоги.
Дам референс на исходник SourceEngine 2007го года:
C++:
void CConPanel::DrawNotify( void )
{
    int x = 8;
    int y = 5;

    if ( !m_hFontFixed )
        return;

    // notify area only draws in developer mode
    if ( !developer.GetBool() )
        return;

    // don't render notify area into movies, either
    if ( cl_movieinfo.IsRecording( ) )
    {
        return;
    }

    vgui::surface()->DrawSetTextFont( m_hFontFixed );

    int fontTall = vgui::surface()->GetFontTall( m_hFontFixed ) + 1;

    Color clr;

    int c = m_NotifyText.Count();
    for ( int i = 0; i < c; i++ )
    {
        CNotifyText *notify = &m_NotifyText[ i ];

        float timeleft = notify->liferemaining;
    
        clr = notify->clr;

        if ( timeleft < .5f )
        {
            float f = clamp( timeleft, 0.0f, .5f ) / .5f;

            clr[3] = (int)( f * 255.0f );

            if ( i == 0 && f < 0.2f )
            {
                y -= fontTall * ( 1.0f - f / 0.2f );
            }
        }
        else
        {
            clr[3] = 255;
        }

        DrawColoredText( m_hFontFixed, x, y, clr[0], clr[1], clr[2], clr[3], notify->text );

        y += fontTall;
    }
}

Тебе остается сделать добавление в нотифи, и плавное убирание.

Плавное убирание делается так:
notify->time - curtime

if (notify->time <= 0.f)
{
notifies.erase(notify);
continue;
}
С мужичков поржал)
по теме: мне интересно другое, ему нужно выводить с консоли что-то определённое или прям фулл кс ?
 
coder of the year
Участник
Статус
Оффлайн
Регистрация
13 Мар 2019
Сообщения
886
Реакции[?]
266
Поинты[?]
4K
недокодер решил выебнуться. Зачем тебе инстанция этой переменной, если ты можешь сделать прямо так:
C++:
g_CVars->FindVar("developer")->SetValue(1)
потому что я не спал и время было 5 утра, я хотел так сделать но забыл как хД
похоже по твоим комментариям ты считаешь себя умнее меня? ну ты точно блеснул умом -
ты не думал что код который написал я - будет понятнее для него, ибо он новичок, это видно потому-что он спрашивает банальный вопрос? зачем ты сразу переходишь на оскорбления, я тебя что, оскорблял? или у тебя просто не хватило слов в словарном запасе что бы просто сказать что то умное
 
Последнее редактирование:
гений, плейбой, но не миллиардер
Пользователь
Статус
Оффлайн
Регистрация
6 Июн 2017
Сообщения
137
Реакции[?]
90
Поинты[?]
4K
потому что я не спал и время было 5 утра, я хотел так сделать но забыл как хД
похоже по твоим комментариям ты считаешь себя умнее меня? ну ты точно блеснул умом -
ты не думал что код который написал я - будет понятнее для него, ибо он новичок, это видно потому-что он спрашивает банальный вопрос? зачем ты сразу переходишь на оскорбления, я тебя что, оскорблял? или у тебя просто не хватило слов в словарном запасе что бы просто сказать что то умное
А). Где он понятнее. Я просто убрал создание инстанции, которая будет занимать память.

Б). Я тебя даже не оскорбил, я сказал по факту, что ты просто решил выебнуться
 
B.O.M.J
Эксперт
Статус
Оффлайн
Регистрация
19 Май 2017
Сообщения
2,403
Реакции[?]
897
Поинты[?]
3K
А). Где он понятнее. Я просто убрал создание инстанции, которая будет занимать память.

Б). Я тебя даже не оскорбил, я сказал по факту, что ты просто решил выебнуться
чел просто написал код ты же решил выстроить из себя мегу тру p2c кодера :CoolStoryBob:
 
Сверху Снизу