• Новые темы в этом разделе публикуются автоматически при добавлении файла в менеджер ресурсов.
    Ручное создание новых тем невозможно.
Иконка ресурса

Интерфейс хф + исходники 0.7 + Rolo Ext 0.1

Нет прав для скачивания
Люди добрые, кто подскажет за PC Cafe Points?
В чем вопрос и почему спрашиваю в теме интерфейса.

В этом интерфейсе у меня PC Cafe Points может выглядеть так
(Рисунок 1) -
1761724952037.webp
Может выглядеть вот так (Рисунок 2) -
1761725085951.webp

А может выглядеть вот так (Рисунок 3) -
1761725350478.webp

На рисунке 3, количество PC Cafe Points просто не влезает в отведенное для них место (максимально можно накопить 200 000 очков). Но проблема не в самих очках PC Cafe, как таковых (200 000 отлично там помещаются), проблема в "таймере"(?) в квадратных скобках (вот эти [06:36] на рисунке 2), который периодически появляется вместе с очками PC Cafe. А всё вместе с этим "таймером" уже не помещается.

200 000 очков (без "таймера" в конце)
1761726262890.webp

И собстевнно вопросы. Что это за "таймер" в конце, какую информацию он несет игроку? Он может появиться/измениться/пропасть (прям рулетка) когда получаю новые очки (за прибывание в игре) или трачу уже имеющиеся. Цифры там постоянно разные, отсчет у "таймера" не ведется (вот как было [06:30], так и будет долго висеть эта цифра).
И можно ли как-то от этого "таймера" избавиться, не сломав счетчик PC Cafe Points?

В ExpBarWnd.uc нашел такой блок
Код:
function HandlePCCafePointInfo( String a_Param )
{
    local int Show;
    local Color TextColor;
    local String AddPointText;
    local String FullPointText;        //CT26P4_0323
    local int nDailyHour;
    local int nDailyMin;
    local int PCCafeTotalPoint;
    local int m_AddPoint;
    local int m_PointType;
    local int m_DailyPoint;   
    
    ParseInt( a_Param, "Show", Show );
    if (Show == 0) return;
    
    m_AddPoint = 0;
    
    ParseInt( a_Param, "TotalPoint", PCCafeTotalPoint );
    ParseInt( a_Param, "AddPoint", m_AddPoint );
    ParseInt( a_Param, "PointType", m_PointType );
    ParseInt( a_Param, "DailyPoint", m_DailyPoint);        //CT26P4_0323
    
    FullPointText = MakeCostString(String(PCCafeTotalPoint));

    //CT26P4_0323
    if (m_DailyPoint > 0)    // idk??
    {
        nDailyMin = m_DailyPoint / 20;
        nDailyHour = nDailyMin / 60;
        nDailyMin = nDailyMin - nDailyHour * 60;
        FullPointText = FullPointText $ " [" $ GetFormattedTimeStrMMHH(nDailyHour, nDailyMin) $ "]";
    }
    
    txt_ExpBarPCValue.SetText(FullPointText);

    if( 0 != m_AddPoint)
    {
        txt_ExpBarPCChangeValue.SetAlpha(0);
        
        if( 0 < m_AddPoint )
            AddPointText = "+" $ MakeCostString(String(m_AddPoint));
        else
            AddPointText = MakeCostString(String(m_AddPoint));

        switch (m_PointType)
        {
            case 0:    // Normal
                TextColor.R = 255;
                TextColor.G = 255;
                TextColor.B = 0;
                break;
            case 1:    // Bonus
                TextColor.R = 0;
                TextColor.G = 255;
                TextColor.B = 255;
                break;
            case 2:    // Decrease
            case 3:    // Decrease (on rpg club when buy smthn)
                TextColor.R = 255;
                TextColor.G = 0;
                TextColor.B = 0;
                break;
        }
        
        txt_ExpBarPCChangeValue.SetText(AddPointText );
        txt_ExpBarPCChangeValue.SetTextColor(TextColor);
        txt_ExpBarPCChangeValue.SetAnchor( "ExpBarWnd.txtExpBarPCValue", "BottomRight", "BottomRight", 0, 0);
        txt_ExpBarPCChangeValue.ClearAnchor();
        txt_ExpBarPCChangeValue.Move(0, -38, 2.f);
        txt_ExpBarPCChangeValue.SetAlpha(255);
        txt_ExpBarPCChangeValue.SetAlpha(0, 1.8f);
    }
}

Может это как-то поможет разобраться, тем кто понимает в этом, я просто не шарю...
Буду рад любой помощи!
 

Люди добрые, кто подскажет за PC Cafe Points?
В чем вопрос и почему спрашиваю в теме интерфейса.

В этом интерфейсе у меня PC Cafe Points может выглядеть так
(Рисунок 1) -
Посмотреть вложение 89467
Может выглядеть вот так (Рисунок 2) -
Посмотреть вложение 89468

А может выглядеть вот так (Рисунок 3) -
Посмотреть вложение 89469

На рисунке 3, количество PC Cafe Points просто не влезает в отведенное для них место (максимально можно накопить 200 000 очков). Но проблема не в самих очках PC Cafe, как таковых (200 000 отлично там помещаются), проблема в "таймере"(?) в квадратных скобках (вот эти [06:36] на рисунке 2), который периодически появляется вместе с очками PC Cafe. А всё вместе с этим "таймером" уже не помещается.

200 000 очков (без "таймера" в конце)
Посмотреть вложение 89470

И собстевнно вопросы. Что это за "таймер" в конце, какую информацию он несет игроку? Он может появиться/измениться/пропасть (прям рулетка) когда получаю новые очки (за прибывание в игре) или трачу уже имеющиеся. Цифры там постоянно разные, отсчет у "таймера" не ведется (вот как было [06:30], так и будет долго висеть эта цифра).
И можно ли как-то от этого "таймера" избавиться, не сломав счетчик PC Cafe Points?

В ExpBarWnd.uc нашел такой блок
Код:
function HandlePCCafePointInfo( String a_Param )
{
    local int Show;
    local Color TextColor;
    local String AddPointText;
    local String FullPointText;        //CT26P4_0323
    local int nDailyHour;
    local int nDailyMin;
    local int PCCafeTotalPoint;
    local int m_AddPoint;
    local int m_PointType;
    local int m_DailyPoint;  
   
    ParseInt( a_Param, "Show", Show );
    if (Show == 0) return;
   
    m_AddPoint = 0;
   
    ParseInt( a_Param, "TotalPoint", PCCafeTotalPoint );
    ParseInt( a_Param, "AddPoint", m_AddPoint );
    ParseInt( a_Param, "PointType", m_PointType );
    ParseInt( a_Param, "DailyPoint", m_DailyPoint);        //CT26P4_0323
   
    FullPointText = MakeCostString(String(PCCafeTotalPoint));

    //CT26P4_0323
    if (m_DailyPoint > 0)    // idk??
    {
        nDailyMin = m_DailyPoint / 20;
        nDailyHour = nDailyMin / 60;
        nDailyMin = nDailyMin - nDailyHour * 60;
        FullPointText = FullPointText $ " [" $ GetFormattedTimeStrMMHH(nDailyHour, nDailyMin) $ "]";
    }
   
    txt_ExpBarPCValue.SetText(FullPointText);

    if( 0 != m_AddPoint)
    {
        txt_ExpBarPCChangeValue.SetAlpha(0);
       
        if( 0 < m_AddPoint )
            AddPointText = "+" $ MakeCostString(String(m_AddPoint));
        else
            AddPointText = MakeCostString(String(m_AddPoint));

        switch (m_PointType)
        {
            case 0:    // Normal
                TextColor.R = 255;
                TextColor.G = 255;
                TextColor.B = 0;
                break;
            case 1:    // Bonus
                TextColor.R = 0;
                TextColor.G = 255;
                TextColor.B = 255;
                break;
            case 2:    // Decrease
            case 3:    // Decrease (on rpg club when buy smthn)
                TextColor.R = 255;
                TextColor.G = 0;
                TextColor.B = 0;
                break;
        }
       
        txt_ExpBarPCChangeValue.SetText(AddPointText );
        txt_ExpBarPCChangeValue.SetTextColor(TextColor);
        txt_ExpBarPCChangeValue.SetAnchor( "ExpBarWnd.txtExpBarPCValue", "BottomRight", "BottomRight", 0, 0);
        txt_ExpBarPCChangeValue.ClearAnchor();
        txt_ExpBarPCChangeValue.Move(0, -38, 2.f);
        txt_ExpBarPCChangeValue.SetAlpha(255);
        txt_ExpBarPCChangeValue.SetAlpha(0, 1.8f);
    }
}

Может это как-то поможет разобраться, тем кто понимает в этом, я просто не шарю...
Буду рад любой помощи!
когда вы определяете привязку (SetAnchor), а затем очищаете ее (ClearAnchor), что удаляет ссылку на позиционирование и делает текст плавающим на основе абсолютных координат окна, возможно, когда кадр перерисовывается (например, при получении новых точек), текст теряет ссылку и иногда кажется смещенным. Попробуйте удалить ClearAnchor(), так как вскоре после этого может произойти отмена SetAnchor().

где код:
txt_ExpBarPCChangeValue.SetAnchor( "ExpBarWnd.txtExpBarPCValue", "BottomRight", "BottomRight", 0, 0);
txt_ExpBarPCChangeValue.ClearAnchor();
txt_ExpBarPCChangeValue.Move(0, -38, 2.f);

заменить на:
txt_ExpBarPCChangeValue.SetAnchor("ExpBarWnd.txtExpBarPCValue", "BottomRight", "BottomRight", 0, -38);
txt_ExpBarPCChangeValue.Move(0, 0, 2.f);

Если по какой-то причине оно не выровнено, попробуйте внести изменения в:

txt_ExpBarPCChangeValue.SetAnchor("ExpBarWnd.txtExpBarPCValue", "BottomRight", "BottomRight", 0, -35);

txt_ExpBarPCChangeValue.SetAnchor("ExpBarWnd.txtExpBarPCValue", "BottomRight", "BottomRight", 0, -40);

Больше этим интерфейсом не пользуюсь, внес несколько исправлений, которые есть на этом форуме, Надеюсь, я помог.
 
  • Мне нравится
Реакции: kick
заменить на:
txt_ExpBarPCChangeValue.SetAnchor("ExpBarWnd.txtExpBarPCValue", "BottomRight", "BottomRight", 0, -38);
txt_ExpBarPCChangeValue.Move(0, 0, 2.f);

Если по какой-то причине оно не выровнено, попробуйте внести изменения в:

txt_ExpBarPCChangeValue.SetAnchor("ExpBarWnd.txtExpBarPCValue", "BottomRight", "BottomRight", 0, -35);

txt_ExpBarPCChangeValue.SetAnchor("ExpBarWnd.txtExpBarPCValue", "BottomRight", "BottomRight", 0, -40);

Больше этим интерфейсом не пользуюсь, внес несколько исправлений, которые есть на этом форуме, Надеюсь, я помог.

Спасибо за попытку помочь, но нет. Попробовал все три варианта -38, -35, -40, удалял txt_ExpBarPCChangeValue.ClearAnchor(); (пересобирал, естественно, Interface.u и заменял им старый, в папке System).

Все осталось как раньше - при входе в игру у цифры PC Cafe Points, в конце, есть этот "таймер" и все "сдвинуто". Несколько раз провожу манипуляции с очками PC Cafe Points (трачу или добавляю, неважно) и иногда этот "таймер" в конце пропадает, в этом случае очки PC Cafe Points отображаются корректно. Но стоит опять потратить или добавить себе очков, как "таймер" опять "приписывается сзади" и все опять сдвинуто.

Если, например, через XDAT Editor, у txtExpBarPCValue изменить шрифт с hs8 на hs7, то очки PC Cafe Points "влезают" вместе с этим "таймером", но будет ооочень мелко.
1761745241025.webp
Или, если через XDAT Editor, у txtExpBarPCValue изменить size_absolute_width с 70, на 85, все влезает, только наползает уже на иконку "PC Cafe" (это когда "таймер" есть в конце, если/когда пропадает, то все норм).
1761745847275.webp

Убрать бы появление этого "таймера" в конце, но я не понимаю что это/зачем оно и как его убрать o_O
 
Спасибо за попытку помочь, но нет. Попробовал все три варианта -38, -35, -40, удалял txt_ExpBarPCChangeValue.ClearAnchor(); (пересобирал, естественно, Interface.u и заменял им старый, в папке System).

Все осталось как раньше - при входе в игру у цифры PC Cafe Points, в конце, есть этот "таймер" и все "сдвинуто". Несколько раз провожу манипуляции с очками PC Cafe Points (трачу или добавляю, неважно) и иногда этот "таймер" в конце пропадает, в этом случае очки PC Cafe Points отображаются корректно. Но стоит опять потратить или добавить себе очков, как "таймер" опять "приписывается сзади" и все опять сдвинуто.

Если, например, через XDAT Editor, у txtExpBarPCValue изменить шрифт с hs8 на hs7, то очки PC Cafe Points "влезают" вместе с этим "таймером", но будет ооочень мелко.
Посмотреть вложение 89472
Или, если через XDAT Editor, у txtExpBarPCValue изменить size_absolute_width с 70, на 85, все влезает, только наползает уже на иконку "PC Cafe" (это когда "таймер" есть в конце, если/когда пропадает, то все норм).
Посмотреть вложение 89473

Убрать бы появление этого "таймера" в конце, но я не понимаю что это/зачем оно и как его убрать o_O
ну а ширину самого поля на котором иконка и текст сделать чуть больше не пробовал что бы не залезало?

спешу предположить что вот эту строку в ExpBarWnd.uc нужно закоментировать
C-подобный:
        FullPointText = FullPointText $ " [" $ GetFormattedTimeStrMMHH(nDailyHour, nDailyMin) $ "]";
 
Последнее редактирование:
спешу предположить что вот эту строку в ExpBarWnd.uc нужно закоментировать
C-подобный:
        FullPointText = FullPointText $ " [" $ GetFormattedTimeStrMMHH(nDailyHour, nDailyMin) $ "]";

Гениально!
Больше нет никаких "приписок сзади", все ровно как надо, проверил. Аллилуйя!
Правда так и не понял смысла этой приблуды ("таймера" в конце), ну да и хрен с ним.

Большое спасибо за помощь! (y)
 
просто надо узнать что за DailyPoint шлется с сервера, на птс такого не встречал
Код:
    ParseInt( a_Param, "DailyPoint", m_DailyPoint);        //CT26P4_0323
  
    FullPointText = MakeCostString(String(PCCafeTotalPoint));

    //CT26P4_0323
    if (m_DailyPoint > 0)    // idk??
    {
        nDailyMin = m_DailyPoint / 20;
        nDailyHour = nDailyMin / 60;
        nDailyMin = nDailyMin - nDailyHour * 60;
        FullPointText = FullPointText $ " [" $ GetFormattedTimeStrMMHH(nDailyHour, nDailyMin) $ "]";
    }
 
просто надо узнать что за DailyPoint шлется с сервера, на птс такого не встречал

Ну это выше моих познаний (в этом всем).

Нашел у себя в конфигах - "Кол-во начисляемых PC очков при входе в игру 1 раз в сутки".

А еще, на каком-то другом сервере, помню уже плохо, было (кроме обычных PC очков) что-то типа начисления бонусных PC очков в какой-то заданный промежуток времени или типа того...

Может "таймер" в конце, в идеале, должен был показывать время до следующего начисления бонусных PC очков? Не знаю, просто гадаю на гуще. Ну и, скорей всего, мой кривой сервер неправильно отправляет запрос и "таймер" работает не так или не работает вовсе.

Просто в оригинальном интерфейсе HF (хотя кто им сейчас пользуется) неприлично огромное окошко для PC points. Там в этот "таймер" можно еще дни, недели, месяцы и годы запихать (и все поместится).

1761845989433.webp

А в нашем случае места не так много, так что нечего ему там болтаться и глаза мазолить :) (y)
 
Тоже попалась эта лабуда (что-то связанное с Рек-бонусами, сам толком пока не понял что это).

1761887329341.webp

Поковырял Interface.xdat через XDAT Editor. Не самое изящное решение, наверное, но вдруг кому-то пригодится.

Идем в Interface.xdat , закладка fonts и добавляем новый шрифт


Далее закладка windows , ищем SideBarWnd -> SideBarExpandWnd -> SideBarRecBonusWnd и находим там txtSecondText

В txtSecondText , в строке size_absolute_width меняем 40 на 42 , а еще в строке fontName меняем hs8stroke на hs7stroke.

Сохраняем Interface.xdat и запускаем игру. Стало мелковато, но зато можно понять что там написано "Истекло".

1761892006369.webp
 
Назад
Сверху Снизу