ToolTip.uc 166

Gaikokujin

Путник
Участник
Сообщения
57
Розыгрыши
0
Репутация
2
Реакции
1
Баллы
65
Хроники
  1. Prelude
  2. Helios
  3. Fafurion
Исходники
Присутствуют
Сборка
Tooltip code
Подскажите, пожалуйста, как можно добавить в тултип дополнительную строку с иконкой, чтобы заголовок «Augmentation Effects» отображался вместе с иконкой слева на одной линии, как показано на скриншоте.
Буду очень признателен за помощь.



Код:
function AddTooltipRefinery(ItemInfo item)
{
    local string strDesc1, strDesc2, strDesc3;
    local int ColorR, ColorG, ColorB, Quality;

    if (item.RefineryOp1 != 0 || item.RefineryOp2 != 0)
    {
        AddTooltipItemBlank(2);

        // [Refinery]
        // AddSectionTitleBoader();
        AddTooltipItemOption(1490, "", true, false, false);
        SetTooltipItemColor(255, 255, 255, 0);
        AddTooltipItemBlank(2);

        // Choose initial color by option quality depending on slot type
        if (item.SlotBitType == 8192)
        {
            Quality = class'UIDATA_REFINERYOPTION'.static.GetQuality(item.RefineryOp1);
            GetRefineryColor(Quality, ColorR, ColorG, ColorB);
        }
        else
        {
            Quality = class'UIDATA_REFINERYOPTION'.static.GetQuality(item.RefineryOp2);
            GetRefineryColor(Quality, ColorR, ColorG, ColorB);
        }

        if (item.RefineryOp1 != 0)
        {
            strDesc1 = "";
            strDesc2 = "";
            strDesc3 = "";

            if (class'UIDATA_REFINERYOPTION'.static.GetOptionDescription(item.RefineryOp1, strDesc1, strDesc2, strDesc3))
            {
                if (Len(strDesc1) > 0)
                {
                    AddTooltipColorText(strDesc1, getColor(ColorR, ColorG, ColorB, 255), true, false, false);
                }
                if (Len(strDesc2) > 0)
                {
                    AddTooltipColorText(strDesc2, getColor(ColorR, ColorG, ColorB, 255), true, false, false);
                }
                if (Len(strDesc3) > 0)
                {
                    AddTooltipColorText(strDesc3, getColor(ColorR, ColorG, ColorB, 255), true, false, false);
                }
            }
        }

        // If needed, switch color to match the second option
        if (item.SlotBitType == 8192)
        {
            Quality = class'UIDATA_REFINERYOPTION'.static.GetQuality(item.RefineryOp2);
            GetRefineryColor(Quality, ColorR, ColorG, ColorB);
        }

        if (item.RefineryOp2 != 0)
        {
            strDesc1 = "";
            strDesc2 = "";
            strDesc3 = "";

            if (class'UIDATA_REFINERYOPTION'.static.GetOptionDescription(item.RefineryOp2, strDesc1, strDesc2, strDesc3))
            {
                if (Len(strDesc1) > 0)
                {
                    AddTooltipColorText(strDesc1, getColor(ColorR, ColorG, ColorB, 255), true, false, false);
                }
                if (Len(strDesc2) > 0)
                {
                    AddTooltipColorText(strDesc2, getColor(ColorR, ColorG, ColorB, 255), true, false, false);
                }
                if (Len(strDesc3) > 0)
                {
                    AddTooltipColorText(strDesc3, getColor(ColorR, ColorG, ColorB, 255), true, false, false);
                }
            }
        }

        // Extra line for non-Classic servers (and non-8192 slot)
        if (!getInstanceUIData().getIsClassicServer() && item.SlotBitType != 8192)
        {
            AddTooltipItemOption(1491, "", true, false, false);
            SetTooltipItemColor(ColorR, ColorG, ColorB, 0);
        }

        AddTooltipItemBlank(2);
    }
}
 

Вложения

  • bgaug.webp
    bgaug.webp
    19,2 КБ · Просмотры: 65
Решение
Код:
AddTitleIconWithHeadLine("L2UI_NewTex.Tooltip.TooltipICON_Refinery_small", "Augmentation Effects");



function AddTitleIconWithHeadLine(string Icontex, string titleStr, optional bool bDoNotAddBlank)
{
    AddTooltipItemBlank(4);
    addTooltipTextureSplitLineType("L2UI_NewTex.Tooltip.TooltipLine_DetailTitleBG", 1, 25, 0, 0, 0, 0);
    if( Icontex != "" )
    {
        addTooltipTexture(Icontex, 18, 18, 0, 0, False, False, 1, 2);
    }
    AddTooltipColorText(titleStr, getInstanceL2Util().Gold, False, True, False, "", 4, 4);
    if( bDoNotAddBlank == False )
    {
        AddTooltipItemBlank(4);
    }
}
function addTooltipTextureSplitLineType(string Texture, int Width, int Height, int uWidth, int uHeight, optional int OffsetX...
Код:
AddTitleIconWithHeadLine("L2UI_NewTex.Tooltip.TooltipICON_Refinery_small", "Augmentation Effects");



function AddTitleIconWithHeadLine(string Icontex, string titleStr, optional bool bDoNotAddBlank)
{
    AddTooltipItemBlank(4);
    addTooltipTextureSplitLineType("L2UI_NewTex.Tooltip.TooltipLine_DetailTitleBG", 1, 25, 0, 0, 0, 0);
    if( Icontex != "" )
    {
        addTooltipTexture(Icontex, 18, 18, 0, 0, False, False, 1, 2);
    }
    AddTooltipColorText(titleStr, getInstanceL2Util().Gold, False, True, False, "", 4, 4);
    if( bDoNotAddBlank == False )
    {
        AddTooltipItemBlank(4);
    }
}
function addTooltipTextureSplitLineType(string Texture, int Width, int Height, int uWidth, int uHeight, optional int OffsetX, optional int OffsetY)
{
    StartItem();
    m_Info.eType = DIT_SPLITLINE;
    m_Info.t_bDrawOneLine = True;
    m_Info.bLineBreak = False;
    m_Info.u_nTextureWidth = Width;
    m_Info.u_nTextureHeight = Height;
    m_Info.nOffSetX = OffsetX;
    m_Info.nOffSetY = OffsetY;
    m_Info.u_nTextureUWidth = uWidth;
    m_Info.u_nTextureUHeight = uHeight;
    m_Info.u_strTexture = Texture;
    EndItem();
}



So just replace this:
AddTooltipItemOption(1490, "", true, false, false);
with this:
AddTitleIconWithHeadLine("L2UI_NewTex.Tooltip.TooltipICON_Refinery_small", "Augmentation Effects");
 
Решение
Код:
AddTitleIconWithHeadLine("L2UI_NewTex.Tooltip.TooltipICON_Refinery_small", "Augmentation Effects");



function AddTitleIconWithHeadLine(string Icontex, string titleStr, optional bool bDoNotAddBlank)
{
    AddTooltipItemBlank(4);
    addTooltipTextureSplitLineType("L2UI_NewTex.Tooltip.TooltipLine_DetailTitleBG", 1, 25, 0, 0, 0, 0);
    if( Icontex != "" )
    {
        addTooltipTexture(Icontex, 18, 18, 0, 0, False, False, 1, 2);
    }
    AddTooltipColorText(titleStr, getInstanceL2Util().Gold, False, True, False, "", 4, 4);
    if( bDoNotAddBlank == False )
    {
        AddTooltipItemBlank(4);
    }
}
function addTooltipTextureSplitLineType(string Texture, int Width, int Height, int uWidth, int uHeight, optional int OffsetX, optional int OffsetY)
{
    StartItem();
    m_Info.eType = DIT_SPLITLINE;
    m_Info.t_bDrawOneLine = True;
    m_Info.bLineBreak = False;
    m_Info.u_nTextureWidth = Width;
    m_Info.u_nTextureHeight = Height;
    m_Info.nOffSetX = OffsetX;
    m_Info.nOffSetY = OffsetY;
    m_Info.u_nTextureUWidth = uWidth;
    m_Info.u_nTextureUHeight = uHeight;
    m_Info.u_strTexture = Texture;
    EndItem();
}



So just replace this:
AddTooltipItemOption(1490, "", true, false, false);
with this:
AddTitleIconWithHeadLine("L2UI_NewTex.Tooltip.TooltipICON_Refinery_small", "Augmentation Effects");
thank you <3 1760205867740.webp
Can you tell me where I edit Soul Crystal?
 
Оверпостинг
Search for that SysString 3394 or the id from your system "<Soul Crystal Effect>"
Then in tooltip.uc find
"GetSystemString(3394)"
and replace the part with that

Код:
 AddTitleIconWithHeadLine("L2UI_NewTex.Tooltip.TooltipICON_EnSoul_small", GetSystemString(3394));
1760233809685.webp 1760233817892.webp
in toolpip no have id 3633 or 2978

function ReturnTooltip_NTT_EnsoulOptionList (string param, ETooltipSourceType eSourceType)
{
local EnsoulOptionUIInfo optionInfo;
local LVDataRecord record;
local int optionID;

if (eSourceType == NTST_LIST)
{
ParamToRecord( param, record );

optionID = record.LVDataList[0].nReserved2;

if (optionID > 0)
{
GetEnsoulOptionUIInfo(optionID, optionInfo);

addToolTipDrawList(m_Tooltip, addDrawItemTexture(optionInfo.IconPanelTex, false, false, 2));
addToolTipDrawList(m_Tooltip, addDrawItemTexture(optionInfo.IconTex, false, false, -16));
addToolTipDrawList(m_Tooltip, addDrawItemText("", getInstanceL2Util().White, "", false,,4,2));

if (optionInfo.OptionStep > 0)
{
addToolTipDrawList(m_Tooltip, addDrawItemText(MakeFullSystemMsg(GetSystemMessage(4347),
optionInfo.Name, string(optionInfo.OptionStep)),
getInstanceL2Util().White, "", false));
}
else

{
addToolTipDrawList(m_Tooltip, addDrawItemText(optionInfo.Name, getInstanceL2Util().White, "", false));
}

addToolTipDrawList(m_Tooltip, addDrawItemText(" : ", getInstanceL2Util().White , "", false));
addToolTipDrawList(m_Tooltip, addDrawItemText(optionInfo.desc, getInstanceL2Util().ColorDesc , "", false));
addToolTipDrawList(m_Tooltip, addDrawItemBlank(1));
}
else
{
addToolTipDrawList(m_Tooltip, addDrawItemText(record.LVDataList[0].szData, getInstanceL2Util().White, "", false,,4,2));
}
}
else
{
return;
}

ReturnTooltipInfo(m_Tooltip);
}


I found this function, is it here?
 
Последнее редактирование модератором:
You're right, I downloaded fafurion interface source and I can see that there's
Код:
function AddWeaponEnsoulOption(ItemInfo weaponInfo)
{
    local EnsoulOptionUIInfo optionInfo;
    local int i, n, cnt, optionID;
    local bool bUseTitle;
    if (weaponInfo.itemType != EItemType.ITEM_WEAPON) return;
    bUseTitle = true;
    // ��ȥ �ý��� ���� (2015-02-09 �߰�)
    for(i=EIST_NORMAL; i<EIST_MAX; i++)
    {
        cnt = weaponInfo.EnsoulOption[i - EIST_NORMAL].OptionArray.Length;
        for(n=EISI_START; n<EISI_START + cnt; n++)      
        {
            optionID = weaponInfo.EnsoulOption[i - EIST_NORMAL].OptionArray[n - EISI_START];
            // Debug("optionID--------------------->" @ optionID);
            if (optionID > 0)
            {
                if (bUseTitle)
                {
                    //�����
                    AddTooltipItemBlank(6);
                    AddCrossLine();
                    AddTooltipItemBlank(5);
                    
                    AddTooltipItemOption(3394, "", true, false, false);
                    SetTooltipItemColor(255, 255, 255, 0);
                    bUseTitle = false;
                }
                GetEnsoulOptionUIInfo(optionID, optionInfo);
                addToolTipDrawList(m_Tooltip, addDrawItemBlank(3));
                
                addToolTipDrawList(m_Tooltip, addDrawItemTexture(optionInfo.IconPanelTex, false, true, 2));
                addToolTipDrawList(m_Tooltip, addDrawItemTexture(optionInfo.IconTex, false, false, -16));
                addToolTipDrawList(m_Tooltip, addDrawItemText("", getInstanceL2Util().White, "", false,,4,2));
                //addToolTipDrawList(m_Tooltip, addDrawItemText(MakeFullSystemMsg(GetSystemMessage(4347), 
                //                                            optionInfo.Name, string(optionInfo.OptionStep)), 
                //                                            getInstanceL2Util().ColorYellow, "", false));
                if (optionInfo.OptionStep > 0)
                {
                    addToolTipDrawList(m_Tooltip, addDrawItemText(MakeFullSystemMsg(GetSystemMessage(4347), 
                                                                  optionInfo.Name, string(optionInfo.OptionStep)), 
                                                                  getInstanceL2Util().ColorYellow, "", false));
                }
                else
                {
                    addToolTipDrawList(m_Tooltip, addDrawItemText(optionInfo.Name, getInstanceL2Util().ColorYellow, "", false));
                }
                
                addToolTipDrawList(m_Tooltip, addDrawItemText(optionInfo.desc, getInstanceL2Util().ColorGray , "", true));
                addToolTipDrawList(m_Tooltip, addDrawItemBlank(3));
            }
        }
    }
}
So what you need to do
is to replace this :
Код:
 //�����
                    AddTooltipItemBlank(6);
                    AddCrossLine();
                    AddTooltipItemBlank(5);
                    
                    AddTooltipItemOption(3394, "", true, false, false);
                    SetTooltipItemColor(255, 255, 255, 0);
to
Код:
AddTooltipItemBlank(6);
AddTitleIconWithHeadLine("L2UI_NewTex.Tooltip.TooltipICON_EnSoul_small", GetSystemString(3394));
 
You're right, I downloaded fafurion interface source and I can see that there's
Код:
function AddWeaponEnsoulOption(ItemInfo weaponInfo)
{
    local EnsoulOptionUIInfo optionInfo;
    local int i, n, cnt, optionID;
    local bool bUseTitle;
    if (weaponInfo.itemType != EItemType.ITEM_WEAPON) return;
    bUseTitle = true;
    // ��ȥ �ý��� ���� (2015-02-09 �߰�)
    for(i=EIST_NORMAL; i<EIST_MAX; i++)
    {
        cnt = weaponInfo.EnsoulOption[i - EIST_NORMAL].OptionArray.Length;
        for(n=EISI_START; n<EISI_START + cnt; n++)     
        {
            optionID = weaponInfo.EnsoulOption[i - EIST_NORMAL].OptionArray[n - EISI_START];
            // Debug("optionID--------------------->" @ optionID);
            if (optionID > 0)
            {
                if (bUseTitle)
                {
                    //�����
                    AddTooltipItemBlank(6);
                    AddCrossLine();
                    AddTooltipItemBlank(5);
                   
                    AddTooltipItemOption(3394, "", true, false, false);
                    SetTooltipItemColor(255, 255, 255, 0);
                    bUseTitle = false;
                }
                GetEnsoulOptionUIInfo(optionID, optionInfo);
                addToolTipDrawList(m_Tooltip, addDrawItemBlank(3));
               
                addToolTipDrawList(m_Tooltip, addDrawItemTexture(optionInfo.IconPanelTex, false, true, 2));
                addToolTipDrawList(m_Tooltip, addDrawItemTexture(optionInfo.IconTex, false, false, -16));
                addToolTipDrawList(m_Tooltip, addDrawItemText("", getInstanceL2Util().White, "", false,,4,2));
                //addToolTipDrawList(m_Tooltip, addDrawItemText(MakeFullSystemMsg(GetSystemMessage(4347),
                //                                            optionInfo.Name, string(optionInfo.OptionStep)),
                //                                            getInstanceL2Util().ColorYellow, "", false));
                if (optionInfo.OptionStep > 0)
                {
                    addToolTipDrawList(m_Tooltip, addDrawItemText(MakeFullSystemMsg(GetSystemMessage(4347),
                                                                  optionInfo.Name, string(optionInfo.OptionStep)),
                                                                  getInstanceL2Util().ColorYellow, "", false));
                }
                else
                {
                    addToolTipDrawList(m_Tooltip, addDrawItemText(optionInfo.Name, getInstanceL2Util().ColorYellow, "", false));
                }
               
                addToolTipDrawList(m_Tooltip, addDrawItemText(optionInfo.desc, getInstanceL2Util().ColorGray , "", true));
                addToolTipDrawList(m_Tooltip, addDrawItemBlank(3));
            }
        }
    }
}
So what you need to do
is to replace this :
Код:
 //�����
                    AddTooltipItemBlank(6);
                    AddCrossLine();
                    AddTooltipItemBlank(5);
                   
                    AddTooltipItemOption(3394, "", true, false, false);
                    SetTooltipItemColor(255, 255, 255, 0);
to
Код:
AddTooltipItemBlank(6);
AddTitleIconWithHeadLine("L2UI_NewTex.Tooltip.TooltipICON_EnSoul_small", GetSystemString(3394));
\Interface\Classes\ToolTip.uc(5860) : Error, 'AddTitleIconWithHeadLine': Bad command or expression
Compile aborted due to errors.
Failure - 1 error(s), 0 warning(s)
 

Похожие темы

  • Вопрос Вопрос
Ответы
6
Просмотры
595
Hedgehog
Ответы
10
Просмотры
Ответы
9
Просмотры
Hedgehog
Ответы
18
Просмотры
Hedgehog
Назад
Сверху