HUD показ информации в углу

Puwok

Участник
Сообщения
37
Реакции
4
Приветствую, кто может сбросить кусок кода, который будет постоянно показывать каждому игроку (свою какую либо) информацию в правом верхнем углу, с обновлением к примеру в 1 сек.

Есть плагин статистики, хочется вывести:

пример

За карту: 312.33 exp
Всего: 912.23 exp
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,569
Реакции
5,071
C-подобный:
#pragma semicolon 1
#pragma newdecls required

static const char
    TXT1[]    = "Статичный текст №1",
    TXT2[]    = "Статичный текст №2";

static const int
    iColor[]= {15, 63, 255};    // цвет текста RGB

static const float
    fPosX    = 1.0,    // положение HUD слева направо (от -2.0 до 1.0, -1.0 - центр)
    fPosY    = 0.0,    //                 сверху вниз
    fCD        = 1.0;    // промежуток м/у обновлениями информации в HUD

Handle
    hHUD;

public void OnPluginStart()
{
    hHUD = CreateHudSynchronizer();
    CreateTimer(fCD, Timer_UpdateHUD, _, TIMER_REPEAT);
}

public Action Timer_UpdateHUD(Handle timer)
{
    SetHudTextParams(fPosX, fPosY, fCD, iColor[0], iColor[1], iColor[2], 255, _, 0.0, _, 0.1);
    for(int i = 1; i <= MaxClients; i++) if(IsClientInGame(i) && !IsFakeClient(i)) ShowSyncHudText(i, hHUD, "%s\n%s", TXT1, TXT2);

    return Plugin_Continue;
}
 
Последнее редактирование:

Puwok

Участник
Сообщения
37
Реакции
4
C-подобный:
#pragma semicolon 1
#pragma newdecls required

static const char
    TXT1[]    = "Статичный текст №1",
    TXT2[]    = "Статичный текст №2";

static const int
    iColor[]= {15, 63, 255};    // цвет текста RGB

static const float
    fPosX    = 1.0,    // положение HUD слева направо (от -2.0 до 1.0, -1.0 - центр)
    fPosY    = 0.0,    //                 сверху вниз
    fCD        = 1.0;    // промежуток м/у обновлениями информации в HUD

Handle
    hHUD;

public void OnPluginStart()
{
    hHUD = CreateHudSynchronizer();
    CreateTimer(fCD, Timer_UpdateHUD, _, TIMER_REPEAT);
}

public Action Timer_UpdateHUD(Handle timer)
{
    SetHudTextParams(fPosX, fPosY, fCD, iColor[0], iColor[1], iColor[2], 255, _, 0.0, _, 0.1);
    for(int i = 1; i <= MaxClients; i++) if(IsClientInGame(i) && !IsFakeClient(i)) ShowSyncHudText(i, hHUD, "%s\n%s", TXT1, TXT2);

    return Plugin_Continue;
}

Скомплило без ошибок, в игре пусто.
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,569
Реакции
5,071
Скорей всего заблокирована правая часть экрана (тупо не отображается там HUD).
Просто смести панельку левее (для кординат имеет смысл указывать значения с точностью до сотых).

Такая фигня бывает только в КСГО.
М/б зависит от настроек клиента игры.
В КСГО интерфейс частично на флеше сделан (это при том, что в браузерах давно планируется от него вообще отказаться) и, думаю, это он может гадить
 

Puwok

Участник
Сообщения
37
Реакции
4
Скорей всего заблокирована правая часть экрана (тупо не отображается там HUD).
Просто смести панельку левее (для кординат имеет смысл указывать значения с точностью до сотых).

Такая фигня бывает только в КСГО.
М/б зависит от настроек клиента игры.
В КСГО интерфейс частично на флеше сделан (это при том, что в браузерах давно планируется от него вообще отказаться) и, думаю, это он может гадить

Благодарю за помощь! Можно убрать мерцание текста и шрифт по меньше сделать?
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,569
Реакции
5,071
Размер шрифта поменять нельзя
Мерцание можно уменьшить увеличением длительности существования панели при её обновлении
 
Сверху Снизу