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

Интерфейс хф + исходники 0.638

Нет прав для скачивания
@Monokini2, подскажи пожалуйста как вернуть стандартное окно макросов или отключить открытие окна макросов при входе?
 

Monokini2
Hello, I have a beginner's question. How do I change the UI interface to another language?
 
@Ergos, ну вернуть это полностью откатить изменения в maccolistwnd в xdat / iterface.u
а отключить открытие попробуй в xdat галку на hidden поставить

@llcc333, подозреваю что необходимо иметь соответствующие локализованные .dat файлы и включить язык в localization.ini
чет такое
 
@Ergos, ну вернуть это полностью откатить изменения в maccolistwnd в xdat / iterface.u
а отключить открытие попробуй в xdat галку на hidden поставить

@llcc333, подозреваю что необходимо иметь соответствующие локализованные .dat файлы и включить язык в localization.ini
чет такое
не помогло :cautious:
 
разобрался, моя невнимательность.
Спасибо @Monokini2,
 
@Monokini2 В MultiSellWnd.uc есть баг, из-за которого при попытке купить больше 1 нестакаемого итема, процесс уходит в бесконечный луп, и пытается бесконечно покупать итемы.
Это происходит из-за того, что в функции OnTimer происходит сравнение счетчика со значением GlobalItemCount, которое выше по коду, при открытии страницы устанавливается в 1.

Код:
if (MultiSell == INT64ToInt(GlobalItemCount))

Я у себя пофиксил через буферную переменную, в которую сохраняю требуемое количество итемов и сравниваю уже с ней.
Вот готовый код функций OnTimer и HandleDialogOK. TargetItemCount необходимо объявить как INT64.

Код:
var INT64                    GlobalItemCount;
var INT64                    GlobalAvailable;
var string                    GlobalParam;
var INT64                    TargetItemCount;


unction HandleDialogOK()
{
    local string param;
    local int SelectedIndex;
    if( DialogIsMine() )
    {
        SelectedIndex = DialogGetReservedInt();
        if( SelectedIndex >= m_MultiSellInfoList.Length )
        {
            return;
        }
        
        if (StringToInt64(edt_ItemCountEdit.GetString()) <= IntToINT64(0))
        {
            return;
        }
        
        ParamAdd( param, "MultiSellGroupID",        string( m_MultiSellGroupID ) );
        ParamAdd( param, "MultiSellInfoID",         string( m_MultiSellInfoList[SelectedIndex].MultiSellInfoID ) );
        ParamAdd( param, "Enchant",                 string( m_MultiSellInfoList[SelectedIndex].ResultItemInfo.Enchanted ) );
        ParamAdd( param, "RefineryOp1",             string( m_MultiSellInfoList[SelectedIndex].ResultItemInfo.RefineryOp1 ) );
        ParamAdd( param, "RefineryOp2",             string( m_MultiSellInfoList[SelectedIndex].ResultItemInfo.RefineryOp2 ) );
        ParamAdd( param, "AttrAttackType",          string( m_MultiSellInfoList[SelectedIndex].ResultItemInfo.AttackAttributeType ) );
        ParamAdd( param, "AttrAttackValue",         string( m_MultiSellInfoList[SelectedIndex].ResultItemInfo.AttackAttributeValue ) );
        ParamAdd( param, "AttrDefenseValueFire",    string( m_MultiSellInfoList[SelectedIndex].ResultItemInfo.DefenseAttributeValueFire ) );
        ParamAdd( param, "AttrDefenseValueWater",   string( m_MultiSellInfoList[SelectedIndex].ResultItemInfo.DefenseAttributeValueWater ) );
        ParamAdd( param, "AttrDefenseValueWind",    string( m_MultiSellInfoList[SelectedIndex].ResultItemInfo.DefenseAttributeValueWind ) );
        ParamAdd( param, "AttrDefenseValueEarth",   string( m_MultiSellInfoList[SelectedIndex].ResultItemInfo.DefenseAttributeValueEarth ) );
        ParamAdd( param, "AttrDefenseValueHoly",    string( m_MultiSellInfoList[SelectedIndex].ResultItemInfo.DefenseAttributeValueHoly ) );
        ParamAdd( param, "AttrDefenseValueUnholy",  string( m_MultiSellInfoList[SelectedIndex].ResultItemInfo.DefenseAttributeValueUnholy ) );
        TargetItemCount = GlobalItemCount;
        if( m_MultiSellInfoList[SelectedIndex].MultiSellType == 0 )
        {
            edt_ItemCountEdit.DisableWindow();
            ParamAddINT64( param, "ItemCount",          IntToINT64(1) );
            GlobalParam = param;    
            MultiSell   = 0;    
            Me.SetTimer(6671,100);
        }
        else if( m_MultiSellInfoList[SelectedIndex].MultiSellType == 1 )
        {
            edt_ItemCountEdit.DisableWindow();
            ParamAddINT64( param, "ItemCount",          TargetItemCount );
            RequestMultiSellChoose( param );
            Me.SetTimer(6670,300);
        }   
    }
}

function OnTimer(int TimerID)
{

    if (TimerID == 6670)
    {
        OnSelectItemWithHandle( ItemList, m_nSelectedMultiSellInfoIndex);
        edt_ItemCountEdit.EnableWindow();
        Me.KillTimer(6670);
    }
    else if (TimerID == 6671)
    {
        if (TargetItemCount <= GlobalAvailable)
        {   
            RequestMultiSellChoose( GlobalParam );
            MultiSell = MultiSell +1;
            Me.KillTimer(6671);
        
            if (MultiSell == INT64ToInt(TargetItemCount))
            {
                Me.KillTimer(6671);
                Me.SetTimer(6670,300);
                MultiSell = 0;
            }
            else
                Me.SetTimer(6671,300);
        }
        else if (TargetItemCount > GlobalAvailable)
        {   
            RequestMultiSellChoose( GlobalParam );
            MultiSell = MultiSell +1;
            Me.KillTimer(6671);
            
            if (IntToINT64(MultiSell) == GlobalAvailable || GlobalAvailable == IntToINT64(0))
            {
                Me.KillTimer(6671);
                Me.SetTimer(6670,300);
                MultiSell = 0;
            }
            else
                Me.SetTimer(6671,300);
        }   
    }

}
 
@Aristo, это все делалось когда я крафтил соски и задолбался покупать блессинг бижу в люксоре, так что соррян :loltt0:
 
Не знаю куда написать, тему ради такого тоже жалко создавать, может кто подскажет:
как пофиксить периодическое съезжание на 2 пикселя вниз всех текстовых элементов дефолтного шрифта (tahoma 9px?) в интерфейсе клиента? Столкнулся с этим опять когда ковырял тултипы и там на появлении буквы "Й" все опускалось вниз, причем потом на вновь созданных тултипах даже без Й тоже все текстовые строки сдвинуты. да даже если просто в чат Й написать некоторые элементы едут
 

Вложения

  • Новый точечный рисунок (2).webp
    Новый точечный рисунок (2).webp
    1,7 КБ · Просмотры: 66
Не знаю куда написать, тему ради такого тоже жалко создавать, может кто подскажет:
как пофиксить периодическое съезжание на 2 пикселя вниз всех текстовых элементов дефолтного шрифта (tahoma 9px?) в интерфейсе клиента? Столкнулся с этим опять когда ковырял тултипы и там на появлении буквы "Й" все опускалось вниз, причем потом на вновь созданных тултипах даже без Й тоже все текстовые строки сдвинуты. да даже если просто в чат Й написать некоторые элементы едут
Сравни с оригиналом, там тоже tahoma. Но элементы все на месте, может какой параметр в xdat или в коде нужен дополнительно. ☕
 
@Maksim, может я непонятно написал) я вот про что, это и на дефолтном хф интерфейсе есть (ну текстуры только мои тут)

 
@Maksim, может я непонятно написал) я вот про что, это и на дефолтном хф интерфейсе есть (ну текстуры только мои тут)

Чет это походу у тебя какая-то борода с клиентом.
Я вот на твоем инте тестирую и нет проблемы такой.

 
@Aristo, чудеса прямо, надо чистые клиенты еще поискать
 
@Aristo, а можешь чекнуть какой нибудь тултип где идет подряд 2 строчки одна с длинными буквами (р, q , ) ) а другая без, добавляет ли он эти 3 пикселя в перенос

@Maksim, да у меня 10 лет клиент рпг клаба как основа лежит я и не думал, что какие то глюки могут быть
 
@Aristo, я про этот момент 10-13 пикселей
1721660778810.png
 
Назад
Сверху Снизу