amarhat Posted January 13, 2023 Posted January 13, 2023 Hi !ย Iย need to Add icon of item grades on H5 client , for example on weapongrp i noticed grades are numbers like 1,2,3,4,5 ... OKey I try to add 6,7,9 ( R GRADE ,etc)... I decompileย tooltip class of interface.u file ... but i dont understandย te code for add new grade. This is my Tooltipย The interface is essence for H5 I download here in MXย ย I already have the images in .utx of the degrees, but I don't know how to point everything... ย ) ย class Tooltip extends UICommonAPI; const TOOLTIP_MINIMUM_WIDTH = 144; const TOOLTIP_SETITEM_MAX = 3; const ATTRIBUTE_FIRE = 0; const ATTRIBUTE_WATER = 1; const ATTRIBUTE_WIND = 2; const ATTRIBUTE_EARTH = 3; const ATTRIBUTE_HOLY = 4; const ATTRIBUTE_UNHOLY = 5; var CustomTooltip m_Tooltip; var DrawItemInfo m_Info; var Array<int> AttackAttLevel; var Array<int> AttackAttCurrValue; var Array<int> AttackAttMaxValue; //๋ชจ๋ ๊ณต๊ฒฉ ์์ฑ์ ๋ ๋ฒจ, ํ์ฌ๋ ๋ฒจ์์์ ๊ฐ, ํ์ฌ๋ ๋ฒจ์์์ ์ต๋๊ฐ์ ์ฌ๊ธฐ์ ์ ์ฅํ๋ค. var Array<int> DefAttLevel; var Array<int> DefAttCurrValue; var Array<int> DefAttMaxValue; //๋ชจ๋ ๋ฐฉ์ด ์์ฑ์ ๋ ๋ฒจ, ํ์ฌ๋ ๋ฒจ์์์ ๊ฐ, ํ์ฌ๋ ๋ฒจ์์์ ์ต๋๊ฐ์ ์ฌ๊ธฐ์ ์ ์ฅํ๋ค. var int NowAttrLv; var int NowMaxValue; var int NowValue; var bool BoolSelect; var Color Red, Yellow, Bronze, Gray; function OnRegisterEvent() { RegisterEvent( EV_RequestTooltipInfo ); } function OnLoad() { BoolSelect = true; // ์์ปท ํดํ ์ผ๊ธฐ/๋๊ธฐ ๊ธฐ๋ณธ๊ฐ์ ์ผ๊ธฐ๋ก(TTP#41925) 2010.8.23 - winkey Red.R = 255; Red.G = 0; Red.B = 0; Red.A = 255; Yellow.R = 255; Yellow.G = 215; Yellow.B = 0; Yellow.A = 255; Bronze.R = 176; Bronze.G = 155; Bronze.B = 121; Bronze.A = 255; Gray.R = 163; Gray.G = 163; Gray.B = 163; Gray.A = 255; if(CREATE_ON_DEMAND==0) OnRegisterEvent(); } function OnEvent(int Event_ID, string param) { switch( Event_ID ) { case EV_RequestTooltipInfo: //debug("ํดํ์ด๋ฒคํธ ๋์ด์ค๋"); HandleRequestTooltipInfo(param); break; } } function setBoolSelect( bool b ) { BoolSelect = b; } function HandleRequestTooltipInfo(string param) { local String TooltipType; local int SourceType; local ETooltipSourceType eSourceType; ClearTooltip(); if (!ParseString(param, "TooltipType", TooltipType)) return; if (!ParseInt(param, "SourceType", SourceType)) return; eSourceType = ETooltipSourceType(SourceType); ////////////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////// Normal Tooltip ///////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////// //debug("Tooltipํ์ :"$TooltipType); if (TooltipType == "Text") { ReturnTooltip_NTT_TEXT(param, eSourceType, false); } else if (TooltipType == "Description") { ReturnTooltip_NTT_TEXT(param, eSourceType, true); } ////////////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////// ItemWnd Tooltip //////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////// else if (TooltipType == "Action") { ReturnTooltip_NTT_ACTION(param, eSourceType); } else if (TooltipType == "Skill") { ReturnTooltip_NTT_SKILL(param, eSourceType); } else if (TooltipType == "NormalItem") { ReturnTooltip_NTT_NORMALITEM(param, eSourceType); } else if (TooltipType == "Shortcut") { ReturnTooltip_NTT_SHORTCUT(param, eSourceType); } else if (TooltipType == "AbnormalStatus") { ReturnTooltip_NTT_ABNORMALSTATUS(param, eSourceType); } else if (TooltipType == "RecipeManufacture") { ReturnTooltip_NTT_RECIPE_MANUFACTURE(param, eSourceType); } else if (TooltipType == "RecipeManufactureBuy") { ReturnTooltip_NTT_RECIPE_MANUFACTUREBUY(param, eSourceType); } else if (TooltipType == "Recipe") { ReturnTooltip_NTT_RECIPE(param, eSourceType, false); } else if (TooltipType == "RecipePrice") { ReturnTooltip_NTT_RECIPE(param, eSourceType, true); } else if (TooltipType == "Inventory" || TooltipType == "InventoryPrice1" || TooltipType == "InventoryPrice2" || TooltipType == "InventoryPrice1HideEnchant" || TooltipType == "InventoryPrice1HideEnchantStackable" || TooltipType == "InventoryPrice2PrivateShop" || TooltipType == "InventoryWithIcon" || TooltipType == "InventoryPawnViewer" // PawnViewer์ฉ ์ถ๊ฐ - lancelot 2007. 10. 16. || TooltipType == "TaliList") { //~ debug("ํดํ๋ณด์ฌ์ฃผ์ธ์."); ReturnTooltip_NTT_ITEM(param, TooltipType, eSourceType); } ////////////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////// ListCtrl Tooltip /////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////// //์ ์ค ์์ (2010.02.22 ~ 03.08) ์๋ฃ else if ( TooltipType == "RoomList" ) { ReturnTooltip_NTT_ROOMLIST(param, eSourceType); } else if ( TooltipType == "UserList" ) { ReturnTooltip_NTT_USERLIST(param, eSourceType); } else if (TooltipType == "PartyMatch") { ReturnTooltip_NTT_PARTYMATCH(param, eSourceType); } else if (TooltipType == "UnionList") { ReturnTooltip_NTT_UNIONLIST(param, eSourceType); } else if (TooltipType == "QuestInfo") { ReturnTooltip_NTT_QUESTINFO(param, eSourceType); } else if (TooltipType == "QuestList") { ReturnTooltip_NTT_QUESTLIST(param, eSourceType); } else if (TooltipType == "RaidList") { ReturnTooltip_NTT_RAIDLIST(param, eSourceType); } else if (TooltipType == "ClanInfo") { ReturnTooltip_NTT_CLANINFO(param, eSourceType); } else if (TooltipType == "RadarInfo")//by Merc { ReturnTooltip_NTT_RADARINFO(param, eSourceType); } else if (TooltipType == "AutoSS")//by Monokini { ReturnTooltip_NTT_AUTOSSINFO(param, eSourceType); } else if (TooltipType == "RadarResize")//by Monokini { ReturnTooltip_NTT_RADARRESIZE(param, eSourceType); } //์ ์ค ์์ ( 10.03.30 ) ์๋ฃ //์ฐํธํจ์ ํดํ ์ถ๊ฐ. else if (TooltipType == "PostInfo") { ReturnTooltip_NTT_POSTINFO(param, eSourceType); } ///////////////////////////////////////////////////// // MANOR else if (TooltipType == "ManorSeedInfo" || TooltipType == "ManorCropInfo" || TooltipType == "ManorSeedSetting" || TooltipType == "ManorCropSetting" || TooltipType == "ManorDefaultInfo" || TooltipType == "ManorCropSell") { ReturnTooltip_NTT_MANOR(param, TooltipType, eSourceType); } // [ํ์คํธ ์์ดํ ํดํ ์ถ๊ฐ] else if (TooltipType == "QuestItem") { ReturnTooltip_NTT_QUESTREWARDS(param, eSourceType); } } 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 ReturnTooltip_NTT_TEXT(string param, ETooltipSourceType eSourceType, bool bDesc) { local string strText; local int ID; local int i; local int j; local array<int> QID; local UserInfo info; if (eSourceType == NTST_TEXT) { if (ParseString( param, "Text", strText)) { if (Len(strText)>0) { if (bDesc) { m_Tooltip.MinimumWidth = TOOLTIP_MINIMUM_WIDTH; StartItem(); m_Info.eType = DIT_TEXT; 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.t_strText = strText; EndItem(); } else { if (ParseInt( strText, "#ID", ID)) //RadarMapObj - normal NPC { GetUserInfo(ID, info); if (info.strNickName != "") { StartItem(); m_Info.eType = DIT_TEXT; m_Info.t_bDrawOneLine = true; m_Info.nOffSetX = 1; m_Info.nOffSetY = 2; m_Info.t_color = info.NicknameColor; m_Info.t_strText = info.strNickName; EndItem(); StartItem(); m_Info.eType = DIT_TEXT; m_Info.bLineBreak = true; m_Info.t_bDrawOneLine = true; m_Info.nOffSetX = 1; m_Info.nOffSetY = 2; m_Info.t_strText = info.Name; EndItem(); } else // normal text tooltip { AddTooltipSimpleName(info.Name); } } else if (ParseInt(strText, "#Length", ID)) //RadarMapObj - NPC with Quest Emitter { QID.Length = ID; for (i = 0; i < ID; i++) ParseInt(strText, "#Q" $ string(i), QID[i]); for (i = 0; i < ID; i++) { for (j = 0; j < ID; j++) if ((QID[i] == QID[j]) && (i != j) && (QID[i] > 0)) QID[i] = -1; } ParseInt(strText, "#Name", i); GetUserInfo(i, info); StartItem(); m_Info.eType = DIT_TEXT; m_Info.t_bDrawOneLine = true; m_Info.nOffSetX = 1; m_Info.nOffSetY = 1; m_Info.t_strText = info.Name; EndItem(); for (i = 0; i < ID; i++) { if (QID[i] > 0) { StartItem(); m_Info.eType = DIT_TEXT; m_Info.bLineBreak = true; m_Info.t_bDrawOneLine = true; m_Info.nOffSetX = 1; m_Info.nOffSetY = 1; m_Info.t_color.R = 127; m_Info.t_color.G = 114; m_Info.t_color.B = 89; m_Info.t_color.A = 255; m_Info.t_strText = class'UIDATA_QUEST'.static.GetQuestName(QID[i]); EndItem(); } } } else if (ParseInt(strText, "#QID", ID)) //RadarMapObj - Current Quest Target { ParseInt(strText, "#Level", i); StartItem(); m_Info.eType = DIT_TEXT; m_Info.t_bDrawOneLine = true; m_Info.nOffSetY = 1; m_Info.nOffSetX = 1; m_Info.t_strText = class'UIDATA_QUEST'.static.GetTargetName(ID, i); EndItem(); StartItem(); m_Info.eType = DIT_TEXT; m_Info.bLineBreak = true; m_Info.t_bDrawOneLine = true; m_Info.nOffSetX = 1; m_Info.nOffSetY = 1; m_Info.t_color.R = 127; m_Info.t_color.G = 114; m_Info.t_color.B = 89; m_Info.t_color.A = 255; m_Info.t_strText = class'UIDATA_QUEST'.static.GetQuestName(ID); EndItem(); } else { AddTooltipSimpleName(strText); } } } } else if (ParseInt( param, "ID", ID)) { if (ID>0) { StartItem(); m_Info.eType = DIT_TEXT; m_Info.t_bDrawOneLine = true; m_Info.t_ID = ID; EndItem(); } } } else { return; } ReturnTooltipInfo(m_Tooltip); } function string CheckHPEnchant(int SlotBitType, int CrystalType, int Enchant) { local string enchantHP; enchantHP=""; if ((SlotBitType==32768) || (SlotBitType==1024) || (SlotBitType==256) || (SlotBitType==2048) || (SlotBitType==512)|| (SlotBitType==64) || (SlotBitType==1) || (SlotBitType==268435456) || (SlotBitType==4096) ) { if (SlotBitType!=32768) { if (CrystalType == 1) { if (Enchant == 4) enchantHP="9"; else if (Enchant == 5) enchantHP="26"; else if (Enchant == 6) enchantHP="52"; else if (Enchant == 7) enchantHP="86"; else if (Enchant == 8) enchantHP="130"; else if (Enchant == 9) enchantHP="181"; else if (Enchant >= 10) enchantHP="242"; } else if (CrystalType == 2) { if (Enchant == 4) enchantHP="12"; else if (Enchant == 5) enchantHP="36"; else if (Enchant == 6) enchantHP="71"; else if (Enchant == 7) enchantHP="118"; else if (Enchant == 8) enchantHP="178"; else if (Enchant == 9) enchantHP="249"; else if (Enchant >= 10) enchantHP="332"; } else if (CrystalType == 3) { if (Enchant == 4) enchantHP="14"; else if (Enchant == 5) enchantHP="42"; else if (Enchant == 6) enchantHP="84"; else if (Enchant == 7) enchantHP="139"; else if (Enchant == 8) enchantHP="209"; else if (Enchant == 9) enchantHP="293"; else if (Enchant >= 10) enchantHP="390"; } else if (CrystalType == 4) { if (Enchant == 4) enchantHP="16"; else if (Enchant == 5) enchantHP="47"; else if (Enchant == 6) enchantHP="94"; else if (Enchant == 7) enchantHP="157"; else if (Enchant == 8) enchantHP="235"; else if (Enchant == 9) enchantHP="329"; else if (Enchant >= 10) enchantHP="439"; } else if ((CrystalType == 5) || (CrystalType == 6) || (CrystalType == 7)) { if (Enchant == 4) enchantHP="17"; else if (Enchant == 5) enchantHP="52"; else if (Enchant == 6) enchantHP="104"; else if (Enchant == 7) enchantHP="173"; else if (Enchant == 8) enchantHP="259"; else if (Enchant == 9) enchantHP="363"; else if (Enchant >= 10) enchantHP="484"; } } else if (SlotBitType==32768) { if (CrystalType == 1) { if (Enchant == 4) enchantHP="13"; else if (Enchant == 5) enchantHP="39"; else if (Enchant == 6) enchantHP="78"; else if (Enchant == 7) enchantHP="129"; else if (Enchant == 8) enchantHP="195"; else if (Enchant == 9) enchantHP="271"; else if (Enchant >= 10) enchantHP="363"; } else if (CrystalType == 2) { if (Enchant == 4) enchantHP="18"; else if (Enchant == 5) enchantHP="54"; else if (Enchant == 6) enchantHP="106"; else if (Enchant == 7) enchantHP="177"; else if (Enchant == 8) enchantHP="267"; else if (Enchant == 9) enchantHP="373"; else if (Enchant >= 10) enchantHP="498"; } else if (CrystalType == 3) { if (Enchant == 4) enchantHP="21"; else if (Enchant == 5) enchantHP="63"; else if (Enchant == 6) enchantHP="126"; else if (Enchant == 7) enchantHP="208"; else if (Enchant == 8) enchantHP="313"; else if (Enchant == 9) enchantHP="439"; else if (Enchant >= 10) enchantHP="585"; } else if (CrystalType == 4) { if (Enchant == 4) enchantHP="24"; else if (Enchant == 5) enchantHP="70"; else if (Enchant == 6) enchantHP="141"; else if (Enchant == 7) enchantHP="235"; else if (Enchant == 8) enchantHP="352"; else if (Enchant == 9) enchantHP="493"; else if (Enchant >= 10) enchantHP="658"; } else if ((CrystalType == 5) || (CrystalType == 6) || (CrystalType == 7)) { if (Enchant == 4) enchantHP="25"; else if (Enchant == 5) enchantHP="78"; else if (Enchant == 6) enchantHP="156"; else if (Enchant == 7) enchantHP="259"; else if (Enchant == 8) enchantHP="388"; else if (Enchant == 9) enchantHP="544"; else if (Enchant >= 10) enchantHP="726"; } } } else if (SlotBitType == 4194304) { if (Enchant == 4) enchantHP="4"; else if (Enchant == 5) enchantHP="8"; else if (Enchant >= 6) enchantHP="16"; } return enchantHP; } ///////////////////////////////////////////////////////////////////////////////// // INVENTORY Etc function ReturnTooltip_NTT_ITEM(string param, String TooltipType, ETooltipSourceType eSourceType) { local ItemInfo Item; local EItemType eItemType; local EEtcItemType eEtcItemType; local bool bLargeWidth; local string SlotString; local string strTmp; local string strSell; local string strCry; local int nTmp; local int idx; //์ ๋ จํจ๊ณผ local string ItemName; local int Quality; local int ColorR; local int ColorG; local int ColorB; local string strDesc1; local string strDesc2; local string strDesc3; // ๋ณด๊ธํ ์์ดํ local int ItemNameClass; //์ ํธ์์ดํ //~ local array<ItemID> arrItemID; local int SetID; //~ local int SetID2; //์๋ฐ๋์ฝ์ด์ฃผ๊ธฐ local string strAdena; local string strAdenaComma; local color AdenaColor; local ItemID tmpItemID; if (eSourceType == NTST_ITEM) { ParamToItemInfo(param, Item); eItemType = EItemType(Item.ItemType); eEtcItemType = EEtcItemType(Item.ItemSubType); //์์ด์ฝ ํ์ if (TooltipType == "InventoryWithIcon") { StartItem(); m_Info.eType = DIT_TEXTURE; m_Info.u_nTextureWidth = 32; m_Info.u_nTextureHeight = 32; m_Info.u_strTexture = Item.IconName; EndItem(); AddTooltipItemBlank(4); } //์์ดํ ์ด๋ฆ ์ทจ๋ ItemName = class'UIDATA_ITEM'.static.GetRefineryItemName( Item.Name, Item.RefineryOp1, Item.RefineryOp2 ); ItemNameClass = class'UIDATA_ITEM'.static.GetItemNameClass( Item.ID); //branch AddPrimeItemSymbol(Item); //end of branch //์ธ์ฒธํธ ex) "+10" if (TooltipType != "InventoryPrice1HideEnchant" && TooltipType != "InventoryPrice1HideEnchantStackable") AddTooltipItemEnchant(Item); //์์ดํ ์ด๋ฆ AddTooltipItemName(ItemName, Item, ItemNameClass); //Grade Mark AddTooltipItemGrade(Item); //์์ดํ ๊ฐฏ์ if (TooltipType != "InventoryPrice1HideEnchantStackable") { // 2009 10. 15 // ํ์คํธ ๋ณด์ ์์ดํ ํ์ ์ด๋ฉด ์์ดํ ๊ฐ์๋ฅผ ํ๊ธฐ ํ์ง ์๋๋ค. if (TooltipType != "QuestReward") { AddTooltipItemCount(Item); } } //์์ดํ ์ด ์๋ฐ๋๋ฉด, ์ฝ์ด์ฃผ๊ธฐ ์คํธ๋ง if (IsAdena(Item.ID)) { //SimpleTooltip์ ์ฝ์ด์ฃผ๊ธฐ์คํธ๋ง๊น์ง ๋ณด์ฌ์ค๋ค. m_Tooltip.SimpleLineCount = 2; StartItem(); m_Info.eType = DIT_TEXT; m_Info.nOffSetY = 6; m_Info.bLineBreak = true; m_Info.t_bDrawOneLine = true; m_Info.t_strText = "(" $ ConvertNumToText(Int64ToString(Item.ItemNum)) $ ")"; EndItem(); } //InventoryPrice1 ํ์ if (TooltipType == "InventoryPrice1" || TooltipType == "InventoryPrice1HideEnchant" || TooltipType == "InventoryPrice1HideEnchantStackable") { strAdena = Int64ToString(Item.Price); strAdenaComma = MakeCostString(strAdena); AdenaColor = GetNumericColor(strAdenaComma); //๊ฐ๊ฒฉ : xxx,xxx,xxx AddTooltipItemOption(322, strAdenaComma $ " ", true, true, false); SetTooltipItemColor(AdenaColor.R, AdenaColor.G, AdenaColor.B, 0); //"์๋ฐ๋" StartItem(); m_Info.eType = DIT_TEXT; m_Info.nOffSetY = 6; m_Info.t_bDrawOneLine = true; m_Info.t_color = AdenaColor; m_Info.t_ID= 469; EndItem(); //SimpleTooltip์ ๊ฐ๊ฒฉ๊น์ง ๋ณด์ฌ์ค๋ค. m_Tooltip.SimpleLineCount = 2; //์ฝ์ด์ฃผ๊ธฐ ์คํธ๋ง if (Item.Price>IntToInt64(0)) { m_Tooltip.SimpleLineCount = 3; AddTooltipItemOption(0, "(" $ ConvertNumToText(strAdena) $ ")", false, true, false); SetTooltipItemColor(AdenaColor.R, AdenaColor.G, AdenaColor.B, 0); } } //InventoryPrice2 ํ์ if (TooltipType == "InventoryPrice2" || TooltipType == "InventoryPrice2PrivateShop") { strAdena = Int64ToString(Item.Price); strAdenaComma = MakeCostString(strAdena); AdenaColor = GetNumericColor(strAdenaComma); //๊ฐ๊ฒฉ : 1๊ฐ๋น AddTooltipItemOption2(322, 468, true, true, false); SetTooltipItemColor(AdenaColor.R, AdenaColor.G, AdenaColor.B, 0); //"xxx,xxx,xxx " StartItem(); m_Info.eType = DIT_TEXT; m_Info.nOffSetY = 6; m_Info.t_bDrawOneLine = true; m_Info.t_color = AdenaColor; m_Info.t_strText = " " $ strAdenaComma $ " "; EndItem(); //"์๋ฐ๋" StartItem(); m_Info.eType = DIT_TEXT; m_Info.nOffSetY = 6; m_Info.t_bDrawOneLine = true; m_Info.t_color = AdenaColor; m_Info.t_ID= 469; EndItem(); //SimpleTooltip์ ๊ฐ๊ฒฉ๊น์ง ๋ณด์ฌ์ค๋ค. m_Tooltip.SimpleLineCount = 2; //์ฝ์ด์ฃผ๊ธฐ ์คํธ๋ง if (Item.Price>IntToInt64(0)) { m_Tooltip.SimpleLineCount = 3; //"(" StartItem(); m_Info.eType = DIT_TEXT; m_Info.nOffSetY = 6; m_Info.bLineBreak = true; m_Info.t_bDrawOneLine = true; m_Info.t_color = AdenaColor; m_Info.t_strText = "("; EndItem(); //"1๊ฐ๋น" StartItem(); m_Info.eType = DIT_TEXT; m_Info.nOffSetY = 6; m_Info.t_bDrawOneLine = true; m_Info.t_color = AdenaColor; m_Info.t_ID = 468; EndItem(); StartItem(); m_Info.eType = DIT_TEXT; m_Info.nOffSetY = 6; m_Info.t_bDrawOneLine = true; m_Info.t_color = AdenaColor; m_Info.t_strText = " " $ ConvertNumToText(strAdena) $ ")"; EndItem(); } } //InventoryPrice2PrivateShop ํ์ if (TooltipType == "InventoryPrice2PrivateShop") { if (IsStackableItem(Item.ConsumeType) && Item.Reserved64 > IntToInt64(0)) { //"๊ตฌ๋งค๊ฐ์ : xx" AddTooltipItemOption(808, Int64ToString(Item.Reserved64), true, true, false); } } ///////////////////////////////////////////////////////////////////////////////////////// // ์์ดํ ์ ๋ฐ๋ฅธ ๊ฐ์ข ์ ๋ณด SlotString = GetSlotTypeString(Item.ItemType, Item.SlotBitType, Item.ArmorType); switch (eItemType) { // 1. WEAPON case ITEM_WEAPON: bLargeWidth = true; //Slot Type strTmp = GetWeaponTypeString(Item.WeaponType); if (Len(strTmp)>0) { AddTooltipItemOption(0, strTmp $ " / " $ SlotString, false, true, false); } //๋น๊ณต๊ฐ AddTooltipItemBlank(12); //"[๋ฌด๊ธฐ ์ ์]" AddTooltipItemOption(1489, "", true, false, false); SetTooltipItemColor(255, 255, 255, 0); //Physical Damage if (Item.Enchanted > 0) { AddTooltipItemOption(94, String(GetPhysicalDamage(Item.WeaponType, Item.SlotBitType, Item.CrystalType, Item.Enchanted, Item.PhysicalDamage)) @ "(" $ string(Item.PhysicalDamage) $ "+" $ string(GetPhysicalDamage(Item.WeaponType, Item.SlotBitType, Item.CrystalType, Item.Enchanted, Item.PhysicalDamage) - Item.PhysicalDamage) $ ")", true, true, false); AddTooltipItemOption(98, String(GetMagicalDamage(Item.WeaponType, Item.SlotBitType, Item.CrystalType, Item.Enchanted, Item.MagicalDamage)) @ "(" $ string(Item.MagicalDamage) $ "+" $ string(GetMagicalDamage(Item.WeaponType, Item.SlotBitType, Item.CrystalType, Item.Enchanted, Item.MagicalDamage) - Item.MagicalDamage) $ ")", true, true, false); } else { AddTooltipItemOption(94, String(GetPhysicalDamage(Item.WeaponType, Item.SlotBitType, Item.CrystalType, Item.Enchanted, Item.PhysicalDamage)), true, true, false); AddTooltipItemOption(98, String(GetMagicalDamage(Item.WeaponType, Item.SlotBitType, Item.CrystalType, Item.Enchanted, Item.MagicalDamage)), true, true, false); } //Masical Damage // AddTooltipItemOption(98, String(GetMagicalDamage(Item.WeaponType, Item.SlotBitType, Item.CrystalType, Item.Enchanted, Item.MagicalDamage)), true, true, false); //Attack Speed AddTooltipItemOption(111, GetAttackSpeedString(Item.AttackSpeed), true, true, false); //SoulShot Count if (Item.SoulshotCount>0) { AddTooltipItemOption(404, "X " $ Item.SoulshotCount, true, true, false); } //SpiritShot Count if (Item.SpiritShotCount>0) { AddTooltipItemOption(496, "X " $ Item.SpiritshotCount, true, true, false); } //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); } //์ ๋ จํจ๊ณผ if (Item.RefineryOp1 != 0 || Item.RefineryOp2 != 0) { //๋น๊ณต๊ฐ AddTooltipItemBlank(12); //"[์ ๋ จํจ๊ณผ]" AddTooltipItemOption(1490, "", true, false, false); SetTooltipItemColor(255, 255, 255, 0); //์ปฌ๋ฌ๊ฐ ์ทจ๋ if (Item.RefineryOp2 != 0) { 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) { AddTooltipItemOption(0, strDesc1, false, true, false); SetTooltipItemColor(ColorR, ColorG, ColorB, 0); } if (Len(strDesc2)>0) { AddTooltipItemOption(0, strDesc2, false, true, false); SetTooltipItemColor(ColorR, ColorG, ColorB, 0); } if (Len(strDesc3)>0) { AddTooltipItemOption(0, strDesc3, false, true, false); SetTooltipItemColor(ColorR, ColorG, ColorB, 0); } } } if (Item.RefineryOp2 != 0) { strDesc1 = ""; strDesc2 = ""; strDesc3 = ""; if (class'UIDATA_REFINERYOPTION'.static.GetOptionDescription( Item.RefineryOp2, strDesc1, strDesc2, strDesc3 )) { if (Len(strDesc1)>0) { AddTooltipItemOption(0, strDesc1, false, true, false); SetTooltipItemColor(ColorR, ColorG, ColorB, 0); } if (Len(strDesc2)>0) { AddTooltipItemOption(0, strDesc2, false, true, false); SetTooltipItemColor(ColorR, ColorG, ColorB, 0); } if (Len(strDesc3)>0) { AddTooltipItemOption(0, strDesc3, false, true, false); SetTooltipItemColor(ColorR, ColorG, ColorB, 0); } } } //"๊ตํ/๋๋กญ ๋ถ๊ฐ" AddTooltipItemOption(1491, "", true, false, false); SetTooltipItemColor(ColorR, ColorG, ColorB, 0); //๋น๊ณต๊ฐ if (Len(Item.Description)>0) { AddTooltipItemBlank(12); } } break; // 2. ARMOR case ITEM_ARMOR: bLargeWidth = true; // Sheild if ( Item.SlotBitType == 256 && Item.ArmorType == 4 ) // ArmorType == 4 is sigil.. { if (Len(SlotString)>0) AddTooltipItemOption(0, SlotString, false, true, false); if (Item.PhysicalDefense != 0) if (Item.Enchanted > 0) AddTooltipItemOption(95, String(GetPhysicalDefense(Item.CrystalType, Item.Enchanted, Item.PhysicalDefense)) @ "(" $ String(Item.PhysicalDefense) $ "+" $ string(GetPhysicalDefense(Item.CrystalType, Item.Enchanted, Item.PhysicalDefense)-Item.PhysicalDefense) $ ")", true, true, false); else AddTooltipItemOption(95, String(GetPhysicalDefense(Item.CrystalType, Item.Enchanted, Item.PhysicalDefense)), true, true, false); if (Item.Enchanted >= 4) { if (CheckHPEnchant(Item.SlotBitType,Item.CrystalType,Item.Enchanted)!="") { StartItem(); m_Info.eType = DIT_TEXT; m_Info.nOffSetY = 6; m_Info.nOffSetX = 0; m_Info.t_bDrawOneLine = true; m_Info.t_color.R = 187; m_Info.t_color.G = 181; m_Info.t_color.B = 138; m_Info.t_color.A = 255; m_Info.t_strText = " " $ "+" $ CheckHPEnchant(Item.SlotBitType,Item.CrystalType,Item.Enchanted) @ "hp"; EndItem(); } } //Avoid Modify if (Item.AvoidModify != 0) AddTooltipItemOption(97, String(Item.AvoidModify), true, true, false); //Weight if (Item.Weight != 0) AddTooltipItemOption(52, String(Item.Weight), true, true, false); } else if (Item.SlotBitType == 256 || Item.SlotBitType == 128) //SBT_LHAND or SBT_RHAND { if (Len(SlotString)>0) AddTooltipItemOption(0, SlotString, false, true, false); //Shield Defense //debug("Shield Defense" $ Item.ShieldDefense); if (Item.ShieldDefense != 0) if (Item.Enchanted > 0) AddTooltipItemOption(95, String(GetShieldDefense(Item.CrystalType, Item.Enchanted, Item.ShieldDefense)) @ "(" $ String(Item.ShieldDefense) $ "+" $ string(GetShieldDefense(Item.CrystalType, Item.Enchanted, Item.ShieldDefense)-Item.ShieldDefense) $ ")", true, true, false); else AddTooltipItemOption(95, String(GetShieldDefense(Item.CrystalType, Item.Enchanted, Item.ShieldDefense)), true, true, false); if (Item.Enchanted >= 4) { if (CheckHPEnchant(Item.SlotBitType,Item.CrystalType,Item.Enchanted)!="") { StartItem(); m_Info.eType = DIT_TEXT; m_Info.nOffSetY = 6; m_Info.nOffSetX = 0; m_Info.t_bDrawOneLine = true; m_Info.t_color.R = 187; m_Info.t_color.G = 181; m_Info.t_color.B = 138; m_Info.t_color.A = 255; m_Info.t_strText = " " $ "+" $ CheckHPEnchant(Item.SlotBitType,Item.CrystalType,Item.Enchanted) @ "hp"; EndItem(); } } //Shield Defense Rate //debug("Shield Defense Rate" $ Item.ShieldDefenseRate); if (Item.ShieldDefenseRate != 0) AddTooltipItemOption(317, String(Item.ShieldDefenseRate), true, true, false); //Avoid Modify //debug("Avoid Modify" $ Item.AvoidModify); if (Item.AvoidModify != 0) AddTooltipItemOption(97, String(Item.AvoidModify), true, true, false); //Weight //debug("Weight" $ Item.Weight); if (Item.Weight != 0) AddTooltipItemOption(52, String(Item.Weight), true, true, false); } // Magical Armor else if (IsMagicalArmor(Item.ID)) { //Slot Type if (Len(SlotString)>0) AddTooltipItemOption(0, SlotString, false, true, false); //MP Bonus AddTooltipItemOption(388, String(Item.MpBonus), true, true, false); //Physical Defense if (Item.SlotBitType == 65536) { } else if ( Item.SlotBitType == 524288) { } else if ( Item.SlotBitType == 262144) { } else { if (Item.PhysicalDefense != 0) if (Item.Enchanted > 0) AddTooltipItemOption(95, String(GetPhysicalDefense(Item.CrystalType, Item.Enchanted, Item.PhysicalDefense)) @ "(" $ String(Item.PhysicalDefense) $ "+" $ string(GetPhysicalDefense(Item.CrystalType, Item.Enchanted, Item.PhysicalDefense)-Item.PhysicalDefense) $ ")", true, true, false); else AddTooltipItemOption(95, String(GetPhysicalDefense(Item.CrystalType, Item.Enchanted, Item.PhysicalDefense)), true, true, false); } if (Item.Enchanted >= 4) { if (CheckHPEnchant(Item.SlotBitType,Item.CrystalType,Item.Enchanted)!="") { StartItem(); m_Info.eType = DIT_TEXT; m_Info.nOffSetY = 6; m_Info.nOffSetX = 0; m_Info.t_bDrawOneLine = true; m_Info.t_color.R = 187; m_Info.t_color.G = 181; m_Info.t_color.B = 138; m_Info.t_color.A = 255; m_Info.t_strText = " " $ "+" $ CheckHPEnchant(Item.SlotBitType,Item.CrystalType,Item.Enchanted) @ "hp"; EndItem(); } } //Weight if (Item.Weight != 0) AddTooltipItemOption(52, String(Item.Weight), true, true, false); } // Physical Armor else { //Slot Type //debug("Physical Armor1 " $ Item.SlotBitType $ Item.PhysicalDefense); if (Len(SlotString)>0) AddTooltipItemOption(0, SlotString, false, true, false); //Physical Defense if (Item.SlotBitType == 65536) { } else if ( Item.SlotBitType == 524288) { } else if ( Item.SlotBitType == 262144) { } else { if (Item.PhysicalDefense != 0) if (Item.Enchanted > 0) AddTooltipItemOption(95, String(GetPhysicalDefense(Item.CrystalType, Item.Enchanted, Item.PhysicalDefense)) @ "(" $ String(Item.PhysicalDefense) $ "+" $ string(GetPhysicalDefense(Item.CrystalType, Item.Enchanted, Item.PhysicalDefense)-Item.PhysicalDefense) $ ")", true, true, false); else AddTooltipItemOption(95, String(GetPhysicalDefense(Item.CrystalType, Item.Enchanted, Item.PhysicalDefense)), true, true, false); } if (Item.Enchanted >= 4) { if (CheckHPEnchant(Item.SlotBitType,Item.CrystalType,Item.Enchanted)!="") { StartItem(); m_Info.eType = DIT_TEXT; m_Info.nOffSetY = 6; m_Info.nOffSetX = 0; m_Info.t_bDrawOneLine = true; m_Info.t_color.R = 187; m_Info.t_color.G = 181; m_Info.t_color.B = 138; m_Info.t_color.A = 255; m_Info.t_strText = " " $ "+" $ CheckHPEnchant(Item.SlotBitType,Item.CrystalType,Item.Enchanted) @ "hp"; EndItem(); } } //Weight if (Item.Weight != 0) AddTooltipItemOption(52, String(Item.Weight), true, true, false); } //์ ๋ จํจ๊ณผ if (Item.RefineryOp1 != 0 || Item.RefineryOp2 != 0) { //๋น๊ณต๊ฐ AddTooltipItemBlank(12); //"[์ ๋ จํจ๊ณผ]" AddTooltipItemOption(1490, "", true, false, false); SetTooltipItemColor(255, 255, 255, 0); //์ปฌ๋ฌ๊ฐ ์ทจ๋ if (Item.RefineryOp2 != 0) { 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) { AddTooltipItemOption(0, strDesc1, false, true, false); SetTooltipItemColor(ColorR, ColorG, ColorB, 0); } if (Len(strDesc2)>0) { AddTooltipItemOption(0, strDesc2, false, true, false); SetTooltipItemColor(ColorR, ColorG, ColorB, 0); } if (Len(strDesc3)>0) { AddTooltipItemOption(0, strDesc3, false, true, false); SetTooltipItemColor(ColorR, ColorG, ColorB, 0); } } } if (Item.RefineryOp2 != 0) { strDesc1 = ""; strDesc2 = ""; strDesc3 = ""; if (class'UIDATA_REFINERYOPTION'.static.GetOptionDescription( Item.RefineryOp2, strDesc1, strDesc2, strDesc3 )) { if (Len(strDesc1)>0) { AddTooltipItemOption(0, strDesc1, false, true, false); SetTooltipItemColor(ColorR, ColorG, ColorB, 0); } if (Len(strDesc2)>0) { AddTooltipItemOption(0, strDesc2, false, true, false); SetTooltipItemColor(ColorR, ColorG, ColorB, 0); } if (Len(strDesc3)>0) { AddTooltipItemOption(0, strDesc3, false, true, false); SetTooltipItemColor(ColorR, ColorG, ColorB, 0); } } } //๋น๊ณต๊ฐ AddTooltipItemBlank(12); } break; // 3. ACCESSARY case ITEM_ACCESSARY: bLargeWidth = true; //Slot Type if (Len(SlotString)>0) { if (Item.SlotBitType == 4194304 ) { if (IsPassiveTalisman(Item.ID.ClassID)) AddTooltipItemOption(0, "Passive Talisman", false, true, false); else AddTooltipItemOption(0, "Active Talisman", false, true, false); } else AddTooltipItemOption(0, SlotString, false, true, false); } //Magical Defense // ํ๋ฆฌ์ค๋ง์ ์์ดํ ๋ง๋ฐฉ์ ๋ณด์ฌ์ฃผ์ง ์๋๋ค. // ์ผํ์ฐ ์ค๋ฅธํ์ฐ๋ ๋ง๋ฐฉ์ ๋ณด์ฌ์ฃผ์ง ์๋๋ค. if ((Item.SlotBitType != 4194304 ) && (Item.SlotBitType != 1048576 ) && (Item.SlotBitType != 2097152 )) if (Item.Enchanted > 0) AddTooltipItemOption(99, String(GetMagicalDefense(Item.CrystalType, Item.Enchanted, Item.MagicalDefense)) @ "(" $ String(Item.MagicalDefense) $ "+" $ string(GetMagicalDefense(Item.CrystalType, Item.Enchanted, Item.MagicalDefense)-Item.MagicalDefense) $ ")", true, true, false); else AddTooltipItemOption(99, String(GetMagicalDefense(Item.CrystalType, Item.Enchanted, Item.MagicalDefense)), true, true, false); if (Item.Weight == 0) AddTooltipItemOption(52, " 0 ", true, true, false); else AddTooltipItemOption(52, String(Item.Weight), true, true, false); //debug ("Refinery Result Accessotires" @ Item.RefineryOp1); //์ ๋ จํจ๊ณผ if (Item.RefineryOp1 != 0 || Item.RefineryOp2 != 0) { //๋น๊ณต๊ฐ AddTooltipItemBlank(12); //"[์ ๋ จํจ๊ณผ]" AddTooltipItemOption(1490, "", true, false, false); SetTooltipItemColor(255, 255, 255, 0); //์ปฌ๋ฌ๊ฐ ์ทจ๋ if (Item.RefineryOp2 != 0) { 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) { AddTooltipItemOption(0, strDesc1, false, true, false); SetTooltipItemColor(ColorR, ColorG, ColorB, 0); } if (Len(strDesc2)>0) { AddTooltipItemOption(0, strDesc2, false, true, false); SetTooltipItemColor(ColorR, ColorG, ColorB, 0); } if (Len(strDesc3)>0) { AddTooltipItemOption(0, strDesc3, false, true, false); SetTooltipItemColor(ColorR, ColorG, ColorB, 0); } } } if (Item.RefineryOp2 != 0) { strDesc1 = ""; strDesc2 = ""; strDesc3 = ""; if (class'UIDATA_REFINERYOPTION'.static.GetOptionDescription( Item.RefineryOp2, strDesc1, strDesc2, strDesc3 )) { if (Len(strDesc1)>0) { AddTooltipItemOption(0, strDesc1, false, true, false); SetTooltipItemColor(ColorR, ColorG, ColorB, 0); } if (Len(strDesc2)>0) { AddTooltipItemOption(0, strDesc2, false, true, false); SetTooltipItemColor(ColorR, ColorG, ColorB, 0); } if (Len(strDesc3)>0) { AddTooltipItemOption(0, strDesc3, false, true, false); SetTooltipItemColor(ColorR, ColorG, ColorB, 0); } } } //๋น๊ณต๊ฐ AddTooltipItemBlank(12); } break; // 4. QUEST case ITEM_QUESTITEM: bLargeWidth = true; //Slot Type if (Len(SlotString)>0) AddTooltipItemOption(0, SlotString, false, true, false); break; // 5. ETC case ITEM_ETCITEM: bLargeWidth = true; if (eEtcItemType == ITEME_PET_COLLAR) { //Pet Name if (Item.Damaged == 0) nTmp = 971; else nTmp = 970; AddTooltipItemOption2(969, nTmp, true, true, false); //Pet Level AddTooltipItemOption(88, String(Item.Enchanted), true, true, false); } else if (eEtcItemType == ITEME_TICKET_OF_LORD) { AddTooltipItemOption(972, String(Item.Enchanted), true, true, false); } else if (eEtcItemType == ITEME_LOTTO) { // ๋ณต๊ถ์์๋ bless๊ฐ ํ์ฐจ, ๋ชฌ์คํฐ๋ ์ด์ค์์๋ Enchant๊ฐ ํ์ฐจ์ ๋๋ค. ์ฃผ์ํ์ธ์! - lancelot 2008. 11. 11. // ํ์ฐจ AddTooltipItemOption(670, String(Item.Blessed), true, true, false); // ์ ํ๋ฒํธ AddTooltipItemOption(671, GetLottoString(Item.Enchanted, Item.Damaged), true, true, false); } else if (eEtcItemType == ITEME_RACE_TICKET) { // ํ์ฐจ AddTooltipItemOption(670, String(Item.Enchanted), true, true, false); // ์ ํ๋ฒํธ AddTooltipItemOption(671, GetRaceTicketString(Item.Blessed), true, true, false); //Money AddTooltipItemOption(744, String(Item.Damaged*100), true, true, false); } //Weight //~ if (Item.Price!=0) if (Item.Weight==0) AddTooltipItemOption(52, " 0 ", true, true, false); else AddTooltipItemOption(52, String(Item.Weight), true, true, false); break; } ///////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////// // [์น ์์น ์, ๋ฐฉ์ด๊ตฌ ๊ฐ์ธ] item enchant option - by jin 09/08/05 if (Item.EnchantOption1 != 0 || Item.EnchantOption2 != 0 || Item.EnchantOption3 != 0) { //๋น๊ณต๊ฐ AddTooltipItemBlank(12); //"[์ธ์ฑํธํจ๊ณผ]" AddTooltipItemOption(2214, "", true, false, false); SetTooltipItemColor(255, 255, 255, 0); if (Item.Enchanted >= 4) { if (CheckHPEnchant(Item.SlotBitType,Item.CrystalType,Item.Enchanted)!="") { StartItem(); m_Info.eType = DIT_TEXT; m_Info.nOffSetY = 6; m_Info.nOffSetX = 0; m_Info.t_bDrawOneLine = true; m_Info.t_color.R = 187; m_Info.t_color.G = 181; m_Info.t_color.B = 138; m_Info.t_color.A = 255; m_Info.t_strText = " " $ "+" $ CheckHPEnchant(Item.SlotBitType,Item.CrystalType,Item.Enchanted) @ "hp"; EndItem(); } } SetTooltipItemColor(187, 181, 138, 0); //์ปฌ๋ฌ๊ฐ ์ทจ๋ if (Item.EnchantOption1 != 0) { // [์น ์์น ์, ๋ฐฉ์ด๊ตฌ๊ฐ์ธ] ๊ฐ์ธ ํจ๊ณผ๋ ์ผ๋จ ๋ฌด์กฐ๊ฑด 1๋ฒ ์์์ ์ฌ์ฉ. - by jin 09/08/06 GetRefineryColor(1, ColorR, ColorG, ColorB); } if (Item.EnchantOption1 != 0) { strDesc1 = ""; strDesc2 = ""; strDesc3 = ""; if (class'UIDATA_REFINERYOPTION'.static.GetOptionDescription( Item.EnchantOption1, strDesc1, strDesc2, strDesc3 )) { if (Len(strDesc1)>0) { AddTooltipItemOption(0, strDesc1, false, true, false); SetTooltipItemColor(ColorR, ColorG, ColorB, 0); } if (Len(strDesc2)>0) { AddTooltipItemOption(0, strDesc2, false, true, false); SetTooltipItemColor(ColorR, ColorG, ColorB, 0); } if (Len(strDesc3)>0) { AddTooltipItemOption(0, strDesc3, false, true, false); SetTooltipItemColor(ColorR, ColorG, ColorB, 0); } } } if (Item.EnchantOption2 != 0) { strDesc1 = ""; strDesc2 = ""; strDesc3 = ""; if (class'UIDATA_REFINERYOPTION'.static.GetOptionDescription( Item.EnchantOption2, strDesc1, strDesc2, strDesc3 )) { if (Len(strDesc1)>0) { AddTooltipItemOption(0, strDesc1, false, true, false); SetTooltipItemColor(ColorR, ColorG, ColorB, 0); } if (Len(strDesc2)>0) { AddTooltipItemOption(0, strDesc2, false, true, false); SetTooltipItemColor(ColorR, ColorG, ColorB, 0); } if (Len(strDesc3)>0) { AddTooltipItemOption(0, strDesc3, false, true, false); SetTooltipItemColor(ColorR, ColorG, ColorB, 0); } } } if (Item.EnchantOption3 != 0) { strDesc1 = ""; strDesc2 = ""; strDesc3 = ""; if (class'UIDATA_REFINERYOPTION'.static.GetOptionDescription( Item.EnchantOption3, strDesc1, strDesc2, strDesc3 )) { if (Len(strDesc1)>0) { AddTooltipItemOption(0, strDesc1, false, true, false); SetTooltipItemColor(ColorR, ColorG, ColorB, 0); } if (Len(strDesc2)>0) { AddTooltipItemOption(0, strDesc2, false, true, false); SetTooltipItemColor(ColorR, ColorG, ColorB, 0); } if (Len(strDesc3)>0) { AddTooltipItemOption(0, strDesc3, false, true, false); SetTooltipItemColor(ColorR, ColorG, ColorB, 0); } } } //๋น๊ณต๊ฐ AddTooltipItemBlank(12); } //๋ด๊ตฌ๋ ์์ดํ if (Item.CurrentDurability >= 0 && Item.Durability > 0) { bLargeWidth = true; //๋น๊ณต๊ฐ AddTooltipItemBlank(12); //<ํฌ์ ๋ณ๊ธฐ ์ ๋ณด> AddTooltipItemOption(1492, "", true, false, false); SetTooltipItemColor(255, 255, 255, 0); //์ฌ์ฉ๊ฐ๋ฅ ์๊ฐ StartItem(); m_Info.eType = DIT_TEXT; m_Info.nOffSetY = 6; m_Info.bLineBreak = true; m_Info.t_bDrawOneLine = true; m_Info.t_color = Gray; m_Info.t_ID = 1493; EndItem(); StartItem(); m_Info.eType = DIT_TEXT; m_Info.nOffSetY = 6; m_Info.t_bDrawOneLine = true; if (TooltipType != "TaliList") { if (Item.CurrentDurability+1 <= CheckDurability(Item.ID.ClassID)) { m_Info.t_color = Red; } else if (Item.CurrentDurability+1 <= CheckDurability(Item.ID.ClassID)+5) { m_Info.t_color = Yellow; } else { m_Info.t_color = Bronze; } } else { if (Item.CurrentDurability+1 <= CheckDurability(GetTalismanItemID(Item.ID.ClassID))) { m_Info.t_color = Red; } else if (Item.CurrentDurability+1 <= CheckDurability(GetTalismanItemID(Item.ID.ClassID))+5) { m_Info.t_color = Yellow; } else { m_Info.t_color = Bronze; } } m_Info.t_strText = " " $ Item.CurrentDurability $ "/" $ Item.Durability; EndItem(); if (Item.CurrentDurability >= 0 && Item.Durability > 0) if (TooltipType == "TaliList") { if (Item.ID.ClassID == 3436) { bLargeWidth = true; StartItem(); m_Info.eType = DIT_TEXT; m_Info.nOffSetY = 6; m_Info.bLineBreak = true; m_Info.t_bDrawOneLine = true; m_Info.t_color = Gray; m_Info.t_strText = "HP Cost: "; EndItem(); StartItem(); m_Info.eType = DIT_TEXT; m_Info.nOffSetY = 6; m_Info.t_bDrawOneLine = true; m_Info.t_color = Bronze; m_Info.t_strText = "800"; EndItem(); } if (GetTalismanItemID(Item.ID.ClassID) != -1) { bLargeWidth = true; //AddTooltipItemBlank(12); StartItem(); m_Info.eType = DIT_TEXT; m_Info.nOffSetY = 6; m_Info.bLineBreak = true; m_Info.t_bDrawOneLine = true; m_Info.t_color = Gray; m_Info.t_strText = "Requires Item Mana: "; EndItem(); StartItem(); m_Info.eType = DIT_TEXT; m_Info.nOffSetY = 6; m_Info.t_bDrawOneLine = true; m_Info.t_color = Bronze; m_Info.t_strText = string(CheckDurability(GetTalismanItemID(Item.ID.ClassID))); EndItem(); } } else { if (!IsPassiveTalisman(Item.ID.ClassID) && (GetTalismanSkillID(Item.ID.ClassID) != -1)) { bLargeWidth = true; //AddTooltipItemBlank(12); if (Item.ID.ClassID == 10423) { bLargeWidth = true; StartItem(); m_Info.eType = DIT_TEXT; m_Info.nOffSetY = 6; m_Info.bLineBreak = true; m_Info.t_bDrawOneLine = true; m_Info.t_color = Gray; m_Info.t_strText = "HP Cost: "; EndItem(); StartItem(); m_Info.eType = DIT_TEXT; m_Info.nOffSetY = 6; m_Info.t_bDrawOneLine = true; m_Info.t_color = Bronze; m_Info.t_strText = "800"; EndItem(); } StartItem(); m_Info.eType = DIT_TEXT; m_Info.nOffSetY = 6; m_Info.bLineBreak = true; m_Info.t_bDrawOneLine = true; m_Info.t_color = Gray; m_Info.t_strText = "Requires Item Mana: "; EndItem(); StartItem(); m_Info.eType = DIT_TEXT; m_Info.nOffSetY = 6; m_Info.t_bDrawOneLine = true; m_Info.t_color = Bronze; m_Info.t_strText = string(CheckDurability(Item.ID.ClassID)); EndItem(); } } //"๊ตํ/๋๋กญ ๋ถ๊ฐ" AddTooltipItemOption(1491, "", true, false, false); //๋น๊ณต๊ฐ if (Len(Item.Description)>0) { AddTooltipItemBlank(12); } } //branch //์๋์ง ์ ๋ณด if (Item.BR_MaxEnergy > 0) { //bLargeWidth = true; //๋น๊ณต๊ฐ AddTooltipItemBlank(12); //<์๋์ง ์ ๋ณด> AddTooltipItemOption(5065, "", true, false, false); SetTooltipItemColor(255, 255, 255, 0); StartItem(); m_Info.eType = DIT_TEXT; m_Info.nOffSetY = 6; m_Info.bLineBreak = true; m_Info.t_bDrawOneLine = true; m_Info.t_color = Gray; m_Info.t_ID = 5066; EndItem(); StartItem(); m_Info.eType = DIT_TEXT; m_Info.t_bDrawOneLine = true; m_Info.bLineBreak = true; if ( Item.BR_CurrentEnergy==0 || (Item.BR_MaxEnergy / Item.BR_CurrentEnergy > 10) ) { m_Info.t_color.R = 255; m_Info.t_color.G = 0; m_Info.t_color.B = 0; } else { m_Info.t_color.R = 176; m_Info.t_color.G = 155; m_Info.t_color.B = 121; } m_Info.t_color.A = 255; //m_Info.t_strText = " " $ Item.BR_CurrentEnergy $ "/" $ Item.BR_MaxEnergy; m_Info.t_strText = " " ; ParamAdd(m_Info.Condition, "Type", "CurrentEnergy"); EndItem(); } //end of branch //์ค๋ช //ParseString(Item.ID.ClassID, "ClassID", strTmp); ParseString(Item.Description, "Cry", strCry); ParseString(Item.Description, "Sell", strSell); if (Len(Item.Description)>(Len(strCry) + 5 + Len(strSell) + 5)) { bLargeWidth = true; StartItem(); m_Info.eType = DIT_TEXT; m_Info.nOffSetY = 6; m_Info.bLineBreak = true; m_Info.t_color.R = 178; m_Info.t_color.G = 190; m_Info.t_color.B = 207; m_Info.t_color.A = 255; if (Len(strSell)>0) Item.Description = Left(Item.Description, Len(Item.Description) - Len(strSell) -5); if (Len(strCry)>0) Item.Description = Left(Item.Description, Len(Item.Description) - Len(strCry) - 5); // if (Len(strTmp)>0) Item.Description = Left(Item.Description, Len(Item.Description) - Len(strTmp) - 4); // Item.Description = Left(Item.Description,Len(Item.Description) - Len(strTmp) - Len(strCry) - Len(strSell) ); m_Info.t_strText = Item.Description; EndItem(); } AddTooltipItemBlank(8); if (TooltipType != "TaliList") { StartItem(); m_Info.eType = DIT_TEXTURE; m_Info.nOffSetX = 2; 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 = "MonIcaTex.itemid"; 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(); } if (Len(strCry)>0) { StartItem(); m_Info.eType = DIT_TEXTURE; m_Info.nOffSetX = 2; m_Info.nOffSetY = 6; m_Info.bLineBreak = true; m_Info.t_bDrawOneLine = true; m_Info.u_nTextureWidth = 16; m_Info.u_nTextureHeight = 16; m_Info.u_nTextureUWidth = 32; m_Info.u_nTextureUHeight = 32; if ((item.CrystalType == 5) || (item.CrystalType == 6) || (item.CrystalType == 7)) m_Info.u_strTexture = "icon.etc_crystal_gold_i00"; else if (item.CrystalType == 4) m_Info.u_strTexture = "icon.etc_crystal_silver_i00"; else if (item.CrystalType == 3) m_Info.u_strTexture = "icon.etc_crystal_red_i00"; else if (item.CrystalType == 2) m_Info.u_strTexture = "icon.etc_crystal_green_i00"; else if (item.CrystalType == 1) m_Info.u_strTexture = "icon.etc_crystal_blue_i00"; EndItem(); StartItem(); m_Info.nOffSetX = 4; m_Info.nOffSetY = 8; 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(strCry); EndItem(); } if (Len(strSell)>0) { StartItem(); m_Info.eType = DIT_TEXTURE; m_Info.nOffSetX = 1; m_Info.nOffSetY = 4; m_Info.bLineBreak = true; m_Info.t_bDrawOneLine = true; m_Info.u_nTextureWidth = 18; m_Info.u_nTextureHeight = 13; m_Info.u_strTexture = "L2UI_CT1.Icon_DF_Common_Adena"; EndItem(); StartItem(); m_Info.nOffSetX = 3; m_Info.nOffSetY = 6; 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(strSell); EndItem(); } ///////////////////////////////////////////////////////////////////////////////////////// // ์ ํธ ์์ดํ ์ ๋ณด if (IsValidItemID(Item.ID)) { for (idx=0; idx<TOOLTIP_SETITEM_MAX; idx++) { //์ ํธ์์ดํ ๋ฆฌ์คํธ for (SetID=0; SetID<class'UIDATA_ITEM'.static.GetSetItemNum(Item.ID, idx); SetID++) //0,1,2๋ฒ ์ธํธ์์ดํ ํจ๊ณผ ์ ๋ํด์ ๊ฐ๊ฐ ๋ช๊ฐ์ง์ ์ธํธ๊ฐ ์๋น๋์ผํ๋.. { bLargeWidth = true; if (!class'UIDATA_ITEM'.static.IsExistSetItem(Item.ID, idx, SetID)) { tmpItemID.classID = class'UIDATA_ITEM'.static.GetSetItemFirstID(Item.ID, idx, SetID); if (tmpItemID.classID > 0) { strTmp = class'UIDATA_ITEM'.static.GetItemName(tmpItemID); StartItem(); m_Info.eType = DIT_TEXTURE; m_Info.nOffSetX = 2; m_Info.nOffSetY = 5; m_Info.bLineBreak = true; m_Info.t_bDrawOneLine = true; m_Info.u_nTextureWidth = 16; m_Info.u_nTextureHeight = 16; m_Info.u_nTextureUWidth = 32; m_Info.u_nTextureUHeight = 32; m_Info.u_strTexture = class'UIDATA_ITEM'.static.GetItemTextureName(tmpItemID); EndItem(); StartItem(); m_Info.eType = DIT_TEXT; m_Info.nOffSetX = 5; m_Info.nOffSetY = 7; // m_Info.bLineBreak = true; m_Info.t_bDrawOneLine = true; m_Info.t_color.R = 112; m_Info.t_color.G = 115; m_Info.t_color.B = 123; m_Info.t_color.A = 255; m_Info.t_strText = strTmp; ParamAdd(m_info.Condition, "SetItemNum", string(idx)); 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", "112,115,123"); ParamAdd(m_Info.Condition, "EnableColor", "176,185,205"); EndItem(); } } } //์ ํธํจ๊ณผ strTmp = class'UIDATA_ITEM'.static.GetSetItemEffectDescription(Item.ID, idx); if (Len(strTmp)>0) { bLargeWidth = true; StartItem(); m_Info.eType = DIT_TEXT; m_Info.nOffSetY = 6; m_Info.bLineBreak = true; m_Info.t_color.R = 128; m_Info.t_color.G = 127; m_Info.t_color.B = 103; m_Info.t_color.A = 255; m_Info.t_strText = strTmp; ParamAdd(m_Info.Condition, "Type", "SetEffect"); ParamAddItemID(m_Info.Condition, Item.ID); ParamAdd(m_Info.Condition, "EffectID", String(idx)); ParamAdd(m_Info.Condition, "NormalColor", "128,127,103"); ParamAdd(m_Info.Condition, "EnableColor", "183,178,122"); EndItem(); } } //์ธ์ฒธํธ ์ ํธํจ๊ณผ strTmp = class'UIDATA_ITEM'.static.GetSetItemEnchantEffectDescription(Item.ID); if (Len(strTmp)>0) { bLargeWidth = true; StartItem(); m_Info.eType = DIT_TEXT; m_Info.nOffSetY = 6; m_Info.bLineBreak = true; m_Info.t_color.R = 74; m_Info.t_color.G = 92; m_Info.t_color.B = 104; 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", "111,146,169"); EndItem(); } } //ํ์คํธ ์ ๋ณด๋ฅผ ํ์ํ๋ค. if (TooltipType != "TaliList") AddTooltipItemQuestList(Item); // ์์ฑ ๊ฒ์ด์ง๋ฅผ ๊ทธ๋ ค์ค๋ค. AddTooltipItemAttributeGage(Item); // ๊ธฐ๊ฐ์ ์์ดํ if ( Item.CurrentPeriod > 0) { //๋น๊ณต๊ฐ AddTooltipItemBlank(12); //<๊ธฐ๊ฐ์ ์์ดํ > AddTooltipItemOption(1739, "", true, false, false); SetTooltipItemColor(255, 255, 255, 0); StartItem(); m_Info.eType = DIT_TEXT; m_Info.nOffSetY = 6; m_Info.bLineBreak = true; m_Info.t_bDrawOneLine = true; m_Info.t_color.R = 163; m_Info.t_color.G = 163; m_Info.t_color.B = 163; m_Info.t_color.A = 255; m_Info.t_ID = 1199; EndItem(); StartItem(); m_Info.eType = DIT_TEXT; m_Info.nOffSetY = 6; m_Info.t_bDrawOneLine = true; m_Info.t_color.R = 163; m_Info.t_color.G = 163; m_Info.t_color.B = 163; m_Info.t_color.A = 255; m_Info.t_strText = " : "; EndItem(); StartItem(); m_Info.eType = DIT_TEXT; m_Info.nOffSetY = 6; m_Info.bLineBreak = true; 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.t_strText = "" $ MakeTimeStr(Item.CurrentPeriod); ParamAdd(m_Info.Condition, "Type", "PeriodTime"); EndItem(); } } else { return; } if (bLargeWidth) m_Tooltip.MinimumWidth = TOOLTIP_MINIMUM_WIDTH; if(TooltipType == "InventoryPawnViewer") // PawnViewer์ฉ ์ถ๊ฐ - lancelot 2007. 10. 16. { StartItem(); m_Info.eType = DIT_TEXT; m_Info.nOffSetY = 6; m_Info.t_bDrawOneLine = true; m_Info.bLineBreak = true; m_Info.t_strText ="ID : "$string(Item.Id.classID); EndItem(); } ReturnTooltipInfo(m_Tooltip); } ///////////////////////////////////////////////////////////////////////////////// // ACTION function ReturnTooltip_NTT_ACTION(string param, ETooltipSourceType eSourceType) { local ItemInfo Item; local MacroInfo mInfo; local ItemID MacroID; local bool isMacro; local int idx; isMacro = false; if (eSourceType == NTST_ITEM) { ParseString( param, "Name", Item.Name); ParseString( param, "Description", Item.Description); //์ก์ ์ด๋ฆ StartItem(); m_Info.eType = DIT_TEXT; m_Info.t_bDrawOneLine = true; m_Info.t_strText = Item.Name; EndItem(); ParseInt( param, "ClassID", MacroID.ClassID); class'UIDATA_MACRO'.static.GetMacroInfo( MacroID, mInfo ); for ( idx = 0; idx < 12; idx++ ) { if ( mInfo.CommandList[idx] != "" ) { m_Tooltip.MinimumWidth = TOOLTIP_MINIMUM_WIDTH; isMacro = true; StartItem(); m_Info.eType = DIT_TEXT; m_Info.nOffSetY = 6; m_Info.t_bDrawOneLine = false; m_Info.bLineBreak = true; m_Info.t_color.R = 123; m_Info.t_color.G = 63; m_Info.t_color.B = 178; m_Info.t_color.A = 255; m_Info.t_strText = mInfo.CommandList[idx]; EndItem(); } } //์ก์ ์ค๋ช if ((Len(Item.Description)>0) && (!isMacro)) { m_Tooltip.MinimumWidth = TOOLTIP_MINIMUM_WIDTH; StartItem(); m_Info.eType = DIT_TEXT; m_Info.nOffSetY = 6; m_Info.t_bDrawOneLine = false; m_Info.bLineBreak = true; 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.t_strText = Item.Description; EndItem(); } } else { return; } ReturnTooltipInfo(m_Tooltip); } ///////////////////////////////////////////////////////////////////////////////// // SKILL function ReturnTooltip_NTT_SKILL(string param, ETooltipSourceType eSourceType) { local ItemInfo Item; local EItemParamType eItemParamType; local EShortCutItemType eShortCutType; local int nTmp; local int SkillLevel; debug("ํดํ๋ค์ด์ค๋"); if (eSourceType == NTST_ITEM) { ParseItemID( param, Item.ID ); ParseString( param, "Name", Item.Name); ParseString( param, "AdditionalName", Item.AdditionalName); ParseString( param, "Description", Item.Description); ParseInt( param, "Level", Item.Level); eShortCutType = EShortCutItemType(Item.ItemSubType); eItemParamType = EItemParamType(Item.ItemType); SkillLevel = Item.Level; m_Tooltip.MinimumWidth = TOOLTIP_MINIMUM_WIDTH; //์์ดํ ์ด๋ฆ StartItem(); m_Info.eType = DIT_TEXT; m_Info.t_bDrawOneLine = true; m_Info.t_strText = Item.Name; EndItem(); // ์ธ์ฑํธ์ ๋ณํ๋ ๋ ๋ฒจ์ ์๋ ๋ ๋ฒจ๋ก ๋ณํ์์ผ์ค๋ค. if (Len(Item.AdditionalName)>0) { SkillLevel = class'UIDATA_SKILL'.static.GetEnchantSkillLevel( Item.ID, Item.Level ); } //ex) " Lv " StartItem(); m_Info.eType = DIT_TEXT; m_Info.t_bDrawOneLine = true; m_Info.t_strText = " "; EndItem(); StartItem(); m_Info.eType = DIT_TEXT; m_Info.t_bDrawOneLine = true; m_Info.t_color.R = 163; m_Info.t_color.G = 163; m_Info.t_color.B = 163; m_Info.t_color.A = 255; m_Info.t_ID = 88; EndItem(); //์คํฌ ๋ ๋น StartItem(); m_Info.eType = DIT_TEXT; m_Info.t_bDrawOneLine = true; m_Info.t_color.R = 176; m_Info.t_color.G = 155; m_Info.t_color.B = 121; m_Info.t_color.A = 255; m_Info.t_strText = " " $ SkillLevel; EndItem(); // ์ธ์ฑํธ ๋ด์ฉ์ ๋ฟ๋ ค์ฃผ๋ ๊ณณ์ ์ด๊ณณ if (Len(Item.AdditionalName)>0) { StartItem(); m_Info.eType = DIT_TEXT; m_Info.nOffSetX = 5; m_Info.t_bDrawOneLine = true; m_Info.t_color.R = 255; m_Info.t_color.G = 217; m_Info.t_color.B = 105; m_Info.t_color.A = 255; m_Info.t_strText = Item.AdditionalName; EndItem(); } //Operate Type StartItem(); m_Info.eType = DIT_TEXT; m_Info.nOffSetY = 6; m_Info.bLineBreak = true; m_Info.t_bDrawOneLine = true; m_Info.t_color.R = 176; m_Info.t_color.G = 155; m_Info.t_color.B = 121; m_Info.t_color.A = 255; m_Info.t_strText = class'UIDATA_SKILL'.static.GetOperateType( Item.ID, Item.Level ); EndItem(); //์๋ชจHP nTmp = class'UIDATA_SKILL'.static.GetHpConsume( Item.ID, Item.Level ); if (nTmp>0) { AddTooltipItemOption(1195, String(nTmp), true, true, false); } //์๋ชจMP nTmp = class'UIDATA_SKILL'.static.GetMpConsume( Item.ID, Item.Level ); if (nTmp>0) { AddTooltipItemOption(320, String(nTmp), true, true, false); } //์ ํจ๊ฑฐ๋ฆฌ nTmp = class'UIDATA_SKILL'.static.GetCastRange( Item.ID, Item.Level ); if (nTmp>=0) { AddTooltipItemOption(321, String(nTmp), true, true, false); } //์ค๋ช if (Len(Item.Description)>0) { StartItem(); m_Info.eType = DIT_TEXT; m_Info.nOffSetY = 6; m_Info.bLineBreak = true; 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.t_strText = Item.Description; EndItem(); } } else { return; } ReturnTooltipInfo(m_Tooltip); } ///////////////////////////////////////////////////////////////////////////////// // ABNORMALSTATUS function ReturnTooltip_NTT_ABNORMALSTATUS(string param, ETooltipSourceType eSourceType) { local ItemInfo Item; local int ShowLevel; local EItemParamType eItemParamType; local EShortCutItemType eShortCutType; if (eSourceType == NTST_ITEM) { ParseItemID( param, Item.ID ); ParseString( param, "Name", Item.Name); ParseString( param, "AdditionalName", Item.AdditionalName); ParseString( param, "Description", Item.Description); ParseInt( param, "Level", Item.Level); ParseInt( param, "Reserved", Item.Reserved); eShortCutType = EShortCutItemType(Item.ItemSubType); eItemParamType = EItemParamType(Item.ItemType); m_Tooltip.MinimumWidth = TOOLTIP_MINIMUM_WIDTH; //์์ดํ ์ด๋ฆ StartItem(); m_Info.eType = DIT_TEXT; m_Info.t_bDrawOneLine = true; m_Info.t_strText = Item.Name; EndItem(); ShowLevel = Item.Level; if (Len(Item.AdditionalName)>0) { StartItem(); m_Info.eType = DIT_TEXT; m_Info.nOffSetX = 5; m_Info.t_bDrawOneLine = true; m_Info.t_color.R = 255; m_Info.t_color.G = 217; m_Info.t_color.B = 105; m_Info.t_color.A = 255; m_Info.t_strText = Item.AdditionalName; EndItem(); ShowLevel = class'UIDATA_SKILL'.static.GetEnchantSkillLevel( Item.ID, Item.Level ); } //ex) " Lv " StartItem(); m_Info.eType = DIT_TEXT; m_Info.t_bDrawOneLine = true; m_Info.t_strText = " "; EndItem(); StartItem(); m_Info.eType = DIT_TEXT; m_Info.t_bDrawOneLine = true; m_Info.t_color.R = 163; m_Info.t_color.G = 163; m_Info.t_color.B = 163; m_Info.t_color.A = 255; m_Info.t_ID = 88; EndItem(); //์คํฌ ๋ ๋ฒจ StartItem(); m_Info.eType = DIT_TEXT; m_Info.t_bDrawOneLine = true; m_Info.t_color.R = 176; m_Info.t_color.G = 155; m_Info.t_color.B = 121; m_Info.t_color.A = 255; m_Info.t_strText = " " $ ShowLevel; EndItem(); //๋จ์์๊ฐ if (!IsDeBuff(Item.ID, Item.Level) && Item.Reserved>=0) { StartItem(); m_Info.eType = DIT_TEXT; m_Info.nOffSetY = 6; m_Info.bLineBreak = true; m_Info.t_bDrawOneLine = true; m_Info.t_color.R = 163; m_Info.t_color.G = 163; m_Info.t_color.B = 163; m_Info.t_color.A = 255; m_Info.t_ID = 1199; EndItem(); StartItem(); m_Info.eType = DIT_TEXT; m_Info.nOffSetY = 6; m_Info.t_bDrawOneLine = true; m_Info.t_color.R = 163; m_Info.t_color.G = 163; m_Info.t_color.B = 163; m_Info.t_color.A = 255; m_Info.t_strText = " : "; EndItem(); StartItem(); m_Info.eType = DIT_TEXT; m_Info.nOffSetY = 6; m_Info.t_bDrawOneLine = true; m_Info.t_color.R = 176; m_Info.t_color.G = 155; m_Info.t_color.B = 121; m_Info.t_color.A = 255; m_Info.t_strText = MakeBuffTimeStr(Item.Reserved); ParamAdd(m_Info.Condition, "Type", "RemainTime"); EndItem(); } //์ค๋ช if (Len(Item.Description)>0) { StartItem(); m_Info.eType = DIT_TEXT; m_Info.nOffSetY = 6; m_Info.bLineBreak = true; 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.t_strText = Item.Description; EndItem(); } } else { return; } ReturnTooltipInfo(m_Tooltip); } ///////////////////////////////////////////////////////////////////////////////// // NORMALITEM function ReturnTooltip_NTT_NORMALITEM(string param, ETooltipSourceType eSourceType) { local ItemInfo Item; if (eSourceType == NTST_ITEM) { ParseString( param, "Name", Item.Name); ParseString( param, "Description", Item.Description); ParseString( param, "AdditionalName", Item.AdditionalName); ParseInt( param, "CrystalType", Item.CrystalType); //์์ดํ ์ด๋ฆ AddTooltipItemName(Item.Name, Item, 1); //Grade Mark AddTooltipItemGrade(Item); //์ค๋ช if (Len(Item.Description)>0) { m_Tooltip.MinimumWidth = TOOLTIP_MINIMUM_WIDTH; StartItem(); m_Info.eType = DIT_TEXT; m_Info.nOffSetY = 6; m_Info.bLineBreak = true; 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.t_strText = Item.Description; EndItem(); } } else { return; } ReturnTooltipInfo(m_Tooltip); } ///////////////////////////////////////////////////////////////////////////////// // RECIPE function ReturnTooltip_NTT_RECIPE(string param, ETooltipSourceType eSourceType, bool bShowPrice) { local ItemInfo Item; local string strAdena; local string strAdenaComma; local color AdenaColor; if (eSourceType == NTST_ITEM) { ParseString( param, "Name", Item.Name); ParseString( param, "Description", Item.Description); ParseString( param, "AdditionalName", Item.AdditionalName); ParseInt( param, "CrystalType", Item.CrystalType); ParseInt( param, "Weight", Item.Weight); ParseINT64( param, "Price", Item.Price); //์์ดํ ์ด๋ฆ AddTooltipItemName(Item.Name, Item, 1); //Grade Mark AddTooltipItemGrade(Item); //๊ฐ๊ฒฉ if (bShowPrice) { strAdena = Int64ToString(Item.Price); strAdenaComma = MakeCostString(strAdena); AdenaColor = GetNumericColor(strAdenaComma); //๊ฐ๊ฒฉ : xxx,xxx,xxx AddTooltipItemOption(641, strAdenaComma $ " ", true, true, false); SetTooltipItemColor(AdenaColor.R, AdenaColor.G, AdenaColor.B, 0); //"์๋ฐ๋" StartItem(); m_Info.eType = DIT_TEXT; m_Info.nOffSetY = 6; m_Info.t_bDrawOneLine = true; m_Info.t_color = AdenaColor; m_Info.t_ID= 469; EndItem(); //์ฝ์ด์ฃผ๊ธฐ ์คํธ๋ง AddTooltipItemOption(0, "(" $ ConvertNumToText(strAdena) $ ")", false, true, false); SetTooltipItemColor(AdenaColor.R, AdenaColor.G, AdenaColor.B, 0); } //Weight AddTooltipItemOption(52, String(Item.Weight), true, true, false); //์ค๋ช if (Len(Item.Description)>0) { m_Tooltip.MinimumWidth = TOOLTIP_MINIMUM_WIDTH; StartItem(); m_Info.eType = DIT_TEXT; m_Info.nOffSetY = 6; m_Info.bLineBreak = true; 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.t_strText = Item.Description; EndItem(); } } else { return; } ReturnTooltipInfo(m_Tooltip); } ///////////////////////////////////////////////////////////////////////////////// // SHORTCUT function ReturnTooltip_NTT_SHORTCUT(string param, ETooltipSourceType eSourceType) { local ItemInfo Item; local EItemParamType eItemParamType; local EShortCutItemType eShortCutType; local string ItemName; local ShortcutCommandItem commandItem; local int shortcutID; local string strShort; local ItemID MacroID; local MacroInfo mInfo; local int idx; local ShortcutAssignWnd Script; Script = ShortcutAssignWnd( GetScript( "OptionWnd.ShortcutTab" ) ); strShort = "<" $ GetSystemString(1523) $ ": "; if (eSourceType == NTST_ITEM) { if( BoolSelect ) { ParseInt( param, "ItemSubType", Item.ItemSubType); ParseString( param, "Name", Item.Name); ParseInt( param, "RefineryOp1", Item.RefineryOp1); ParseInt( param, "RefineryOp2", Item.RefineryOp2); eShortCutType = EShortCutItemType(Item.ItemSubType); //์์ดํ ์ด๋ฆ ์ทจ๋ ItemName = class'UIDATA_ITEM'.static.GetRefineryItemName( Item.Name, Item.RefineryOp1, Item.RefineryOp2 ); switch (eShortCutType) { case SCIT_ITEM: ReturnTooltip_NTT_ITEM(param, "inventory", eSourceType); break; case SCIT_SKILL: ReturnTooltip_NTT_SKILL(param, eSourceType); break; case SCIT_ACTION: case SCIT_MACRO: if (eSourceType == NTST_ITEM) { ParseString( param, "Name", Item.Name); ParseString( param, "Description", Item.Description); ParseInt( param, "ClassID", MacroID.ClassID); class'UIDATA_MACRO'.static.GetMacroInfo( MacroID, mInfo ); m_Tooltip.MinimumWidth = TOOLTIP_MINIMUM_WIDTH; //์ก์ ์ด๋ฆ StartItem(); m_Info.eType = DIT_TEXT; m_Info.t_bDrawOneLine = true; m_Info.t_strText = Item.Name; EndItem(); //์ก์ ์ค๋ช for ( idx = 0; idx < 12; idx++ ) { if ( mInfo.CommandList[idx] != "" ) { StartItem(); m_Info.eType = DIT_TEXT; m_Info.nOffSetY = 6; m_Info.t_bDrawOneLine = false; m_Info.bLineBreak = true; m_Info.t_color.R = 123; m_Info.t_color.G = 63; m_Info.t_color.B = 178; m_Info.t_color.A = 255; m_Info.t_strText = mInfo.CommandList[idx]; EndItem(); } } } else { return; } ReturnTooltipInfo(m_Tooltip); break; case SCIT_RECIPE: case SCIT_BOOKMARK: //์์ดํ ์ด๋ฆ m_Tooltip.MinimumWidth = TOOLTIP_MINIMUM_WIDTH; StartItem(); m_Info.eType = DIT_TEXT; //m_Info.bLineBreak = true; m_Info.t_bDrawOneLine = true; m_Info.t_strText = ItemName; EndItem(); break; default: ReturnTooltipInfo(m_Tooltip); break; } ParseINT(param, "ShortcutID", shortcutID); if( GetOptionBool( "Game", "EnterChatting" ) ) { class'ShortcutAPI'.static.GetAssignedKeyFromCommand("TempStateShortcut", "UseShortcutItem Num=" $ shortcutID, commandItem); } else { class'ShortcutAPI'.static.GetAssignedKeyFromCommand("GamingStateShortcut", "UseShortcutItem Num=" $ shortcutID, commandItem); } //๋จ์ถํค ์ค๋ช ... if( commandItem.subkey1 != "" ) { strShort = strShort $ Script.GetUserReadableKeyName( commandItem.subkey1 ) $ "+"; } if( commandItem.subkey2 != "" ) { strShort = strShort $ Script.GetUserReadableKeyName( commandItem.subkey2 ) $ "+"; } if( commandItem.Key != "" ) { strShort = strShort $ Script.GetUserReadableKeyName( commandItem.Key ) $ ">"; } if( commandItem.subkey1 == "" && commandItem.subkey2 == "" && commandItem.Key == "" ) { strShort = strShort $ GetSystemString(27) $">"; } //์ค์ถ๊ฐ~ AddTooltipItemBlank(6); StartItem(); m_Info.eType = DIT_SPLITLINE; m_Info.u_nTextureWidth = TOOLTIP_MINIMUM_WIDTH; m_Info.u_nTextureHeight = 1; m_Info.u_strTexture ="L2ui_ch3.tooltip_line"; EndItem(); if( ItemName != "" ) { AddTooltipItemBlank(5); StartItem(); m_Info.eType = DIT_TEXT; m_Info.t_strText = strShort; EndItem(); AddTooltipItemBlank(1); ReturnTooltipInfo(m_Tooltip); } return; } else { ParseItemID( param, Item.ID ); ParseString( param, "Name", Item.Name); ParseString( param, "AdditionalName", Item.AdditionalName); ParseInt( param, "Level", Item.Level); ParseInt( param, "Reserved", Item.Reserved); ParseInt( param, "Enchanted", Item.Enchanted); ParseInt( param, "ItemType", Item.ItemType); ParseInt( param, "ItemSubType", Item.ItemSubType); ParseInt( param, "CrystalType", Item.CrystalType); ParseInt( param, "ConsumeType", Item.ConsumeType); ParseInt( param, "RefineryOp1", Item.RefineryOp1); ParseInt( param, "RefineryOp2", Item.RefineryOp2); ParseINT64( param, "ItemNum", Item.ItemNum); ParseInt( param, "MpConsume", Item.MpConsume); //branch ParseInt ( param, "IsBRPremium", Item.IsBRPremium); //end of branch eShortCutType = EShortCutItemType(Item.ItemSubType); eItemParamType = EItemParamType(Item.ItemType); //์์ดํ ์ด๋ฆ ์ทจ๋ ItemName = class'UIDATA_ITEM'.static.GetRefineryItemName( Item.Name, Item.RefineryOp1, Item.RefineryOp2 ); switch (eShortCutType) { case SCIT_ITEM: //branch AddPrimeItemSymbol(Item); //end of branch //์ธ์ฒธํธ ex) "+10" AddTooltipItemEnchant(Item); //์์ดํ ์ด๋ฆ AddTooltipItemName(ItemName, Item, 1); //Grade Mark AddTooltipItemGrade(Item); //์์ดํ ๊ฐฏ์ AddTooltipItemCount(Item); break; case SCIT_SKILL: //์์ดํ ์ด๋ฆ StartItem(); m_Info.eType = DIT_TEXT; m_Info.t_bDrawOneLine = true; m_Info.t_strText = ItemName; EndItem(); if (Len(Item.AdditionalName)>0) { StartItem(); m_Info.eType = DIT_TEXT; m_Info.nOffSetX = 5; m_Info.t_bDrawOneLine = true; m_Info.t_color.R = 255; m_Info.t_color.G = 217; m_Info.t_color.B = 105; m_Info.t_color.A = 255; m_Info.t_strText = Item.AdditionalName; EndItem(); Item.Level = class'UIDATA_SKILL'.static.GetEnchantSkillLevel( Item.ID, Item.Level ); } //ex) " Lv " StartItem(); m_Info.eType = DIT_TEXT; m_Info.t_bDrawOneLine = true; m_Info.t_strText = " "; EndItem(); StartItem(); m_Info.eType = DIT_TEXT; m_Info.t_bDrawOneLine = true; m_Info.t_color.R = 163; m_Info.t_color.G = 163; m_Info.t_color.B = 163; m_Info.t_color.A = 255; m_Info.t_ID = 88; EndItem(); //์คํฌ ๋ ๋น StartItem(); m_Info.eType = DIT_TEXT; m_Info.t_bDrawOneLine = true; m_Info.t_color.R = 176; m_Info.t_color.G = 155; m_Info.t_color.B = 121; m_Info.t_color.A = 255; m_Info.t_strText = " " $ Item.Level; EndItem(); //MP์๋ชจ๋ StartItem(); m_Info.eType = DIT_TEXT; m_Info.t_bDrawOneLine = true; m_Info.t_strText = " ("; EndItem(); StartItem(); m_Info.eType = DIT_TEXT; m_Info.t_bDrawOneLine = true; m_Info.t_ID = 91; EndItem(); StartItem(); m_Info.eType = DIT_TEXT; m_Info.t_bDrawOneLine = true; m_Info.t_strText = ":" $ Item.MpConsume $ ")"; EndItem(); break; case SCIT_ACTION: case SCIT_MACRO: case SCIT_RECIPE: case SCIT_BOOKMARK: //์์ดํ ์ด๋ฆ StartItem(); m_Info.eType = DIT_TEXT; m_Info.t_bDrawOneLine = true; m_Info.t_strText = ItemName; EndItem(); break; } } } else { return; } ReturnTooltipInfo(m_Tooltip); } ///////////////////////////////////////////////////////////////////////////////// // RECIPE_MANUFACTURE function ReturnTooltip_NTT_RECIPE_MANUFACTURE(string param, ETooltipSourceType eSourceType) { local ItemInfo Item; local bool bLargeWidth; // local RecipeManufactureWnd script_rm; local string nTmp,strCry,strSell; // script_rm = RecipeManufactureWnd(GetScript("RecipeManufactureWnd")); if (eSourceType == NTST_ITEM) { nTmp = ""; ParseString( param, "Name", Item.Name); ParseString( param, "Description", Item.Description); ParseString( param, "AdditionalName", Item.AdditionalName); ParseINT64( param, "Reserved64", Item.Reserved64); ParseInt( param, "CrystalType", Item.CrystalType); ParseINT64( param, "ItemNum", Item.ItemNum); m_Tooltip.MinimumWidth = TOOLTIP_MINIMUM_WIDTH; //์์ดํ ์ด๋ฆ AddTooltipItemName(Item.Name, Item, 1); //Grade Mark AddTooltipItemGrade(Item); //ex) "ํ์์ : 2" AddTooltipItemOption(736, MakeCostString(Int64ToString(Item.Reserved64 * IntToInt64(int(class'UIAPI_EDITBOX'.static.GetString("RecipeManufactureWnd.QuantityEB"))))), true, true, false); if ((Item.Reserved64 * IntToInt64(int(class'UIAPI_EDITBOX'.static.GetString("RecipeManufactureWnd.QuantityEB")))) >(Item.ItemNum)) nTmp = " (" $ MakeCostString(Int64ToString(Item.Reserved64 * IntToInt64(int(class'UIAPI_EDITBOX'.static.GetString("RecipeManufactureWnd.QuantityEB"))) - Item.ItemNum)) $ ")"; //ex) "๋ณด์ ์ : 0" if (Int64ToString(Item.ItemNum)=="") AddTooltipItemOption(737, "0" $ nTmp, true, true, false); else AddTooltipItemOption(737, MakeCostString(Int64ToString(Item.ItemNum)) $ nTmp, true, true, false); // if ((Item.Reserved64 * IntToInt64(int(class'UIAPI_EDITBOX'.static.GetString("RecipeManufactureWnd.QuantityEB")))) > // (Item.ItemNum)) // AddTooltipItemOption(0, Int64ToString(Item.Reserved64 * IntToInt64(int(class'UIAPI_EDITBOX'.static.GetString("RecipeManufactureWnd.QuantityEB"))) - Item.ItemNum), false, true, false); //์ค๋ช ParseString(Item.Description, "Cry", strCry); ParseString(Item.Description, "Sell", strSell); if (Len(Item.Description)>(Len(strCry) + 5 + Len(strSell) + 5)) { bLargeWidth = true; StartItem(); m_Info.eType = DIT_TEXT; m_Info.nOffSetY = 6; m_Info.bLineBreak = true; m_Info.t_color.R = 178; m_Info.t_color.G = 190; m_Info.t_color.B = 207; m_Info.t_color.A = 255; if (Len(strSell)>0) Item.Description = Left(Item.Description, Len(Item.Description) - Len(strSell) - 5); if (Len(strCry)>0) Item.Description = Left(Item.Description, Len(Item.Description) - Len(strCry) - 5); // if (Len(strTmp)>0) Item.Description = Left(Item.Description, Len(Item.Description) - Len(strTmp) - 4); // Item.Description = Left(Item.Description,Len(Item.Description) - Len(strTmp) - Len(strCry) - Len(strSell) ); // if (Right(Item.Description,1) != ".") Item.Description = Item.Description $ "."; m_Info.t_strText = Item.Description; EndItem(); } } else { return; } ReturnTooltipInfo(m_Tooltip); } ///////////////////////////////////////////////////////////////////////////////// function ReturnTooltip_NTT_RECIPE_MANUFACTUREBUY(string param, ETooltipSourceType eSourceType) { local ItemInfo Item; local bool bLargeWidth; // local RecipeManufactureWnd script_rm; local string nTmp,strCry,strSell; // script_rm = RecipeManufactureWnd(GetScript("RecipeManufactureWnd")); if (eSourceType == NTST_ITEM) { nTmp = ""; ParseString( param, "Name", Item.Name); ParseString( param, "Description", Item.Description); ParseString( param, "AdditionalName", Item.AdditionalName); ParseINT64( param, "Reserved64", Item.Reserved64); ParseInt( param, "CrystalType", Item.CrystalType); ParseINT64( param, "ItemNum", Item.ItemNum); m_Tooltip.MinimumWidth = TOOLTIP_MINIMUM_WIDTH; //์์ดํ ์ด๋ฆ AddTooltipItemName(Item.Name, Item, 1); //Grade Mark AddTooltipItemGrade(Item); //ex) "ํ์์ : 2" AddTooltipItemOption(736, MakeCostString(Int64ToString(Item.Reserved64 * IntToInt64(int(class'UIAPI_EDITBOX'.static.GetString("RecipeBuyManufactureWnd.QuantityEB"))))), true, true, false); if ((Item.Reserved64 * IntToInt64(int(class'UIAPI_EDITBOX'.static.GetString("RecipeBuyManufactureWnd.QuantityEB")))) >(Item.ItemNum)) nTmp = " (" $ MakeCostString(Int64ToString(Item.Reserved64 * IntToInt64(int(class'UIAPI_EDITBOX'.static.GetString("RecipeBuyManufactureWnd.QuantityEB"))) - Item.ItemNum)) $ ")"; //ex) "๋ณด์ ์ : 0" if (Int64ToString(Item.ItemNum)=="") AddTooltipItemOption(737, "0" $ nTmp, true, true, false); else AddTooltipItemOption(737, MakeCostString(Int64ToString(Item.ItemNum)) $ nTmp, true, true, false); // if ((Item.Reserved64 * IntToInt64(int(class'UIAPI_EDITBOX'.static.GetString("RecipeManufactureWnd.QuantityEB")))) > // (Item.ItemNum)) // AddTooltipItemOption(0, Int64ToString(Item.Reserved64 * IntToInt64(int(class'UIAPI_EDITBOX'.static.GetString("RecipeManufactureWnd.QuantityEB"))) - Item.ItemNum), false, true, false); //์ค๋ช ParseString(Item.Description, "Cry", strCry); ParseString(Item.Description, "Sell", strSell); if (Len(Item.Description)>(Len(strCry) + 5 + Len(strSell) + 5)) { bLargeWidth = true; StartItem(); m_Info.eType = DIT_TEXT; m_Info.nOffSetY = 6; m_Info.bLineBreak = true; m_Info.t_color.R = 178; m_Info.t_color.G = 190; m_Info.t_color.B = 207; m_Info.t_color.A = 255; if (Len(strSell)>0) Item.Description = Left(Item.Description, Len(Item.Description) - Len(strSell) -5); if (Len(strCry)>0) Item.Description = Left(Item.Description, Len(Item.Description) - Len(strCry) - 5); // if (Len(strTmp)>0) Item.Description = Left(Item.Description, Len(Item.Description) - Len(strTmp) - 4); // Item.Description = Left(Item.Description,Len(Item.Description) - Len(strTmp) - Len(strCry) - Len(strSell) ); m_Info.t_strText = Item.Description; EndItem(); } } else { return; } ReturnTooltipInfo(m_Tooltip); } ///////////////////////////////////////////////////////////////////////////////// // PLEDGEINFO function ReturnTooltip_NTT_CLANINFO(string param, ETooltipSourceType eSourceType) { local LVDataRecord record; if (eSourceType == NTST_LIST) { ParamToRecord( param, record ); //ex) "์ง์ : ์๋ธ๋ฉ์ด์ง" AddTooltipItemOption(391, GetClassType(int(record.LVDataList[2].szData)), true, true, true); } else { return; } ReturnTooltipInfo(m_Tooltip); } //by Merc function ReturnTooltip_NTT_RADARINFO(string param, ETooltipSourceType eSourceType) { local LVDataRecord record; if (eSourceType == NTST_LIST) { ParamToRecord( param, record ); //ex) "์ง์ : ์๋ธ๋ฉ์ด์ง" AddTooltipItemOption(391, GetClassType(int(record.LVDataList[3].szData)), true, true, true); } else { return; } ReturnTooltipInfo(m_Tooltip); } // AutoSS function ReturnTooltip_NTT_AUTOSSINFO(string param, ETooltipSourceType eSourceType) { local ItemInfo Item; local string ItemName; if (eSourceType == NTST_ITEM) { ParseItemID( param, Item.ID ); ParseString( param, "Name", Item.Name); ParseString( param, "AdditionalName", Item.AdditionalName); ParseInt( param, "Level", Item.Level); ParseInt( param, "Reserved", Item.Reserved); ParseInt( param, "Enchanted", Item.Enchanted); ParseInt( param, "ItemType", Item.ItemType); ParseInt( param, "ItemSubType", Item.ItemSubType); ParseInt( param, "CrystalType", Item.CrystalType); ParseInt( param, "ConsumeType", Item.ConsumeType); ParseInt( param, "RefineryOp1", Item.RefineryOp1); ParseInt( param, "RefineryOp2", Item.RefineryOp2); ParseINT64( param, "ItemNum", Item.ItemNum); ParseInt( param, "MpConsume", Item.MpConsume); ParseInt ( param, "IsBRPremium", Item.IsBRPremium); ItemName = class'UIDATA_ITEM'.static.GetRefineryItemName( Item.Name, Item.RefineryOp1, Item.RefineryOp2 ); AddPrimeItemSymbol(Item); AddTooltipItemEnchant(Item); AddTooltipItemName(ItemName, Item, 1); AddTooltipItemGrade(Item); AddTooltipItemCount(Item); } else { return; } ReturnTooltipInfo(m_Tooltip); } // RadarResize function ReturnTooltip_NTT_RADARRESIZE(string param, ETooltipSourceType eSourceType) { local ItemInfo Item; if (eSourceType == NTST_ITEM) { ParseString( param, "Name", Item.Name); StartItem(); m_Info.eType = DIT_TEXT; m_Info.t_bDrawOneLine = true; m_Info.t_strText = Item.Name; EndItem(); } else { return; } ReturnTooltipInfo(m_Tooltip); } //์ ์ค ์์ (2010.03.30) ์๋ฃ function ReturnTooltip_NTT_POSTINFO(string param, ETooltipSourceType eSourceType) { local LVDataRecord record; if (eSourceType == NTST_LIST) { ParamToRecord( param, record ); //ex) "์ง์ : ์๋ธ๋ฉ์ด์ง" AddTooltipItemOption(391, GetClassType(int(record.LVDataList[1].szData)), true, true, true); } else { return; } ReturnTooltipInfo(m_Tooltip); } //์ ์ค ์์ (2010.02.22 ~ 03.08) ์๋ฃ ///////////////////////////////////////////////////////////////////////////////// // ROOMLIST function ReturnTooltip_NTT_ROOMLIST(string param, ETooltipSourceType eSourceType) { local int i; local LVDataRecord record; local int len; m_Tooltip.MinimumWidth = TOOLTIP_MINIMUM_WIDTH + 40; if (eSourceType == NTST_LIST) { ParamToRecord( param, record ); len = int( record.LVDataList[6].szData ); for( i = 0 ; i < len ; i++ ) { StartItem(); m_Info.eType = DIT_TEXTURE; if (!class'UIAPI_CHECKBOX'.static.IsChecked("FlexOptionWnd.enableDetailIcons")) { m_Info.nOffSetX = -2; m_Info.nOffSetY = -2; } m_Info.u_nTextureWidth = 16; m_Info.u_nTextureHeight = 16; m_Info.u_strTexture = GetDetailedClassIconName( record.LVDataList[7 + i].nReserved1, 4); EndItem(); StartItem(); m_Info.eType = DIT_TEXT; m_Info.t_bDrawOneLine = false; m_Info.t_color.R = 163; m_Info.t_color.G = 163; m_Info.t_color.B = 163; m_Info.t_color.A = 255; m_Info.t_strText = " " $ record.LVDataList[7 + i].szData; EndItem(); if( i != len - 1 ) { AddTooltipItemBlank(2); } } //ex) "์ง์ : ์๋ธ๋ฉ์ด์ง" //AddTooltipItemOption(391, GetClassType(int(record.LVDataList[2].szData)), true, true, true); } else { return; } ReturnTooltipInfo(m_Tooltip); } ///////////////////////////////////////////////////////////////////////////////// // USERLIST function ReturnTooltip_NTT_USERLIST(string param, ETooltipSourceType eSourceType) { local LVDataRecord record; m_Tooltip.MinimumWidth = TOOLTIP_MINIMUM_WIDTH + 80; if (eSourceType == NTST_LIST) { ParamToRecord( param, record ); //ex) "์ง์ : ์๋ธ๋ฉ์ด์ง" AddTooltipItemOption(391, GetClassType(int(record.LVDataList[1].szData)), true, true, true); AddTooltipItemBlank(0); //ex)๊ท์ ์ง์ญ : StartItem(); m_Info.eType = DIT_TEXT; m_Info.t_color.R = 163; m_Info.t_color.G = 163; m_Info.t_color.B = 163; m_Info.t_color.A = 255; m_Info.t_strText = GetSystemString( 2276 ) $ " : "; EndItem(); //์ค๋ช StartItem(); m_Info.eType = DIT_TEXT; m_Info.t_color.R = 176; m_Info.t_color.G = 155; m_Info.t_color.B = 121; m_Info.t_color.A = 255; if( record.LVDataList[5].szData == "" ) { m_Info.t_strText = GetSystemString( 27 ); } else { m_Info.t_strText = record.LVDataList[5].szData; } EndItem(); } else { return; } ReturnTooltipInfo(m_Tooltip); } ///////////////////////////////////////////////////////////////////////////////// // PARTYMATCH function ReturnTooltip_NTT_PARTYMATCH(string param, ETooltipSourceType eSourceType) { local LVDataRecord record; m_Tooltip.MinimumWidth = TOOLTIP_MINIMUM_WIDTH + 80; if (eSourceType == NTST_LIST) { ParamToRecord( param, record ); //ex) "์ง์ : ์๋ธ๋ฉ์ด์ง" AddTooltipItemOption(391, GetClassType(int(record.LVDataList[1].szData)), true, true, true); //์ ์ค ์์ (2010.02.22 ~ 03.08) ์๋ฃ //ex)ํ์ฌ ์์น : ๊ธ๋ฃจ๋์ค AddTooltipItemOption(471, GetZoneNameWithZoneID(int(record.LVDataList[3].szReserved)), true, true, true); /* AddTooltipItemBlank(0); //๊ท์์ง์ญ StartItem(); m_Info.eType = DIT_TEXT; m_Info.t_bDrawOneLine = false; m_Info.t_color.R = 163; m_Info.t_color.G = 163; m_Info.t_color.B = 163; m_Info.t_color.A = 255; m_Info.t_strText = GetSystemString( 2276 ) @ ":"; EndItem(); //์ค๋ช StartItem(); m_Info.eType = DIT_TEXT; m_Info.t_color.R = 176; m_Info.t_color.G = 155; m_Info.t_color.B = 121; m_Info.t_color.A = 255; if( record.LVDataList[4].szData == "" ) { //m_Info.bLineBreak = true; m_Info.t_strText = "" @ GetSystemString( 27 ); } else { m_Info.bLineBreak = true; m_Info.t_strText = record.LVDataList[4].szData; } EndItem(); */ AddTooltipItemBlank(0); //ex)๊ท์ ์ง์ญ : StartItem(); m_Info.eType = DIT_TEXT; m_Info.t_color.R = 163; m_Info.t_color.G = 163; m_Info.t_color.B = 163; m_Info.t_color.A = 255; m_Info.t_strText = GetSystemString( 2276 ) $ " : "; //m_Info.t_strText = "๊ท์ ์ง์ญ : "; EndItem(); //์ค๋ช StartItem(); m_Info.eType = DIT_TEXT; m_Info.t_color.R = 176; m_Info.t_color.G = 155; m_Info.t_color.B = 121; m_Info.t_color.A = 255; if( record.LVDataList[4].szReserved == "" ) { m_Info.t_strText = GetSystemString( 27 ); } else { m_Info.t_strText = record.LVDataList[4].szReserved; } EndItem(); } else { return; } ReturnTooltipInfo(m_Tooltip); } //์ ์ค ์ถ๊ฐ UNION ์์ ์ง์ ๋ง ๋์ค๋ ๊ฒฝ์ฐ. ///////////////////////////////////////////////////////////////////////////////// // UINONLIST function ReturnTooltip_NTT_UNIONLIST(string param, ETooltipSourceType eSourceType) { local LVDataRecord record; if (eSourceType == NTST_LIST) { ParamToRecord( param, record ); //ex) "์ง์ : ์๋ธ๋ฉ์ด์ง" AddTooltipItemOption(391, GetClassType(int(record.LVDataList[1].szData)), true, true, true); } else { return; } ReturnTooltipInfo(m_Tooltip); } ///////////////////////////////////////////////////////////////////////////////// // QUESTLIST function ReturnTooltip_NTT_QUESTLIST(string param, ETooltipSourceType eSourceType) { local LVDataRecord record; local int nTmp; if (eSourceType == NTST_LIST) { ParamToRecord( param, record ); //ํ์คํธ ์ด๋ฆ AddTooltipItemOption(1200, record.LVDataList[0].szData, true, true, true); //๋ฐ๋ณต์ฑ switch(record.LVDataList[3].nReserved1) { case 0: case 2: nTmp = 861; break; case 1: case 3: nTmp = 862; break; } AddTooltipItemOption2(1202, nTmp, true, true, false); } else { return; } ReturnTooltipInfo(m_Tooltip); } ///////////////////////////////////////////////////////////////////////////////// // RAIDLIST function ReturnTooltip_NTT_RAIDLIST(string param, ETooltipSourceType eSourceType) { local LVDataRecord record; if (eSourceType == NTST_LIST) { ParamToRecord( param, record ); if (Len(record.szReserved)<1) return; m_Tooltip.MinimumWidth = TOOLTIP_MINIMUM_WIDTH; //๋ ์ด๋ ์ค๋ช StartItem(); m_Info.eType = DIT_TEXT; m_Info.t_bDrawOneLine = false; 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.t_strText = record.szReserved; EndItem(); } else { return; } ReturnTooltipInfo(m_Tooltip); } ///////////////////////////////////////////////////////////////////////////////// // QUESTINFO function ReturnTooltip_NTT_QUESTINFO(string param, ETooltipSourceType eSourceType) { local LVDataRecord record; local int nTmp; local int Width1; local int Width2; local int Height; if (eSourceType == NTST_LIST) { ParamToRecord( param, record ); //ํ์คํธ ์ด๋ฆ AddTooltipItemOption(1200, record.LVDataList[0].szData, true, true, true); //์ํ์กฐ๊ฑด AddTooltipItemOption(1201, record.LVDataList[1].szData, true, true, false); //Width๊ฒฐ์ ! GetTextSizeDefault(GetSystemString(1200) $ " : " $ record.LVDataList[0].szData, Width1, Height); GetTextSizeDefault(GetSystemString(1201) $ " : " $ record.LVDataList[1].szData, Width2, Height); if (Width2>Width1) Width1 = Width2; if (TOOLTIP_MINIMUM_WIDTH>Width1) Width1 = TOOLTIP_MINIMUM_WIDTH; m_Tooltip.MinimumWidth = Width1 + 30; //์ถ์ฒ๋ ๋ฒจ AddTooltipItemOption(922, record.LVDataList[2].szData, true, true, false); //๋ฐ๋ณต์ฑ switch(record.LVDataList[3].nReserved1) { case 0: case 2: nTmp = 861; break; case 1: case 3: nTmp = 862; break; } AddTooltipItemOption2(1202, nTmp, true, true, false); //ํ์คํธ์ค๋ช StartItem(); m_Info.eType = DIT_TEXT; m_Info.nOffSetY = 6; m_Info.t_bDrawOneLine = false; m_Info.bLineBreak = true; 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.t_strText = record.szReserved; EndItem(); } else { return; } ReturnTooltipInfo(m_Tooltip); } ///////////////////////////////////////////////////////////////////////////////// // MANOR function ReturnTooltip_NTT_MANOR(string param, string TooltipType, ETooltipSourceType eSourceType) { local LVDataRecord record; local int idx1; local int idx2; local int idx3; if (eSourceType == NTST_LIST) { ParamToRecord( param, record ); if (TooltipType == "ManorSeedInfo") { idx1 = 4; idx2 = 5; idx3 = 6; } else if (TooltipType == "ManorCropInfo") { idx1 = 5; idx2 = 6; idx3 = 7; } else if (TooltipType == "ManorSeedSetting") { idx1 = 7; idx2 = 8; idx3 = 9; } else if (TooltipType == "ManorCropSetting") { idx1 = 9; idx2 = 10; idx3 = 11; } else if (TooltipType == "ManorDefaultInfo") { idx1 = 1; idx2 = 4; idx3 = 5; } else if (TooltipType == "ManorCropSell") { idx1 = 7; idx2 = 8; idx3 = 9; } // ์จ์ or ์๋ฌผ ์ด๋ฆ AddTooltipItemOption(0, record.LVDataList[0].szData, false, true, true); // ๋ ๋ฒจ AddTooltipItemOption(537, record.LVDataList[idx1].szData, true, true, false); // ๋ณด์ ํ์ 1 AddTooltipItemOption(1134, record.LVDataList[idx2].szData, true, true, false); // ๋ณด์ ํ์ 2 AddTooltipItemOption(1135, record.LVDataList[idx3].szData, true, true, false); } else { return; } ReturnTooltipInfo(m_Tooltip); } // [ํ์คํธ ์์ดํ ํดํ ์ถ๊ฐ] function ReturnTooltip_NTT_QUESTREWARDS(string param, ETooltipSourceType eSourceType) { // [ํ์คํธ ์์ดํ ํดํ ์ถ๊ฐ] ์ด ๋ถ๋ถ์ ํ์คํธ ์์ดํ ํดํ์ ๊ฑธ๋ง๋ ์ฝ๋๊ฐ ๋ค์ด๊ฐ๋ฉด ๋ ๊ฒ ๊ฐ์ต๋๋ค. // 2009.10.14 // ReturnTooltip_NTT_ITEM(param, "Inventoty", eSourceType); ReturnTooltip_NTT_ITEM(param, "QuestReward", eSourceType); } //"XXX : YYYY" ํํ์ TooltipItem์ ํธํ๊ฒ ์ถ๊ฐํด ์ค๋ค. function AddTooltipItemOption(int TitleID, string Content, bool bTitle, bool bContent, bool IamFirst) { if (bTitle) { StartItem(); m_Info.eType = DIT_TEXT; if (!IamFirst) m_Info.nOffSetY = 6; m_Info.bLineBreak = true; m_Info.t_bDrawOneLine = true; m_Info.t_color.R = 163; m_Info.t_color.G = 163; m_Info.t_color.B = 163; m_Info.t_color.A = 255; m_Info.t_ID = TitleID; EndItem(); } if (Content != "0") { if (bContent) { if (bTitle) { StartItem(); m_Info.eType = DIT_TEXT; if (!IamFirst) m_Info.nOffSetY = 6; m_Info.t_bDrawOneLine = true; m_Info.t_color.R = 163; m_Info.t_color.G = 163; m_Info.t_color.B = 163; m_Info.t_color.A = 255; m_Info.t_strText = " : "; EndItem(); } StartItem(); m_Info.eType = DIT_TEXT; if (!IamFirst) m_Info.nOffSetY = 6; if (!bTitle) m_Info.bLineBreak = true; m_Info.t_bDrawOneLine = true; m_Info.t_color.R = 176; m_Info.t_color.G = 155; m_Info.t_color.B = 121; m_Info.t_color.A = 255; m_Info.t_strText = Content; EndItem(); } } } //"XXX : YYYY" ํํ์ TooltipItem์ ํธํ๊ฒ ์ถ๊ฐํด ์ค๋ค. //SYSSTRING : SYSSTRING function AddTooltipItemOption2(int TitleID, int ContentID, bool bTitle, bool bContent, bool IamFirst) { if (bTitle) { StartItem(); m_Info.eType = DIT_TEXT; if (!IamFirst) m_Info.nOffSetY = 6; m_Info.bLineBreak = true; m_Info.t_bDrawOneLine = true; m_Info.t_color.R = 163; m_Info.t_color.G = 163; m_Info.t_color.B = 163; m_Info.t_color.A = 255; m_Info.t_ID = TitleID; EndItem(); } if (bContent) { if (bTitle) { StartItem(); m_Info.eType = DIT_TEXT; if (!IamFirst) m_Info.nOffSetY = 6; m_Info.t_bDrawOneLine = true; m_Info.t_color.R = 163; m_Info.t_color.G = 163; m_Info.t_color.B = 163; m_Info.t_color.A = 255; m_Info.t_strText = " : "; EndItem(); } StartItem(); m_Info.eType = DIT_TEXT; if (!IamFirst) m_Info.nOffSetY = 6; if (!bTitle) m_Info.bLineBreak = true; m_Info.t_bDrawOneLine = true; m_Info.t_color.R = 176; m_Info.t_color.G = 155; m_Info.t_color.B = 121; m_Info.t_color.A = 255; m_Info.t_ID = ContentID; EndItem(); } } //์์ดํ ์ ์์์ ๋ค์ ์ค์ ํด์ค๋ค. function SetTooltipItemColor(int R, int G, int B, int Offset) { local int idx; idx = m_Tooltip.DrawList.Length-1-Offset; m_Tooltip.DrawList[idx].t_color.R = R; m_Tooltip.DrawList[idx].t_color.G = G; m_Tooltip.DrawList[idx].t_color.B = B; m_Tooltip.DrawList[idx].t_color.A = 255; } //๋น๊ณต๊ฐ์ TooltipItem์ ์ถ๊ฐํ๋ค. function AddTooltipItemBlank(int Height) { StartItem(); m_Info.eType = DIT_BLANK; m_Info.b_nHeight = Height; EndItem(); } function AddTooltipSimpleName( string strText) { StartItem(); m_Info.eType = DIT_TEXT; m_Info.t_bDrawOneLine = true; m_Info.t_strText = strText; EndItem(); } //์ธ์ฒธํธ function AddTooltipItemEnchant(ItemInfo Item) { local EItemParamType eItemParamType; eItemParamType = EItemParamType(Item.ItemType); if (Item.Enchanted>0 && IsEnchantableItem(eItemParamType)) { StartItem(); m_Info.eType = DIT_TEXT; m_Info.t_bDrawOneLine = true; m_Info.t_color.R = 176; m_Info.t_color.G = 155; m_Info.t_color.B = 121; m_Info.t_color.A = 255; m_Info.t_strText = "+" $ Item.Enchanted $ " "; EndItem(); } } //์์ดํ ์ด๋ฆ + AdditionalName function AddTooltipItemName(string Name, ItemInfo Item, int AddTooltipItemName) { StartItem(); m_Info.eType = DIT_TEXT; m_Info.t_bDrawOneLine = true; switch (AddTooltipItemName) { case 0: m_Info.t_color.R = 137; m_Info.t_color.G = 137; m_Info.t_color.B = 137; m_Info.t_color.A = 255; break; case 1: m_Info.t_color.R = 255; m_Info.t_color.G = 255; m_Info.t_color.B = 255; m_Info.t_color.A = 255; break; case 2: m_Info.t_color.R = 255; m_Info.t_color.G = 251; m_Info.t_color.B = 4; m_Info.t_color.A = 255; break; case 3: m_Info.t_color.R = 255; m_Info.t_color.G = 0; m_Info.t_color.B = 255; m_Info.t_color.A = 255; break; } m_Info.t_strText = Name; EndItem(); //Additional Name if (Len(Item.AdditionalName)>0) { StartItem(); m_Info.eType = DIT_TEXT; m_Info.t_bDrawOneLine = true; m_Info.t_color.R = 255; m_Info.t_color.G = 217; m_Info.t_color.B = 105; m_Info.t_color.A = 255; m_Info.t_strText = " " $ Item.AdditionalName; EndItem(); } } //Grade Mark function AddTooltipItemGrade(ItemInfo Item) { local string TextureName; TextureName = GetItemGradeTextureName(Item.CrystalType); //debug ("TextureName" @ TextureName); //debug (TextureName @ Item.CrystalType @ GetItemGradeTextureName(Item.CrystalType)); if (Len(TextureName)>0) { StartItem(); m_Info.eType = DIT_TEXTURE; m_Info.nOffSetX = 2; m_Info.nOffSetY = 0; //S80 ๊ทธ๋ ์ด๋์ผ ๊ฒฝ์ฐ์ ํํด ์์ด์ฝ ํ ์ค์ณ ํฌ๊ธฐ๋ฅผ 2๋ฐฐ๋ก ๋๋ฆฐ๋ค. //debug ("ํ ์ค์ณ ์ด๋ฆ"@ Item.CrystalType ); if (Item.CrystalType == 6 || Item.CrystalType == 7) { m_Info.u_nTextureWidth = 32; m_Info.u_nTextureHeight = 16; m_Info.u_nTextureUWidth = 32; m_Info.u_nTextureUHeight = 16; //debug (TextureName @ Item.CrystalType @ GetItemGradeTextureName(Item.CrystalType)); } //๊ธฐํ ๊ทธ๋ ์ด๋์ ๋ํด ์์ด์ฝ ํ ์ค์ณ ํฌ๊ธฐ๋ฅผ ์ธํ ํ๋ค. else { m_Info.u_nTextureWidth = 16; m_Info.u_nTextureHeight = 16; m_Info.u_nTextureUWidth = 16; m_Info.u_nTextureUHeight = 16; } m_Info.u_strTexture = TextureName; EndItem(); } } //Stackable Count function AddTooltipItemCount(ItemInfo Item) { if (IsStackableItem(Item.ConsumeType)) { StartItem(); m_Info.eType = DIT_TEXT; m_Info.t_bDrawOneLine = true; m_Info.t_strText = " (" $ MakeCostString(Int64ToString(Item.ItemNum)) $ ")"; EndItem(); } } //์ ๋ จ ์์ function GetRefineryColor(int Quality, out int R, out int G, out int B) { switch (Quality) { case 1: R = 187; G = 181; B = 138; break; case 2: R = 132; G = 174; B = 216; break; case 3: R = 193; G = 112; B = 202; break; case 4: R = 225; G = 109; B = 109; break; default: R = 187; G = 181; B = 138; break; } } //์์ฑ ๊ฒ์ด์ง ๊ทธ๋ ค์ฃผ๊ธฐ function AddTooltipItemAttributeGage(ItemInfo Item) { local int i; //local int highAttrValue[6]; local Array<string> textureName, tooltipStr; for(i = 0; i < 6; i++) { textureName[i] = ""; tooltipStr[i] = ""; } NowAttrLv =0; NowMaxValue =0; NowValue =0; // ๊ณต๊ฒฉ ์์ดํ ์์ฑ if (Item.AttackAttributeValue > 0) { SetAttackAttribute(Item.AttackAttributeValue,ATTRIBUTE_FIRE); SetAttackAttribute(Item.AttackAttributeValue,ATTRIBUTE_WATER); SetAttackAttribute(Item.AttackAttributeValue,ATTRIBUTE_WIND); SetAttackAttribute(Item.AttackAttributeValue,ATTRIBUTE_EARTH); SetAttackAttribute(Item.AttackAttributeValue,ATTRIBUTE_HOLY); SetAttackAttribute(Item.AttackAttributeValue,ATTRIBUTE_UNHOLY); //๋ ๋ฒจ๊ณผ ํ์ ๊ฐ๋ฑ์ ๊ตฌํ๋ค. switch(Item.AttackAttributeType) { case ATTRIBUTE_FIRE: textureName[ATTRIBUTE_FIRE] = "L2UI_CT1.Gauges.Gauge_DF_Attribute_FIRE"; tooltipStr[ATTRIBUTE_FIRE] =GetSystemString(1622) $ " Lv " $ String(AttackAttLevel[ATTRIBUTE_FIRE]) $ " ("$ GetSystemString(1622) $ " " $ GetSystemString(55) $ " " $ String(Item.AttackAttributeValue) $")"; break; case ATTRIBUTE_WATER: textureName[ATTRIBUTE_WATER] = "L2UI_CT1.Gauges.Gauge_DF_Attribute_WATER"; tooltipStr[ATTRIBUTE_WATER] =GetSystemString(1623) $ " Lv " $ String(AttackAttLevel[ATTRIBUTE_WATER]) $ " ("$ GetSystemString(1623) $ " " $ GetSystemString(55) $ " " $String(Item.AttackAttributeValue) $ ")"; break; case ATTRIBUTE_WIND: textureName[ATTRIBUTE_WIND] = "L2UI_CT1.Gauges.Gauge_DF_Attribute_WIND"; tooltipStr[ATTRIBUTE_WIND] =GetSystemString(1624) $ " Lv " $ String(AttackAttLevel[ATTRIBUTE_WIND]) $ " ("$ GetSystemString(1624) $ " " $ GetSystemString(55) $ " " $String(Item.AttackAttributeValue) $ ")"; break; case ATTRIBUTE_EARTH: textureName[ATTRIBUTE_EARTH] = "L2UI_CT1.Gauges.Gauge_DF_Attribute_EARTH"; tooltipStr[ATTRIBUTE_EARTH] =GetSystemString(1625) $ " Lv " $ String(AttackAttLevel[ATTRIBUTE_EARTH]) $ " ("$ GetSystemString(1625) $ " " $ GetSystemString(55) $ " " $ String(Item.AttackAttributeValue) $")"; break; case ATTRIBUTE_HOLY: textureName[ATTRIBUTE_HOLY] = "L2UI_CT1.Gauges.Gauge_DF_Attribute_DIVINE"; tooltipStr[ATTRIBUTE_HOLY] =GetSystemString(1626) $ " Lv " $ String(AttackAttLevel[ATTRIBUTE_HOLY]) $ " ("$ GetSystemString(1626) $ " " $ GetSystemString(55) $ " " $String(Item.AttackAttributeValue) $ ")"; break; case ATTRIBUTE_UNHOLY: textureName[ATTRIBUTE_UNHOLY] = "L2UI_CT1.Gauges.Gauge_DF_Attribute_DARK"; tooltipStr[ATTRIBUTE_UNHOLY] =GetSystemString(1627) $ " Lv " $ String(AttackAttLevel[ATTRIBUTE_UNHOLY]) $ " ("$ GetSystemString(1627) $ " " $ GetSystemString(55) $ " " $String(Item.AttackAttributeValue) $ ")"; break; } } else // ๋ฐฉ์ด ์์ดํ ์์ฑ { SetDefAttribute(Item.DefenseAttributeValueFire,ATTRIBUTE_FIRE); SetDefAttribute(Item.DefenseAttributeValueWater,ATTRIBUTE_WATER); SetDefAttribute(Item.DefenseAttributeValueWind,ATTRIBUTE_WIND); SetDefAttribute(Item.DefenseAttributeValueEarth,ATTRIBUTE_EARTH); SetDefAttribute(Item.DefenseAttributeValueHoly,ATTRIBUTE_HOLY); SetDefAttribute(Item.DefenseAttributeValueUnholy,ATTRIBUTE_UNHOLY); //๋ ๋ฒจ๊ณผ ํ์ ๊ฐ๋ฑ์ ๊ตฌํ๋ค. if(Item.DefenseAttributeValueFire != 0) //ํ์ด์ด ์์ฑ ํดํ ๊ทธ๋ฆฌ๊ธฐ { textureName[ATTRIBUTE_FIRE] = "L2UI_CT1.Gauges.Gauge_DF_Attribute_FIRE"; tooltipStr[ATTRIBUTE_FIRE] =GetSystemString(1623) $ " Lv " $ String(DefAttLevel[ATTRIBUTE_FIRE]) $ " ("$ GetSystemString(1622) $ " " $ GetSystemString(54) $ " " $ String(Item.DefenseAttributeValueFire) $")"; } if(Item.DefenseAttributeValueWater != 0) //๋ฌผ ์์ฑ ํดํ ๊ทธ๋ฆฌ๊ธฐ { textureName[ATTRIBUTE_WATER] = "L2UI_CT1.Gauges.Gauge_DF_Attribute_WATER"; tooltipStr[ATTRIBUTE_WATER] =GetSystemString(1622) $ " Lv " $ String(DefAttLevel[ATTRIBUTE_WATER]) $ " ("$ GetSystemString(1623) $ " " $ GetSystemString(54) $ " " $String(Item.DefenseAttributeValueWater) $ ")"; } if(Item.DefenseAttributeValueWind != 0) //๋ฐ๋ ์์ฑ ํดํ ๊ทธ๋ฆฌ๊ธฐ { textureName[ATTRIBUTE_WIND] = "L2UI_CT1.Gauges.Gauge_DF_Attribute_WIND"; tooltipStr[ATTRIBUTE_WIND] =GetSystemString(1625) $ " Lv " $ String(DefAttLevel[ATTRIBUTE_WIND]) $ " ("$ GetSystemString(1624) $ " " $ GetSystemString(54) $ " " $String(Item.DefenseAttributeValueWind) $")"; } if(Item.DefenseAttributeValueEarth != 0) //๋ ์์ฑ ํดํ ๊ทธ๋ฆฌ๊ธฐ { textureName[ATTRIBUTE_EARTH] = "L2UI_CT1.Gauges.Gauge_DF_Attribute_EARTH"; tooltipStr[ATTRIBUTE_EARTH] =GetSystemString(1624) $ " Lv " $ String(DefAttLevel[ATTRIBUTE_EARTH]) $ " ("$ GetSystemString(1625) $ " " $ GetSystemString(54) $ " " $String(Item.DefenseAttributeValueEarth) $ ")"; } if(Item.DefenseAttributeValueHoly != 0) //์ ์ฑ ์์ฑ ํดํ ๊ทธ๋ฆฌ๊ธฐ { textureName[ATTRIBUTE_HOLY] = "L2UI_CT1.Gauges.Gauge_DF_Attribute_DIVINE"; tooltipStr[ATTRIBUTE_HOLY] =GetSystemString(1627) $ " Lv " $ String(DefAttLevel[ATTRIBUTE_HOLY]) $ " ("$ GetSystemString(1626) $ " " $ GetSystemString(54) $ " " $ String(Item.DefenseAttributeValueHoly) $")"; } if(Item.DefenseAttributeValueUnholy != 0) //์ํ ์์ฑ ํดํ ๊ทธ๋ฆฌ๊ธฐ { textureName[ATTRIBUTE_UNHOLY] = "L2UI_CT1.Gauges.Gauge_DF_Attribute_DARK"; tooltipStr[ATTRIBUTE_UNHOLY] =GetSystemString(1626) $ " Lv " $ String(DefAttLevel[ATTRIBUTE_UNHOLY]) $ " ("$ GetSystemString(1627) $ " " $ GetSystemString(54) $ " " $String(Item.DefenseAttributeValueUnholy) $ ")"; } // ๋ฐฉ์ด ์์ดํ ์์ฑ } if (Item.AttackAttributeValue > 0)//๊ณต๊ฒฉ์์ฑ์ผ๊ฒฝ์ฐ { for(i = 0; i < 6; i++) { if(tooltipStr[i] == "") continue; StartItem(); m_Info.eType = DIT_TEXT; m_Info.nOffSetY = 10; m_Info.bLineBreak = true; m_Info.t_bDrawOneLine = true; m_Info.t_strText = tooltipStr[i]; EndItem(); //ํ ์ค์ณ ๋์ฅ์ ๊ฒน์ณ ๊ทธ๋ ค์ผ ํ๋ค. StartItem(); m_Info.eType = DIT_TEXTURE; m_Info.bLineBreak = true; m_Info.t_bDrawOneLine = true; m_Info.nOffSetX = 0; m_Info.nOffSetY = 2; m_Info.u_nTextureWidth = 140; m_Info.u_nTextureHeight = 7; m_Info.u_strTexture = textureName[i] $ "_BG"; EndItem(); StartItem(); m_Info.eType = DIT_TEXTURE; m_Info.bLineBreak = true; m_Info.t_bDrawOneLine = true; m_Info.nOffSetX = 0; m_Info.nOffSetY = -7; m_Info.u_nTextureWidth = AttackAttCurrValue[i] * 140 / AttackAttMaxValue[i] ; if( m_Info.u_nTextureWidth > 140) m_Info.u_nTextureWidth = 140; //๋์ด๊ฐ๋ฉด ๊ฑ 140์ด๋ผ๋.. ใ m_Info.u_nTextureHeight = 7; m_Info.u_strTexture = textureName[i]; EndItem(); } } else{ //๋ฐฉ์ด ์์ฑ์ผ ๊ฒฝ์ฐ for(i = 0; i < 6; i++) { if(tooltipStr[i] == "") continue; StartItem(); m_Info.eType = DIT_TEXT; m_Info.nOffSetY = 10; m_Info.bLineBreak = true; m_Info.t_bDrawOneLine = true; m_Info.t_strText = tooltipStr[i]; EndItem(); //ํ ์ค์ณ ๋์ฅ์ ๊ฒน์ณ ๊ทธ๋ ค์ผ ํ๋ค. StartItem(); m_Info.eType = DIT_TEXTURE; m_Info.bLineBreak = true; m_Info.t_bDrawOneLine = true; m_Info.nOffSetX = 0; m_Info.nOffSetY = 2; m_Info.u_nTextureWidth = 140; m_Info.u_nTextureHeight = 7; m_Info.u_strTexture = textureName[i] $ "_BG"; EndItem(); StartItem(); m_Info.eType = DIT_TEXTURE; m_Info.bLineBreak = true; m_Info.t_bDrawOneLine = true; m_Info.nOffSetX = 0; m_Info.nOffSetY = -7; m_Info.u_nTextureWidth = DefAttCurrValue[i] * 140 / DefAttMaxValue[i] ; if( m_Info.u_nTextureWidth > 140) m_Info.u_nTextureWidth = 140; //๋์ด๊ฐ๋ฉด ๊ฑ 140์ด๋ผ๋.. ใ m_Info.u_nTextureHeight = 7; m_Info.u_strTexture = textureName[i]; EndItem(); } } } // 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; // } //ํ์คํธ ์์ดํ ์ ํ์คํธ ์ด๋ฆ ํ์ function AddTooltipItemQuestList(ItemInfo Item) { local int i; //<๊ด๋ จ ํ์คํธ> if(Item.RelatedQuestID[0] != 0) { StartItem(); m_Info.eType = DIT_TEXT; m_Info.nOffSetY = 10; m_Info.bLineBreak = true; m_Info.t_bDrawOneLine = true; m_Info.t_strText = GetSystemString(1721); EndItem(); } for(i = 0 ; i<MAX_RELATED_QUEST ; i++) { if(Item.RelatedQuestID[i] != 0) { StartItem(); m_Info.eType = DIT_TEXT; m_Info.nOffSetY = 6; m_Info.t_color.R = 163; m_Info.t_color.G = 163; m_Info.t_color.B = 163; m_Info.t_color.A = 255; m_Info.bLineBreak = true; m_Info.t_bDrawOneLine = true; m_Info.t_strText = class'UIDATA_QUEST'.static.GetQuestName(Item.RelatedQuestID[i]);; EndItem(); } } } // ์์ฑ์ ๋ ๋ฒจ๊ฐ์ ์ ์ญ๋ณ์์ ์ ์ฅ //์๋ฃ๊ฐ ๋ง์์ ์ ์ญ๋ณ์์ ์ง์ด๋ฃ๋๋ค. function SetAttackAttribute(int Attvalue, int type) { if( AttValue >= 375) // 9๋ 375 ~ 450 { AttackAttLevel[type] = 9; AttackAttMaxValue[type] = 75; AttackAttCurrValue[type] = AttValue - 375; } else if( AttValue >= 325) // 8๋ 325 ~ 375 { AttackAttLevel[type] = 8; AttackAttMaxValue[type] = 50; AttackAttCurrValue[type] = AttValue - 325; } else if( AttValue >= 300) // 7๋ 300 ~ 325 { AttackAttLevel[type] = 7; AttackAttMaxValue[type] = 25; AttackAttCurrValue[type] = AttValue - 300; } else if( AttValue >= 225) // 6๋ 225 ~ 300 { AttackAttLevel[type] = 6; AttackAttMaxValue[type] = 75; AttackAttCurrValue[type] = AttValue - 225; } else if( AttValue >= 175) // 5๋ 175 ~ 225 { AttackAttLevel[type] = 5; AttackAttMaxValue[type] = 50; AttackAttCurrValue[type] = AttValue - 175; } else if( AttValue >= 150) // 4๋ 150 ~ 175 { AttackAttLevel[type] = 4; AttackAttMaxValue[type] = 25; AttackAttCurrValue[type] = AttValue - 150; } else if( AttValue >= 75) // 3๋ 75 ~ 150 { AttackAttLevel[type] = 3; AttackAttMaxValue[type] = 75; AttackAttCurrValue[type] = AttValue - 75; } else if( AttValue >= 25) // 2๋ 25~ 75 { AttackAttLevel[type] = 2; AttackAttMaxValue[type] = 50; AttackAttCurrValue[type] = AttValue - 25; } else // else 0~ 25 { AttackAttLevel[type] = 1; AttackAttMaxValue[type] = 25; AttackAttCurrValue[type] = AttValue; } } // ์์ฑ์ ๋ ๋ฒจ๊ฐ์ ์ ์ญ๋ณ์์ ์ ์ฅ //์๋ฃ๊ฐ ๋ง์์ ์ ์ญ๋ณ์์ ์ง์ด๋ฃ๋๋ค. function SetDefAttribute(int Defvalue, int type) { if( DefValue >= 150) // 9๋ 150~180 { DefAttLevel[type] = 9; DefAttMaxValue[type] = 30; DefAttCurrValue[type] = DefValue - 150; } else if( DefValue >= 132) // 8๋ 132 ~ 150 { DefAttLevel[type] = 8; DefAttMaxValue[type] = 18; DefAttCurrValue[type] = DefValue - 132; } else if( DefValue >= 120) // 7๋ 120 ~ 132 { DefAttLevel[type] = 7; DefAttMaxValue[type] = 12; DefAttCurrValue[type] = DefValue - 120; } else if( DefValue >= 90) // 6๋ 90 ~ 120 { DefAttLevel[type] = 6; DefAttMaxValue[type] = 30; DefAttCurrValue[type] = DefValue - 90; } else if( DefValue >= 72) // 5๋ 72 ~ 90 { DefAttLevel[type] = 5; DefAttMaxValue[type] = 18; DefAttCurrValue[type] = DefValue - 72; } else if( DefValue >= 60) // 4๋ 60 ~ 72 { DefAttLevel[type] = 4; DefAttMaxValue[type] = 12; DefAttCurrValue[type] = DefValue - 60; } else if( DefValue >= 30) // 3๋ 30 ~ 60 { DefAttLevel[type] = 3; DefAttMaxValue[type] = 30; DefAttCurrValue[type] = DefValue - 30; } else if( DefValue >= 12) // 2๋ // 12 ~ 30 { DefAttLevel[type] = 2; DefAttMaxValue[type] = 18; DefAttCurrValue[type] = DefValue - 12; } else // else // 0~ 12 { DefAttLevel[type] = 1; DefAttMaxValue[type] = 12; DefAttCurrValue[type] = DefValue; } } //branch function AddPrimeItemSymbol(ItemInfo Item) { local string TextureName; if (Item.IsBRPremium != 2) return; TextureName = GetPrimeItemSymbolName(); if (Len(TextureName)>0) { StartItem(); m_Info.eType = DIT_TEXTURE; m_Info.nOffSetX = 2; m_Info.nOffSetY = 0; m_Info.u_nTextureWidth = 16; m_Info.u_nTextureHeight = 16; m_Info.u_nTextureUWidth = 16; m_Info.u_nTextureUHeight = 16; m_Info.u_strTexture = TextureName; EndItem(); } } function int CheckDurability(int itemCheckID) { switch (itemCheckID) { case 10518: return 30; break; //blue case 9932: case 14813: //red case 9918: case 9931: return 15; break; case 10519: return 10; break; //blue case 9914: case 9915: case 9916: case 9919: case 9921: case 9926: case 9927: case 9929: case 9930: case 10416: case 10417: case 10424: case 10533: case 10534: case 14810: case 14811: // red case 9917: case 9928: case 12815: case 12816: case 14604: case 14605: case 14812: // white case 10418: case 10419: case 10420: case 10421: case 10422: case 14814: // orange case 9954: //black case 9922: case 9923: case 9955: case 9956: case 9957: case 9958: case 9959: return 6; break; //blue case 9920: case 10142: case 10141: return 3; break; //blue case 10423: return 1; break; default: return 5; break; } } //end of branch defaultproperties { } ย
xxPaNtHeRxx Posted January 26, 2023 Posted January 26, 2023 here we goย ย https://pastebin.com/69PKWM2k 1
amarhat Posted February 1, 2023 Author Posted February 1, 2023 On 1/26/2023 at 2:15 PM, xxPaNtHeRxx said: here we goย ย https://pastebin.com/69PKWM2k ย THX MAN !!ย
Recommended Posts