howdy this is a little addition for the __LOOKCHANGE system (using it on ketchup files)
it basically shows the transmuted item inside the tooltip
I know this isn't something big but i do those little snippets to expand my understanding for the flyff source and the coding language in general.
since im not a professional when it comes to coding i would be happy about some criticism or if someone points out some bad practices!
it basically shows the transmuted item inside the tooltip
I know this isn't something big but i do those little snippets to expand my understanding for the flyff source and the coding language in general.
since im not a professional when it comes to coding i would be happy about some criticism or if someone points out some bad practices!
|
[Only registered and activated users can see links. Click Here To Register...]
[tooltip.h] [WndManger.cpp] [WndField.cpp] ( __ITEMLINK tooltip )
10/02/2022 15:22
Nιgнтмαяε#2
Neat idea.
10/03/2022 12:57
liulinkan#3
Warum funktioniert das, was ich hinzugefügt habe, nicht, ohne Symbole anzuzeigen?
10/03/2022 13:30
Int16#4
I do understand german but this sentence makes no sense at all .. If something is not working i need some proper explanation on what exactly is working and what is not one thing for sure is that you need the _LOOKCHANGE beforehand ( or could be named different in your source) if its indeed named something different you need to also change the define names from the snippet i posted Code:
#if defined(__LOOKCHANGE_TOOLTIP) && defined(RIGHT HERE)
10/04/2022 04:20
liulinkan#5
Ich benutze Ketchup K18.3, das auch __LOOKCHANG definiert, funktioniert auch, zeigt nur keine Symbole an
10/04/2022 04:58
Int16#6
In the wndmanager snipped i posted check the first 2 parts if you missed something
If its not the issue ill have a look at it when im home But does it show the "Skin :" text inside the tooltip?
10/04/2022 15:40
liulinkan#7
g_toolTip.PutToolTip( pItemBase->m_dwItemId, strItem, *pRect, point, 0 );
#if defined(__LOOKCHANGE_TOOLTIP) && defined(__LOOKCHANGE) CItemElem* itemElement = (CItemElem*)pItemBase; if(itemElement->IsChangedLook() && pItemBase->GetProp()->bCanLooksChange && itemElement->GetLook() != NULL_ID ) g_toolTip.SetSkinTexture(pItemBase); #endif //__LOOKCHANGE_TOOLTIP #ifdef __WEAPON_LEVELING g_toolTip.m_pItemElem = (CItemElem*)pItemBase; #endif if( pItemProp->IsUltimate() ) g_toolTip.SetUltimateToolTip( pItemBase ); #ifdef __NEW_ITEM_VARUNA if( pItemProp->IsBaruna() ) g_toolTip.SetBarunaToolTip( pItemBase ); #endif // __NEW_ITEM_VARUNA else // __IMPROVE_SYSTEM_VER15 if( pItemBase == NULL ) return; // ItemProp *pItemProp = pItemBase->GetProp(); if( pItemProp == NULL ) { LPCTSTR szErr = Error( "PutToolTip_Item : 橇肺欺萍啊 澄 %d", pItemBase->m_dwItemId ); ADDERRORMSG( szErr ); assert( 0 ); return; } CMover* pMover = g_pPlayer; if( flag == APP_QUERYEQUIP ) { CWndQueryEquip * pWndQueryEquip = (CWndQueryEquip *)g_WndMng.GetWndBase( APP_QUERYEQUIP ); if( pWndQueryEquip ) pMover = pWndQueryEquip->GetMover(); } if( pMover == NULL ) return; CItemElem* pItemElem = (CItemElem*)pItemBase; CString str; CString strTemp; CString strEnter = '\n'; CEditString strEdit; // 傈眉甫 历厘窍绰 String DWORD dwColorBuf; dwColorBuf = PutItemName( pItemElem, &strEdit ); PutItemAbilityPiercing( pItemElem, &strEdit, dwColorBuf ); #if __VER >= 14 // __EQUIP_BIND if( pItemElem->GetProp() && pItemElem->GetProp()->dwFlag & IP_FLAG_EQUIP_BIND ) { strEdit.AddString( "\n" ); if( pItemElem->IsFlag( CItemElem::binds ) ) strEdit.AddString( GETTEXT( TID_TOOLTIP_EQUIPBIND_AFTER ), GETTEXTCOLOR( TID_TOOLTIP_EQUIPBIND_AFTER ) ); else strEdit.AddString( GETTEXT( TID_TOOLTIP_EQUIPBIND_BEFORE ), GETTEXTCOLOR( TID_TOOLTIP_EQUIPBIND_BEFORE ) ); } #endif // __EQUIP_BIND PutWeapon( pItemElem, &strEdit ); PutSex( pMover, pItemElem, &strEdit ); switch( pItemProp->dwItemKind2 ) { case IK2_WEAPON_DIRECT: case IK2_WEAPON_MAGIC: case IK2_ARMORETC: case IK2_CLOTHETC: case IK2_ARMOR: case IK2_CLOTH: case IK2_BLINKWING: #ifdef __UNLIMITED_ARROW case IK2_BULLET: #endif // __UNLIMITED_ARROW #ifdef __UNLIMITED_CHARM case IK2_CHARM: #endif // __UNLIMITED_CHARM { PutItemMinMax( pMover, pItemElem, &strEdit ); PutItemSpeed( pItemElem, &strEdit ); if( pItemProp->dwItemKind3 == IK3_ELECARD ) PutItemResist( pItemElem, &strEdit ); else if( pItemElem->m_nResistAbilityOption && ( pItemProp->dwItemKind1 == IK1_WEAPON || pItemProp->dwItemKind1 == IK1_ARMOR ) ) PutItemResist( pItemElem, &strEdit ); PutBaseResist( pItemElem, &strEdit ); // 加己 历亲仿 PutBaseItemOpt( pItemElem, &strEdit ); #if __VER < 12 // __EXT_PIERCING #if __VER >= 9 // __CSC_VER9_1 if( (pItemProp->dwItemKind2 == IK2_WEAPON_DIRECT || pItemProp->dwItemKind2 == IK2_WEAPON_MAGIC) && pItemElem->GetProp()->dwReferStat1 == WEAPON_ULTIMATE ) PutAddedOpt( pItemElem, &strEdit ); #endif //__CSC_VER9_1 PutPiercingOpt( pItemElem, &strEdit ); #endif //__EXT_PIERCING PutRandomOpt( pItemElem, &strEdit ); PutEnchantOpt( pMover, pItemElem, &strEdit, flag ); break; } case IK2_REFRESHER: case IK2_FOOD: case IK2_POTION: { PutMedicine( pItemElem, pItemElem->GetProp()->dwDestParam1, pItemProp->nAdjParamVal1, &strEdit ); PutMedicine( pItemElem, pItemElem->GetProp()->dwDestParam2, pItemProp->nAdjParamVal2, &strEdit ); break; } case IK2_JEWELRY: { PutBaseItemOpt( pItemElem, &strEdit ); break; } #if __VER >= 11 // __MA_VER11_05 // 纳腐磐 豪牢 芭贰 扁瓷 world,database,neuz case IK2_SYSTEM: { #if __VER >= 15 // __PETVIS if( pItemProp->dwItemKind3 == IK3_VIS ) { PutNeededVis( pItemElem, &strEdit ); PutBaseItemOpt( pItemElem, &strEdit ); } #endif if( pItemElem->m_dwItemId == II_SYS_SYS_SCR_SEALCHARACTER ) { PutSealChar( pItemElem, &strEdit ); } break; } #endif // __MA_VER11_05 // 纳腐磐 豪牢 芭贰 扁瓷 world,database,neuz #ifdef __ANARCHY_SYSTEM case IK2_BUFF: case IK2_BUFF2: //case IK2_KEEP: PutSkillTime(pItemElem, &strEdit, flag); PutCooldown(pItemElem, &strEdit, flag); //PutBaseItemOpt(pItemElem, &strEdit, flag, true); PutBaseItemOpt(pItemElem, &strEdit); break; #endif // __ANARCHY_SYSTEM case IK2_GMTEXT: { if( pItemProp->dwItemKind3 == IK3_TEXT_DISGUISE ) { PutDestParam( pItemProp->dwDestParam[0], pItemProp->dwDestParam[1], pItemProp->nAdjParamVal[0], pItemProp->nAdjParamVal[1], strEdit ); #if __VER >= 8 //__Y_FLAG_SKILL_BUFF if( pItemProp->dwActiveSkill != NULL_ID ) { ItemProp *pSkillProp; AddSkillProp* pAddSkillProp; pMover->GetSkillProp( &pSkillProp, &pAddSkillProp, pItemProp->dwActiveSkill, 1, "CWndMgr::PutToolTip_Item" ); if( pAddSkillProp ) { PutDestParam( pAddSkillProp->dwDestParam[0], pAddSkillProp->dwDestParam[1], pAddSkillProp->nAdjParamVal[0], pAddSkillProp->nAdjParamVal[1], strEdit ); } } #endif //__Y_FLAG_SKILL_BUFF } break; } default: { break; } } // switch( pItemProp->dwItemKind2 ) #if __VER >= 8 //__Y_FLAG_SKILL_BUFF if( pItemElem->IsEatPet() ) { if( pItemProp->dwActiveSkill != NULL_ID ) { ItemProp *pSkillProp; AddSkillProp* pAddSkillProp; pMover->GetSkillProp( &pSkillProp, &pAddSkillProp, pItemProp->dwActiveSkill, 1, "CWndMgr::PutToolTip_Item" ); if( pAddSkillProp ) { PutDestParam( pAddSkillProp->dwDestParam[0], pAddSkillProp->dwDestParam[1], pAddSkillProp->nAdjParamVal[0], pAddSkillProp->nAdjParamVal[1], strEdit ); } } } #endif //__Y_FLAG_SKILL_BUFF #if __VER >= 15 // __PETVIS if( pItemElem->IsVisPet( ) ) PutVisPetInfo( pItemElem, &strEdit ); #endif PutCoolTime( pMover, pItemElem, &strEdit ); // 酿鸥烙 PutEndurance( pItemElem, &strEdit, flag ); // 郴备仿 PutKeepTime( pItemElem, &strEdit ); // 荤侩且荐 乐绰 矫埃 PutJob( pMover, pItemElem, &strEdit ); PutLevel( pMover, pItemElem, &strEdit ); PutCommand( pItemElem, &strEdit ); // 侩档 PutItemGold( pMover, pItemElem, &strEdit, flag ); // 啊拜 #if !defined(__LOOKCHANGE_TOOLTIP) && defined(__LOOKCHANGE) PutLookText(pItemElem, &strEdit); #endif PutSetItemOpt( pMover, pItemElem, &strEdit ); #if __VER >= 9 // __CSC_VER9_1 if( pItemProp->dwItemKind3 == IK3_EGG && pItemElem->m_pPet )//&& pItemElem->m_pPet->GetLevel() != PL_EGG ) PutPetInfo( pItemElem, &strEdit ); if( pItemProp->dwID == II_SYS_SYS_SCR_PET_FEED_POCKET ) //冈捞 林赣聪 砒屏 PutPetFeedPocket( pItemElem, &strEdit ); #endif //__CSC_VER9_1 #if __VER >= 12 // __EXT_PIERCING PutPiercingOpt( pItemElem, &strEdit ); #endif //__EXT_PIERCING #if __VER >= 11 // __SYS_IDENTIFY PutAwakeningBlessing( pItemElem, &strEdit ); #endif // __SYS_IDENTIFY #if __VER >= 12 // __EXT_PIERCING if( (pItemProp->dwItemKind2 == IK2_WEAPON_DIRECT || pItemProp->dwItemKind2 == IK2_WEAPON_MAGIC) && pItemElem->GetProp()->dwReferStat1 == WEAPON_ULTIMATE ) PutAddedOpt( pItemElem, &strEdit ); #endif //__EXT_PIERCING g_toolTip.PutToolTip( pItemBase->m_dwItemId, strEdit, *pRect, point, 0 ); #if __VER >= 9 // __CSC_VER9_1 if( pItemProp->IsUltimate() ) g_toolTip.SetUltimateToolTip(pItemBase); #endif //__CSC_VER9_1 #ifdef __NEW_ITEM_VARUNA if (pItemProp->IsBaruna()) g_toolTip.SetBarunaToolTip(pItemBase); #endif // __NEW_ITEM_VARUNA #endif // __IMPROVE_SYSTEM_VER15 } #if __VER >= 15 // __IMPROVE_SYSTEM_VER15 void CWndMgr::PutToolTipItemAndSubToolTip( CItemBase* pItemBase, CPoint point, CRect* pRect, int nFlag ) { // 促吝 砒屏 矫胶袍捞 利侩登搁辑 砒屏 免仿 傈俊 砒屏 胶困摹甫 固府 技泼秦辑 困摹甫 炼沥 g_toolTip.SetSubToolTipNumber( TOOL_TIP_SWITCH_MAIN ); #ifdef __WEAPON_LEVELING g_toolTip.m_pItemElem = (CItemElem*)pItemBase; #endif PutToolTipParts( pItemBase, point, pRect, nFlag, TOOL_TIP_SWITCH_MAIN ); ItemProp* pItemProp = pItemBase->GetProp(); switch( pItemProp->dwItemKind2 ) { case IK2_WEAPON_DIRECT: case IK2_WEAPON_MAGIC: case IK2_ARMOR: case IK2_ARMORETC: case IK2_CLOTH: case IK2_CLOTHETC: case IK2_JEWELRY: case IK2_RIDING: case IK2_CLOTHWIG: { CItemBase* pEquipItemBase = g_pPlayer->GetEquipItem( pItemProp->dwParts ); if( pEquipItemBase ) { g_toolTip.SetSubToolTipNumber( TOOL_TIP_SWITCH_SUB1 ); PutToolTipParts( pEquipItemBase, point, pRect, nFlag, TOOL_TIP_SWITCH_SUB1 ); } if( pItemProp->dwParts == PARTS_RWEAPON ) { CItemBase* pRWeaponItemBase = g_pPlayer->GetEquipItem( PARTS_RWEAPON ); CItemBase* pLWeaponItemBase = g_pPlayer->GetEquipItem( PARTS_LWEAPON ); if( pRWeaponItemBase && pLWeaponItemBase ) { g_toolTip.SetSubToolTipNumber( TOOL_TIP_SWITCH_SUB2 ); PutToolTipParts( pLWeaponItemBase, point, pRect, nFlag, TOOL_TIP_SWITCH_SUB2 ); } else if( pRWeaponItemBase ) { g_toolTip.SetSubToolTipNumber( TOOL_TIP_SWITCH_SUB1 ); PutToolTipParts( pRWeaponItemBase, point, pRect, nFlag, TOOL_TIP_SWITCH_SUB1 ); } else if( pLWeaponItemBase ) { g_toolTip.SetSubToolTipNumber( TOOL_TIP_SWITCH_SUB1 ); PutToolTipParts( pLWeaponItemBase, point, pRect, nFlag, TOOL_TIP_SWITCH_SUB1 ); } } else if( pItemProp->dwParts == PARTS_RING1 ) { CItemBase* pRing1ItemBase = g_pPlayer->GetEquipItem( PARTS_RING1 ); CItemBase* pRing2ItemBase = g_pPlayer->GetEquipItem( PARTS_RING2 ); if( pRing1ItemBase && pRing2ItemBase ) { g_toolTip.SetSubToolTipNumber( TOOL_TIP_SWITCH_SUB2 ); PutToolTipParts( pRing2ItemBase, point, pRect, nFlag, TOOL_TIP_SWITCH_SUB2 ); } else if( pRing1ItemBase ) { g_toolTip.SetSubToolTipNumber( TOOL_TIP_SWITCH_SUB1 ); PutToolTipParts( pRing1ItemBase, point, pRect, nFlag, TOOL_TIP_SWITCH_SUB1 ); } else if( pRing2ItemBase ) { g_toolTip.SetSubToolTipNumber( TOOL_TIP_SWITCH_SUB1 ); PutToolTipParts( pRing2ItemBase, point, pRect, nFlag, TOOL_TIP_SWITCH_SUB1 ); } } else if( pItemProp->dwParts == PARTS_EARRING1 ) { CItemBase* pEarring1ItemBase = g_pPlayer->GetEquipItem( PARTS_EARRING1 ); CItemBase* pEarring2ItemBase = g_pPlayer->GetEquipItem( PARTS_EARRING2 ); if( pEarring1ItemBase && pEarring2ItemBase ) { g_toolTip.SetSubToolTipNumber( TOOL_TIP_SWITCH_SUB2 ); PutToolTipParts( pEarring2ItemBase, point, pRect, nFlag, TOOL_TIP_SWITCH_SUB2 ); } else if( pEarring1ItemBase ) { g_toolTip.SetSubToolTipNumber( TOOL_TIP_SWITCH_SUB1 ); PutToolTipParts( pEarring1ItemBase, point, pRect, nFlag, TOOL_TIP_SWITCH_SUB1 ); } else if( pEarring2ItemBase ) { g_toolTip.SetSubToolTipNumber( TOOL_TIP_SWITCH_SUB1 ); PutToolTipParts( pEarring2ItemBase, point, pRect, nFlag, TOOL_TIP_SWITCH_SUB1 ); } } break; } } } void CWndMgr::PutToolTipParts( CItemBase* pPartsItemBase, CPoint point, CRect* pRect, const int nFlag, const int nSubToolTipFlag ) { if( pPartsItemBase == NULL ) return; ItemProp* pPartsItemProp = pPartsItemBase->GetProp(); CEditString strEquipItem = _T( "" ); if( nSubToolTipFlag != 0 ) PutEquipItemText( &strEquipItem ); MakeToolTipText( pPartsItemBase, strEquipItem, nFlag ); switch( nSubToolTipFlag ) { case 0: { #ifdef __WEAPON_LEVELING g_toolTip.m_pItemElem = (CItemElem*)pPartsItemBase; #endif g_toolTip.PutToolTipEx( pPartsItemBase->m_dwItemId, strEquipItem, *pRect, point, 0, nSubToolTipFlag ); if( pPartsItemProp->IsUltimate() ) g_toolTip.SetUltimateToolTip( pPartsItemBase ); #ifdef __NEW_ITEM_VARUNA if( pPartsItemProp->IsBaruna() ) g_toolTip.SetBarunaToolTip( pPartsItemBase ); #endif // __NEW_ITEM_VARUNA break; } case 1: { #ifdef __WEAPON_LEVELING g_toolTipSub1.m_pItemElem = (CItemElem*)pPartsItemBase; #endif g_toolTipSub1.PutToolTipEx( pPartsItemBase->m_dwItemId, strEquipItem, *pRect, point, 0, nSubToolTipFlag ); if( pPartsItemProp->IsUltimate() ) g_toolTipSub1.SetUltimateToolTip( pPartsItemBase ); #ifdef __NEW_ITEM_VARUNA if( pPartsItemProp->IsBaruna() ) g_toolTipSub1.SetBarunaToolTip( pPartsItemBase ); #endif // __NEW_ITEM_VARUNA #if defined(__LOOKCHANGE_TOOLTIP) && defined(__LOOKCHANGE) CItemElem* itemElement = (CItemElem*)pPartsItemBase; if(itemElement->IsChangedLook() && pPartsItemBase->GetProp()->bCanLooksChange && itemElement->GetLook() != NULL_ID ) g_toolTipSub1.SetSkinTexture(pPartsItemBase); #endif //__LOOKCHANGE_TOOLTIP break; } case 2: { #ifdef __WEAPON_LEVELING g_toolTipSub2.m_pItemElem = (CItemElem*)pPartsItemBase; #endif g_toolTipSub2.PutToolTipEx( pPartsItemBase->m_dwItemId, strEquipItem, *pRect, point, 0, nSubToolTipFlag ); if( pPartsItemProp->IsUltimate() ) g_toolTipSub2.SetUltimateToolTip( pPartsItemBase ); #ifdef __NEW_ITEM_VARUNA if( pPartsItemProp->IsBaruna() ) g_toolTipSub2.SetBarunaToolTip( pPartsItemBase ); #endif // __NEW_ITEM_VARUNA #if defined(__LOOKCHANGE_TOOLTIP) && defined(__LOOKCHANGE) CItemElem* itemElement = (CItemElem*)pPartsItemBase; if(itemElement->IsChangedLook() && pPartsItemBase->GetProp()->bCanLooksChange && itemElement->GetLook() != NULL_ID ) g_toolTipSub2.SetSkinTexture(pPartsItemBase); #endif //__LOOKCHANGE_TOOLTIP break; } } } void CWndMgr::MakeToolTipText( CItemBase* pItemBase, CEditString& strEdit, int flag ) { if( pItemBase == NULL ) return; ItemProp *pItemProp = pItemBase->GetProp(); if( pItemProp == NULL ) { LPCTSTR szErr = Error( "PutToolTip_Item : 橇肺欺萍啊 澄 %d", pItemBase->m_dwItemId ); ADDERRORMSG( szErr ); assert( 0 ); return; } CMover* pMover = g_pPlayer; if( flag == APP_QUERYEQUIP ) { CWndQueryEquip * pWndQueryEquip = (CWndQueryEquip *)g_WndMng.GetWndBase( APP_QUERYEQUIP ); if( pWndQueryEquip ) pMover = pWndQueryEquip->GetMover(); } if( pMover == NULL ) return; CItemElem* pItemElem = (CItemElem*)pItemBase; CString str = _T( "" ); CString strTemp = _T( "" ); CString strEnter = '\n'; DWORD dwColorBuf; dwColorBuf = PutItemName( pItemElem, &strEdit ); PutItemAbilityPiercing( pItemElem, &strEdit, dwColorBuf ); #if defined(__LOOKCHANGE_TOOLTIP) && defined(__LOOKCHANGE) if( pItemElem->IsChangedLook() && pItemElem->GetProp()->bCanLooksChange && pItemElem->GetLook() != NULL_ID ) { strEdit.AddString('\n'); strEdit.AddString("Skin : ", 0xff000000); } #endif //__LOOKCHANGE_TOOLTIP #ifdef __FUSION_ELEM if( pItemElem->IsFusion() ) strEdit.AddString( "\n[]", D3DCOLOR_XRGB( 178, 0, 255 ) ); #endif // __FUSION_ELEM #if __VER >= 15 // __PETVIS PutPetKind( pItemElem, &strEdit ); //gmpbigsun : 酒捞袍 疙 促澜临俊 脐 辆幅 ( 府绢, 侨诀, 滚橇 ) 火涝 #endif //__PETVIS #ifdef __WEAPON_LEVELING if(pItemElem && pItemElem->GetProp()) { WeaponLevelingProp* pProp = prj.GetWeaponLevelingProp(pItemElem->GetProp()->dwItemKind3); if( pProp ) { strTemp.Format("\n: %d%%", MulDiv(((CItemElem*)pItemBase)->m_nWeaponExp, 100, INT_MAX / 100 * ((CItemElem*)pItemBase)->m_nWeaponLevel)); strEdit.AddString( strTemp, D3DCOLOR_XRGB( 178, 0, 255 ) ); } } #endif #ifdef __VENDING_NPC if (pItemElem->GetProp()->dwItemKind3 == IK3_VENDING) { strEdit.AddString("\n[]"); } #endif #ifdef __OFFLINE_VENDOR if (pItemElem->GetProp()->dwItemKind3 == IK3_VENDING) { strEdit.AddString("\n[]"); } #endif #if __VER >= 14 // __EQUIP_BIND if( pItemElem->GetProp() && pItemElem->GetProp()->dwFlag & IP_FLAG_EQUIP_BIND ) { strEdit.AddString( "\n" ); if(pItemElem->IsFlag( CItemElem::binds ) ) strEdit.AddString( GETTEXT( TID_TOOLTIP_EQUIPBIND_AFTER ), GETTEXTCOLOR( TID_TOOLTIP_EQUIPBIND_AFTER ) ); else strEdit.AddString( GETTEXT( TID_TOOLTIP_EQUIPBIND_BEFORE ), GETTEXTCOLOR( TID_TOOLTIP_EQUIPBIND_BEFORE ) ); } #endif // __EQUIP_BIND PutWeapon( pItemElem, &strEdit ); PutSex( pMover, pItemElem, &strEdit ); switch( pItemProp->dwItemKind2 ) { case IK2_WEAPON_DIRECT: case IK2_WEAPON_MAGIC: case IK2_ARMORETC: case IK2_CLOTHETC: case IK2_ARMOR: case IK2_CLOTH: case IK2_BLINKWING: #ifdef __UNLIMITED_ARROW case IK2_BULLET: #endif // __UNLIMITED_ARROW #ifdef __UNLIMITED_CHARM case IK2_CHARM: #endif // __UNLIMITED_CHARM { PutItemMinMax( pMover, pItemElem, &strEdit ); PutItemSpeed( pItemElem, &strEdit ); if( pItemProp->dwItemKind3 == IK3_ELECARD ) PutItemResist( pItemElem, &strEdit ); else if( pItemElem->m_nResistAbilityOption && ( pItemProp->dwItemKind1 == IK1_WEAPON || pItemProp->dwItemKind1 == IK1_ARMOR ) ) PutItemResist( pItemElem, &strEdit ); PutBaseResist( pItemElem, &strEdit ); // 加己 历亲仿 PutBaseItemOpt( pItemElem, &strEdit ); #if __VER < 12 // __EXT_PIERCING #if __VER >= 9 // __CSC_VER9_1 if( (pItemProp->dwItemKind2 == IK2_WEAPON_DIRECT || pItemProp->dwItemKind2 == IK2_WEAPON_MAGIC) && pItemElem->GetProp()->dwReferStat1 == WEAPON_ULTIMATE ) PutAddedOpt( pItemElem, &strEdit ); #endif //__CSC_VER9_1 PutPiercingOpt( pItemElem, &strEdit ); #endif //__EXT_PIERCING PutRandomOpt( pItemElem, &strEdit ); PutEnchantOpt( pMover, pItemElem, &strEdit, flag ); break; } case IK2_REFRESHER: case IK2_FOOD: case IK2_POTION: { PutMedicine( pItemElem, pItemElem->GetProp()->dwDestParam1, pItemProp->nAdjParamVal1, &strEdit ); PutMedicine( pItemElem, pItemElem->GetProp()->dwDestParam2, pItemProp->nAdjParamVal2, &strEdit ); #ifdef __PROP_0827 PutMedicine( pItemElem, pItemElem->GetProp()->dwDestParam3, pItemProp->nAdjParamVal3, &strEdit); #endif // __PROP_0827 #if __VER >= 19 PutMedicine( pItemElem, pItemElem->GetProp()->dwDestParam4, pItemProp->nAdjParamVal4, &strEdit); PutMedicine( pItemElem, pItemElem->GetProp()->dwDestParam5, pItemProp->nAdjParamVal5, &strEdit); PutMedicine( pItemElem, pItemElem->GetProp()->dwDestParam6, pItemProp->nAdjParamVal6, &strEdit); #endif break; } case IK2_JEWELRY: { PutBaseItemOpt( pItemElem, &strEdit ); break; } #if __VER >= 11 // __MA_VER11_05 // 纳腐磐 豪牢 芭贰 扁瓷 world,database,neuz case IK2_SYSTEM: { #if __VER >= 15 // __PETVIS if( pItemProp->dwItemKind3 == IK3_VIS ) { PutNeededVis( pItemElem, &strEdit ); PutBaseItemOpt( pItemElem, &strEdit ); } #endif if( pItemElem->m_dwItemId == II_SYS_SYS_SCR_SEALCHARACTER ) { PutSealChar( pItemElem, &strEdit ); } break; } #endif // __MA_VER11_05 // 纳腐磐 豪牢 芭贰 扁瓷 world,database,neuz case IK2_GMTEXT: { if( pItemProp->dwItemKind3 == IK3_TEXT_DISGUISE ) { PutDestParam( pItemProp->dwDestParam[0], pItemProp->dwDestParam[1], pItemProp->nAdjParamVal[0], pItemProp->nAdjParamVal[1], strEdit ); #if __VER >= 8 //__Y_FLAG_SKILL_BUFF if( pItemProp->dwActiveSkill != NULL_ID ) { ItemProp *pSkillProp; AddSkillProp* pAddSkillProp; pMover->GetSkillProp( &pSkillProp, &pAddSkillProp, pItemProp->dwActiveSkill, 1, "CWndMgr::PutToolTip_Item" ); if( pAddSkillProp ) { PutDestParam( pAddSkillProp->dwDestParam[0], pAddSkillProp->dwDestParam[1], pAddSkillProp->nAdjParamVal[0], pAddSkillProp->nAdjParamVal[1], strEdit ); } } #endif //__Y_FLAG_SKILL_BUFF } break; } default: { break; } } // switch( pItemProp->dwItemKind2 ) #if __VER >= 8 //__Y_FLAG_SKILL_BUFF if( pItemElem->IsEatPet() ) { if( pItemProp->dwActiveSkill != NULL_ID ) { ItemProp *pSkillProp; AddSkillProp* pAddSkillProp; pMover->GetSkillProp( &pSkillProp, &pAddSkillProp, pItemProp->dwActiveSkill, 1, "CWndMgr::PutToolTip_Item" ); if( pAddSkillProp ) { PutDestParam( pAddSkillProp->dwDestParam[0], pAddSkillProp->dwDestParam[1], pAddSkillProp->nAdjParamVal[0], pAddSkillProp->nAdjParamVal[1], strEdit ); } } } #endif //__Y_FLAG_SKILL_BUFF #if __VER >= 15 // __PETVIS if( pItemElem->IsVisPet( ) ) { PutVisPetInfo( pItemElem, &strEdit ); } #endif #ifdef __VENDING_NPC if (pItemProp->dwItemKind3 == IK3_VENDING) { PutSkillTime(pItemElem, &strEdit, flag); } #endif #ifdef __OFFLINE_VENDOR if (pItemProp->dwItemKind3 == IK3_VENDING) { PutSkillTime(pItemElem, &strEdit, flag); } #endif PutCoolTime( pMover, pItemElem, &strEdit ); // 酿鸥烙 PutEndurance( pItemElem, &strEdit, flag ); // 郴备仿 PutKeepTime( pItemElem, &strEdit ); // 荤侩且荐 乐绰 矫埃 PutJob( pMover, pItemElem, &strEdit ); PutLevel( pMover, pItemElem, &strEdit ); #ifdef __ELLDIN_POTION PutElldinPotionText( pItemElem, &strEdit ); #endif // __ELLDIN_POTION PutCommand( pItemElem, &strEdit ); // 侩档 PutItemGold( pMover, pItemElem, &strEdit, flag ); // 啊拜 #ifdef __WIKI_ITEMS if (flag == APP_WIKI_ITEMS) PutSetItemOptWiki(pMover, pItemElem, &strEdit); else #endif #if !defined(__LOOKCHANGE_TOOLTIP) && defined(__LOOKCHANGE) PutLookText(pItemElem, &strEdit); #endif PutSetItemOpt( pMover, pItemElem, &strEdit );
10/04/2022 20:54
Int16#8
inside
PHP Code:
PHP Code:
10/06/2022 13:44
liulinkan#9
Vielen Dank
10/06/2022 13:46
Int16#10
10/06/2022 14:15
liulinkan#11
10/08/2022 00:10
Nιgнтмαяε#12
That's because he is a Chinese user trying to use a language he is google translating lol. |