if (TooltipType != "TaliList")
{
StartItem();
m_Info.eType = DIT_TEXTURE;
m_Info.nOffSetX = 0;
m_Info.nOffSetY = 1;
m_Info.bLineBreak = true;
m_Info.t_bDrawOneLine = true;
m_Info.u_nTextureWidth = 16;
m_Info.u_nTextureHeight = 16;
m_Info.u_nTextureUWidth = 16;
m_Info.u_nTextureUHeight = 16;
m_Info.u_strTexture = "L2UI_CT2.Frames.ToolTip.TooltipICON_Refinery_small";
EndItem();
StartItem();
m_Info.eType = DIT_TEXTURE;
m_Info.nOffSetX = 0;
m_Info.nOffSetY = 1;
m_Info.bLineBreak = true;
m_Info.t_bDrawOneLine = true;
m_Info.u_nTextureWidth = 400;
m_Info.u_nTextureHeight = 40;
m_Info.u_nTextureUHeight = 40;
m_Info.u_strTexture = "L2UI_CT2.Frames.ToolTip.TooltipLine_BasicIconBG";
EndItem();
StartItem();
m_Info.nOffSetX = 4;
m_Info.nOffSetY = 3;
m_Info.t_color.R = 178;
m_Info.t_color.G = 190;
m_Info.t_color.B = 207;
m_Info.t_color.A = 255;
m_Info.eType = DIT_TEXT;
m_Info.t_strText = MakeCostString(string(Item.ID.ClassID));
EndItem();
}
Тултипы это крайне сложно для объяснения, так что лучший вариант - реально метод тыка.
Да, у меня это есть, я в тултипах не нашел там ничего либо не увидел.
// 1. WEAPON
case ITEM_WEAPON:
//Slot Type
//strTmp = GetWeaponTypeString(Item.WeaponType);
//if (Len(strTmp)>0)
//{
// AddTooltipItemOption(0, strTmp $ " / " $ SlotString, false, true, false);
//}
//빈공간
//AddTooltipItemBlank(6);
//"[무기 제원]"
//AddTooltipItemOption(1489, "", true, false, false);
// SetTooltipItemColor(255, 255, 255, 0);
//setTooltipItemInfo( ItemValue, item, eItemType );
//Physical Damage
//AddTooltipItemOption(94, String(GetPhysicalDamage(Item.WeaponType, Item.SlotBitType, Item.CrystalType, Item.Enchanted, Item.pAttack, Item.Attribution)), true, true, false);
//공격력(:10)
if( rValue.PhysicalDamage != 0 )
{
AddTooltipItemOption( 94, string( GetPhysicalDamage(Item.WeaponType, Item.SlotBitType, Item.CrystalType, Item.Enchanted, Item.pAttack, Item.Attribution) + rValue.PhysicalDamage),
true, true, false, "chatFontSize12", 0, 0, getInstanceL2Util().BrightWhite, getInstanceL2Util().ColorYellow);
// (50 + 54) <-- (기본공격력 + 인챈트보너스공격력)
AddTooltipItemBonus(Item.pAttack, nEnchantedPhysicalDamageBonus, 0, 7);
}
else
{
//공격력[물리 데미지]
if( Item.pAttack != 0 )
{
AddTooltipItemOption(94, string( GetPhysicalDamage(Item.WeaponType, Item.SlotBitType, Item.CrystalType, Item.Enchanted, Item.pAttack, Item.Attribution) ), true, true, false, "chatFontSize12",0,0,getInstanceL2Util().BrightWhite, getInstanceL2Util().ColorYellow);
// (50 + 54) <-- (기본공격력 + 인챈트보너스공격력)
AddTooltipItemBonus(Item.pAttack, nEnchantedPhysicalDamageBonus, 0, 7);
}
}
//Masical Damage
//AddTooltipItemOption(98, String(GetMagicalDamage(Item.WeaponType, Item.SlotBitType, Item.CrystalType, Item.Enchanted, Item.mAttack, Item.Attribution)), true, true, false);
//마법 공격력( : 10 )
if( rValue.MagicalDamage != 0 )
{
//AddTooltipItemOption( 98, string( Item.mAttack + rValue.MagicalDamage ), true, true, false);
AddTooltipItemOption( 98, string( GetMagicalDamage(Item.WeaponType, Item.SlotBitType, Item.CrystalType,
Item.Enchanted, Item.mAttack, Item.Attribution) + rValue.MagicalDamage ), true, true, false, "chatFontSize12",0,0,getInstanceL2Util().BrightWhite, getInstanceL2Util().ColorYellow);
AddTooltipItemBonus(Item.mAttack, nEnchantedMagicalDamageBonus, 0, 7);
}
else
{
//마법력[마법 데이지]
if( Item.mAttack != 0 )
{
AddTooltipItemOption(98, string( GetMagicalDamage(Item.WeaponType, Item.SlotBitType, Item.CrystalType, Item.Enchanted, Item.mAttack, Item.Attribution) ), true, true, false, "chatFontSize12",0,0,getInstanceL2Util().BrightWhite, getInstanceL2Util().ColorYellow);
AddTooltipItemBonus(Item.mAttack, nEnchantedMagicalDamageBonus, 0, 7);
}
}
//Attack Speed
AddTooltipItemOption(111, GetAttackSpeedString(Item.pAttackSpeed), true, true, false);
//추가!!!!!!!!!!!!!!!!!!
//방어력[물리방어]
if( Item.pDefense > 0 )
{
AddTooltipItemOption(54, string( Item.pDefense ), true, true, false, "chatFontSize12",0, 0, getInstanceL2Util().BrightWhite, getInstanceL2Util().ColorYellow);
}
//마법방어[마법저항]
if( Item.mDefense > 0 )
{
AddTooltipItemOption(99, string( Item.mDefense ), true, true, false);
}
//명중
if( Item.pHitRate + rValue.PhysicalHitRate != 0 )
AddTooltipItemOption(96, string( Item.pHitRate + rValue.PhysicalHitRate ), true, true, false);
//물리명중
//AddTooltipItemOption(2360, string( Item.pHitRate + rValue.PhysicalHitRate ), true, true, false);
//크리티컬
if( Item.pCriRate + rValue.PhysicalCriRate > 0 )
AddTooltipItemOption(113, string( Item.pCriRate + rValue.PhysicalCriRate ), true, true, false);
//물리크리티컬
//AddTooltipItemOption(2362, string( Item.pCriRate + rValue.PhysicalCriRate ), true, true, false);
//이동속도
if( Item.MoveSpeed + rValue.MoveSpeed != 0 )
AddTooltipItemOption(432, string( Item.MoveSpeed + rValue.MoveSpeed ), true, true, false);
//방어력(방패)
if( Item.ShieldDefense > 0 )
{
AddTooltipItemOption(95, string( Item.ShieldDefense ), true, true, false, "chatFontSize12",0,0,getInstanceL2Util().BrightWhite, getInstanceL2Util().ColorYellow);
}
//방어성공
if( Item.ShieldDefenseRate > 0 )
AddTooltipItemOption(317, string( Item.ShieldDefenseRate ), true, true, false);
//물리회피
if( Item.pAvoid + rValue.PhysicalAvoid > 0 )
AddTooltipItemOption(2361, string( Item.pAvoid + rValue.PhysicalAvoid ), true, true, false);
//마법회피
if( Item.mAvoid + rValue.MagicalAvoid > 0 )
AddTooltipItemOption(2364, string( Item.mAvoid + rValue.MagicalAvoid ), true, true, false);
//TTP 48614로 제거.
//공격속도[물리공격속도]
//if( Item.pAttackSpeed + rValue.PhysicalAttackSpeed > 0 )
// AddTooltipItemOption(111, string( Item.pAttackSpeed + rValue.PhysicalAttackSpeed ), true, true, false);
//마법적중[마법명중]
//if( Item.mHitRate + rValue.MagicalHitRate > 0 )
// AddTooltipItemOption(2363, string( Item.mHitRate + rValue.MagicalHitRate ), true, true, false);
//마법크리티컬
//if( Item.mCriRate + rValue.MagicalCriRate > 0 )
// AddTooltipItemOption(2365, string( Item.mCriRate ), true, true, false);
//마법속도[마법공격속도]
if( Item.mAttackSpeed + rValue.MagicalAttackSpeed > 0 )
AddTooltipItemOption(112, string( Item.mAttackSpeed + rValue.MagicalAttackSpeed ), true, true, false);
// 마법 무기인가?
bMagicWeapon = class'UIDATA_ITEM'.static.IsMagicWeapon(Item.ID);
//SoulShot Count, 정령탄소모
if (Item.SoulshotCount>0) AddTooltipItemOption(404, "X" $ String(Item.SoulshotCount), true, true, false);
//SpiritShot Count, 마정탄소모
if (Item.SpiritShotCount>0) AddTooltipItemOption(496, "X" $ String(Item.SpiritshotCount), true, true, false);
//if ((Item.SoulshotCount>0 || Item.SpiritShotCount>0 ) && !getInstanceUIData().getIsClassicServer() )
if ((Item.SoulshotCount>0 || Item.SpiritShotCount>0 ))
{
// 정령탄 증폭 효과 수치(float)
fSoulShotPower = GetSoulShotPower(Item.CrystalType, Item.Enchanted, Item.weaponType, bMagicWeapon);
// 마정탄 증폭 효과 수치(float)
fSpiritShotPower = GetSpiritShotPower(Item.CrystalType, Item.Enchanted, Item.weaponType, bMagicWeapon);
// 정령탄, 마정탄 추가 대미지가 같다면 하나로 표현
if (fSoulShotPower == fSpiritShotPower)
{
// 0이면 기본칼라, 0보다 크면 강조
if (fSoulShotPower > 0)
{
AddTooltipItemBlank(TOOLTIP_LINE_HGAP);
AddTooltipColorText(GetSystemMessage(4297) $ " : ", getColor(163, 163, 163, 255), true, true);
AddTooltipColorText("+" $ string(fSoulShotPower) $ "%", getColor(238, 170, 34, 255), false, true);
}
}
// 정령탄, 마정탄 추가 대미지가 다르면 1.4%, 3% "," 로 구분해서..
else
{
AddTooltipItemBlank(TOOLTIP_LINE_HGAP);
AddTooltipColorText(GetSystemMessage(4297) $ " : ", getColor(163, 163, 163, 255), true, true);
AddTooltipColorText("+" $ string(fSoulShotPower) $ "%" $ ", " $ string(fSpiritShotPower) $ "%", getColor(238, 170, 34, 255), false, true);
}
}
//Weight
if (Item.Weight==0)
AddTooltipItemOption(52, " 0 ", true, true, false);
else
AddTooltipItemOption(52, String(Item.Weight), true, true, false);
//AddTooltipItemOption(52, String(Item.Weight), true, true, false);
//MP Consume
if (Item.MpConsume != 0)
{
AddTooltipItemOption(320, String(Item.MpConsume), true, true, false);
}
//제련효과 설명
AddTooltipRefinery(Item);
break;
ну так разве мне для внедрения изображение в тутлип веапона не между строк надо свтавлять её?Hedgehog, да ведь Вы же смотрите на оружие, какие там сетовые бонусы.
Найдите "function addSetitemTooltip( ItemInfo Item )", присмотритесь там.
Да, кстати, решить вопрос с хдат - нет, не выйдет, тултипы там не живут.
//세트 아이템.
function addSetitemTooltip( ItemInfo Item )
{
local int i;
local int j;
local string strTmp;
local ItemID tmpItemID;
local int SetID;
//총 세트 아이템 개수
local int totalNum;
local bool IsSigil;
local ItemInfo tmpInfo;
//아이템인지 확인.
if( IsValidItemID(Item.ID) )
{
SetItemLineInsert( Item.ID, 0 );
AddTooltipItemBlank(4);
//AddCrossLine();
//TOOLTIP_SETITEM_MAX 총 3종류의 setitem이 존재 함.
//0 -> 5세트로 만들어진 아이템 (헬멧, 각반, 흉갑, 건틀렛, 부츠)
//1 -> 쉴드, 시길이 추가된 세트
//2 -> ?? 있는지 모름. 나중을 위해 만들어진듯.
for ( i = 0; i < TOOLTIP_SETITEM_MAX ; i++ )
{
//세트아이템 리스트
//GetSetItemNum 각 셋트 아이템의 개수.
for ( SetID = 0 ; SetID < class'UIDATA_ITEM'.static.GetSetItemNum(Item.ID, i) ; SetID++ ) //0,1,2번 세트아이템효과 에 대해서 각각 몇가지의 세트가 완비되야하나..
{
tmpItemID.classID = class'UIDATA_ITEM'.static.GetSetItemFirstID( Item.ID, i, SetID );
//세트아이템의 종류 추가 및 작용한 세트 아이템 클라이언트에서 확인.
if (tmpItemID.classID > 0)
{
strTmp = class'UIDATA_ITEM'.static.GetItemName(tmpItemID);
class'UIDATA_ITEM'.static.GetItemInfo( tmpItemID, tmpInfo );
//AddTooltipItemBlank(1);
addItemIconSmallType(tmpInfo, "");
StartItem();
m_Info.eType = DIT_TEXT;
//m_Info.nOffSetY = TOOLTIP_LINE_HGAP;
m_Info.nOffSetY = 4;
m_Info.bLineBreak = false;
m_Info.t_bDrawOneLine = false;
SetTooltipTextColor( 100, 100, 65, 255 );
//0 -> 5세트로 만들어진 아이템 (헬멧, 각반, 흉갑, 건틀렛, 부츠)
if( i == 0 )
{
//m_Info.t_strText = "- "$strTmp;
m_Info.t_strText = " "$strTmp;
ParamAdd(m_info.Condition, "SetItemNum", string(i));
ParamAdd(m_Info.Condition, "Type", "Equip");
ParamAddItemID(m_Info.Condition, Item.ID);
ParamAdd(m_Info.Condition, "CurTypeID", string(SetID)); //비교할 아이템의 Type 예(0번:흉갑 1번:각반 2번:헬멧 3번:팔 4번 다리 ..ItemName.txt에 들어있는순서
ParamAdd(m_Info.Condition, "NormalColor", "100,100,65");
ParamAdd(m_Info.Condition, "EnableColor", "255,250,160");
totalNum = SetID;
}
//1 -> 쉴드, 시길이 추가된 세트
else if( i == 1 )
{
m_Info.t_strText = "- (+) "$strTmp;
ParamAdd(m_info.Condition, "SetItemNum", string(i));
ParamAdd(m_Info.Condition, "Type", "Equip");
ParamAddItemID(m_Info.Condition, Item.ID);
ParamAdd(m_Info.Condition, "CurTypeID", string(SetID)); //비교할 아이템의 Type 예(0번:흉갑 1번:각반 2번:헬멧 3번:팔 4번 다리 ..ItemName.txt에 들어있는순서
ParamAdd(m_Info.Condition, "NormalColor", "100,70,0");
ParamAdd(m_Info.Condition, "EnableColor", "255,180,0");
IsSigil = IsSigilArmor(tmpItemID);
}
EndItem();
AddTooltipItemBlank(1);
}
}
}
for ( i = 0; i < TOOLTIP_SETITEM_MAX ; i++ )
{
//셋트효과
for( j = 0; j < class'UIDATA_ITEM'.static.GetSetItemPeaceEffectNum( Item.ID, i ) ; j++ )
{
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = TOOLTIP_LINE_HGAP;
m_Info.bLineBreak = true;
m_Info.t_bDrawOneLine = true;
SetTooltipTextColor( 100, 70, 0, 255 );
//0 -> 5세트로 만들어진 아이템 (헬멧, 각반, 흉갑, 건틀렛, 부츠)
if( i == 0 )
{
m_Info.t_strText = string( j+2 ) $ GetSystemString(2345) $ " : ";
}
//1 -> 쉴드, 시길이 추가된 세트
else if( i == 1 )
{
//branch 110824
if( IsSigil == true )
{
m_Info.t_strText = string( totalNum + 1 ) $ GetSystemString(2345)$ "+" $ GetSystemString(1987) $ ": ";
}
else
{
m_Info.t_strText = string( totalNum + 1 ) $ GetSystemString(2345)$ "+" $ GetSystemString(2346) $ ": ";
}
//end of branch
}
ParamAdd(m_Info.Condition, "Type", "SetEffect");
ParamAddItemID(m_Info.Condition, Item.ID);
ParamAdd(m_Info.Condition, "EffectID", string(i));
ParamAdd(m_Info.Condition, "SetEffectIndex", String(j));
ParamAdd(m_Info.Condition, "NormalColor", "100,70,0");
ParamAdd(m_Info.Condition, "EnableColor", "255,180,0");
EndItem();
strTmp = class'UIDATA_ITEM'.static.GetSetItemPeaceEffectDescription( Item.ID, i, j );
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = TOOLTIP_LINE_HGAP;
SetTooltipTextColor( 68, 68, 68, 255 );
m_Info.t_strText = strTmp;
ParamAdd(m_Info.Condition, "Type", "SetEffect");
ParamAddItemID(m_Info.Condition, Item.ID);
ParamAdd(m_Info.Condition, "EffectID", String(i));
ParamAdd(m_Info.Condition, "SetEffectIndex", String(j));
ParamAdd(m_Info.Condition, "NormalColor", "68,68,68");
ParamAdd(m_Info.Condition, "EnableColor", "170,170,170");
EndItem();
}
}
for( j = 0; j < class'UIDATA_ITEM'.static.GetItemSetEnchantEffectNum( Item.ID ) ; j++ )
{
//인첸트 셋트효과
strTmp = class'UIDATA_ITEM'.static.GetSetItemEnchantEffectDescription(Item.ID, j);
if (Len(strTmp) > 0)
{
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = TOOLTIP_LINE_HGAP;
m_Info.bLineBreak = true;
m_Info.t_color.R = 110;
m_Info.t_color.G = 140;
m_Info.t_color.B = 170;
m_Info.t_color.A = 255;
m_Info.t_strText = strTmp;
ParamAdd(m_Info.Condition, "Type", "EnchantEffect");
ParamAddItemID(m_Info.Condition, Item.ID);
ParamAdd(m_Info.Condition, "NormalColor", "74,92,104");
ParamAdd(m_Info.Condition, "EnableColor", "110,140,170");
ParamAdd(m_Info.Condition, "SetEnchantEffectIndex", string(j)); //추가됨 2013.01.23 정우균
EndItem();
}
}
}
}
function SetItemLineInsert( ItemID id, int setID )
{
//세트 아이템인지 확인..
if( class'UIDATA_ITEM'.static.GetSetItemPeaceEffectNum( Id, setID ) != 0 )
{
// Debug( string ( class'UIDATA_ITEM'.static.GetSetItemPeaceEffectNum( Id, setID ) ) );
BSetItem = true;
//AddSectionTitleBoader();
//AddTooltipItemBlank(1);
////AddTooltipItemOption(2347, "", true, false, false,"", 0, -24);
//AddTooltipColorText(GetSystemString(2347), getColor(163, 163, 163, 255), true, true, false, "", 0, -24);
//SetTooltipItemColor(255, 255, 255, 0);
//AddTooltipItemBlank(1);
AddCrossLine();
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = TOOLTIP_LINE_HGAP;
m_Info.bLineBreak = true;
m_Info.t_bDrawOneLine = true;
m_Info.t_strText = GetSystemString(2347);
SetTooltipTextColor( 230, 230, 230, 255 );
EndItem();
}
else
{
BSetItem = false;
}
}
/**
* 혈맹전쟁 용
* 초를 넣어서 1일/11:33 같은 스트링 타입으로 반환
**/
function string getSecToDateStr(int sec, bool onlyDayFlag)
{
// 86400
// 1109
local string returnStr;
local int remainSec;
local int m_timeDay;
local int m_timeHour;
local int m_timeMin;
//local int m_timeSec;
// (일 day)
m_timeDay = sec / 86400;
remainSec = sec % 86400;
m_timeHour = (remainSec / 60 / 60); // 시
m_timeMin = (remainSec / 60) % 60; // 분
// m_timeSec = remainSec % 60; // 초
// debug(" m_timeHour : " $ m_timeHour $ "m_timeMin : " $ m_timeMin$ "m_timeSec : " $ m_timeSec);
returnStr = "";
if (m_timeDay > 0)
{
returnStr = String(m_timeDay) $ GetSystemString(1109); // $ "/";
}
if (onlyDayFlag == false)
{
// 일 day 이 없다면 / 을 해주지 않는다.
if (returnStr != "") returnStr = returnStr $ "/";
// 시를 그려준다.
if(m_timeHour > 0)
{
if (m_timeHour < 10 ) returnStr = returnStr $ "0" $ string( m_timeHour );
else returnStr = returnStr $ string( m_timeHour );
}
else
{
returnStr = returnStr $ "00";
}
// 분
if(m_timeMin > 0)
{
if (m_timeMin < 10 ) returnStr = returnStr $ ":0" $ string( m_timeMin );
else returnStr = returnStr $ ":" $ string( m_timeMin );
}
else
{
returnStr = returnStr $ ":00";
}
}
return returnStr;
}
/**
* 전쟁 상태에 따른 스트링 리턴
* 0, 1, 2, 3, 4 (매우열세, 열세, 대응, 우세, 매우강세)
**/
function string getWarSituationString(int warSituation)
{
local string returnStr;
switch (warSituation)
{
case 0 : returnStr = returnStr $ GetSystemString(2355); break;
case 1 : returnStr = returnStr $ GetSystemString(2354); break;
case 2 : returnStr = returnStr $ GetSystemString(2353); break;
case 3 : returnStr = returnStr $ GetSystemString(2352); break;
case 4 : returnStr = returnStr $ GetSystemString(2351); break;
}
return returnStr;
}
//----------------------------------------------------------------------------------------------------------------------------------------------------
// 툴팁 조건 검사 함수들 모음
//----------------------------------------------------------------------------------------------------------------------------------------------------
function bool IsEnchantableItem(EItemParamType Type)
{
return (Type == ITEMP_WEAPON || Type == ITEMP_ARMOR || Type == ITEMP_ACCESSARY || Type == ITEMP_SHIELD);
}
//----------------------------------------------------------------------------------------------------------------------------------------------------
// 툴팁 생성, 기본 함수 (가장 기본이 되는 것들만 넣을 것)
//----------------------------------------------------------------------------------------------------------------------------------------------------
function ClearTooltip()
{
m_Tooltip.SimpleLineCount = 0;
m_Tooltip.MinimumWidth = 0;
m_Tooltip.DrawList.Remove(0, m_Tooltip.DrawList.Length);
}
function StartItem()
{
local DrawItemInfo infoClear;
m_Info = infoClear;
}
function EndItem()
{
m_Tooltip.DrawList.Length = m_Tooltip.DrawList.Length + 1;
m_Tooltip.DrawList[m_Tooltip.DrawList.Length-1] = m_Info;
}
//툴팁 Text 색상 변경.
function SetTooltipTextColor( int R, int G, int B, int A )
{
m_Info.t_color.R = R;
m_Info.t_color.G = G;
m_Info.t_color.B = B;
m_Info.t_color.A = A;
}
//툴팁 Text
function SetTooltipText( string strDesc, bool bLineBreak, bool t_bDrawOneLine, optional bool isFirstLine)
{
m_Info.eType = DIT_TEXT;
if (!isFirstLine) m_Info.nOffSetY = TOOLTIP_LINE_HGAP;
m_Info.t_strText = strDesc;
m_Info.bLineBreak = bLineBreak;
m_Info.t_bDrawOneLine = t_bDrawOneLine;
}
В том то и дело, топчусь на месте, но мне принципиально нужно сделать ээто самому а не заказать и тд. Так как я начал познавать всё это с 0 хочеться и самому это делать, ну как минимум своими руками по гайдам/советам/подсказкам но своими. Чтобы потом в случае чего я мог править то что уже сделал. Ну методом тыка у меня получилось то что получилось, чтож, буду тыкать дальше.Hedgehog, ну вот там где прям addItemIconSmallType(tmpInfo, ""); идет вызов иконки и дальше текст. Проще всего действительно методом тыка всё переклацать в своем интерфейсе и смотреть что происходит, как default_npc и говорил, либо прям саливейшена интерфейс пересобирать и там ломать что-то, смотря, что теперь работать перестало. Тут просто мне видиться не очень много вариантов: Вы можете хотеть в этом разобраться и понимать как с этими тултипами обходиться и что-то менять - тогда всё еще верю в эффективность священного метода тыка, либо оно Вам не очень-то нужно, хочется чтобы просто работало как Вам нужно и не вникать в эти все тонкости, тогда Вы рискуете потратить много времени в пустую, я бы рекомендовал просто заказать нужную Вам реализацию и не топтаться на месте.
Да да, именно в этом я и хотел бы разобраться, это в каких-то книгах есть этому объяснение или это также методом тыка в данном случае узнаватьHedgehog, если цель научиться, понимать и принципиально делать самому, я бы еще советовал Вам ставить задачу не "прийти к какому-то результату", а прежде всего разобраться за что отвечает каждая строка, зачем используется bLineBreak, что такое nOffSet, и всё-всё, что сейчас не до конца понятно или вызывает сомнения.
Я по моему так делал уже, не помню. Ну щас ещё раз попробую )Hedgehog, может я мыслю наивно, но в данном случае, особенно с параметрами бул, которые могут быть только тру/фолс, куда проще скомпилить два раза и посмотреть что вышло.В большинстве случаев названия намекают на то что собой являют, "DrawOneLine", "LineBreak", но посмотреть как это на практике работает - лучше таки на практике. )
m_Info.bLineBreak = false;
m_Info.t_bDrawOneLine = false;
Да, так понятно что ничего не понятно, спасибо.Условно говоря пример как вложенные структуры, и в зависимости от одного параметра может показываться или скрываться другая часть параметров... поняно
StartItem();
m_Info.eType = DIT_TEXTURE;
m_Info.nOffSetY = 6;
m_Info.bLineBreak = true;
m_Info.t_bDrawOneLine = true;
m_Info.u_nTextureWidth = 160;
m_Info.u_nTextureHeight = 26;
m_Info.u_nTextureUWidth = 160;
m_Info.u_nTextureUHeight = 26;
m_Info.u_strTexture = "L2UI_CT1.Button.Button_DF_Click";
EndItem();
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.t_strText = GetSystemString(190) $ " : "$ ConvertNumToText(Int64ToString(GetAdena()));
m_Info.nOffSetY = 15;
m_Info.nOffSetX = -150;
EndItem();
По моему в этих хрониках уже есть бекграунд текстуры в структуре тултипа. Но если нужны под кастомные или специфические задачи - то это решение тоже канает.
По моему в этих хрониках уже есть бекграунд текстуры в структуре тултипа. Но если нужны под кастомные или специфические задачи - то это решение тоже канает.
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?