- Mesaj
- 911
- Çözümler
- 65
- Beğeni
- 847
- Puan
- 919
- Ticaret Puanı
- 0
merhabalar
şöyleki
mesela kesici diş bıçağına şeker çubuğu yansıtılmış fakat taktığımda halen daha kesici diş bıcağını gösteriyor
yada
beyaz aslana yaban domuzu yansıtılmış fakat halen daha beyaz aslan olarak gözüküyor
herhangi bir syseer vermiyor silah ve zırh yansıttığımda böyle sorun olmuyor ne yansıtıldıysa o gözüküyor sadece kostüm sınıfında bu hata var fakat çözemedim bir türlü bilgisi olan yardımcı olabilirmi ?
Linkleri görebilmek için
giriş yap veya kayıt ol.
item yansıtma sistemini ekledim fakar bir kaç problemim var ve bir türlü çözemedimşöyleki
mesela kesici diş bıçağına şeker çubuğu yansıtılmış fakat taktığımda halen daha kesici diş bıcağını gösteriyor
yada
beyaz aslana yaban domuzu yansıtılmış fakat halen daha beyaz aslan olarak gözüküyor
herhangi bir syseer vermiyor silah ve zırh yansıttığımda böyle sorun olmuyor ne yansıtıldıysa o gözüküyor sadece kostüm sınıfında bu hata var fakat çözemedim bir türlü bilgisi olan yardımcı olabilirmi ?
item.cpp:
case ITEM_COSTUME:
{
DWORD toSetValue = this->GetVnum();
EParts toSetPart = PART_MAX_NUM;
if (GetSubType() == COSTUME_BODY)
{
toSetPart = PART_MAIN;
if (false == bAdd)
{
#ifdef ENABLE_ADDITIONAL_EQUIPMENT_PAGE
const CItem* pArmor = m_pOwner->GetEquipWear(WEAR_BODY);
#else
const CItem* pArmor = m_pOwner->GetWear(WEAR_BODY);
#endif
#if defined(__BL_TRANSMUTATION__)
if (pArmor != NULL)
{
const DWORD dwVnum = pArmor->GetVnum();
const DWORD dwTransmutationVnum = pArmor->GetTransmutationVnum();
toSetValue = dwTransmutationVnum != 0 ? dwTransmutationVnum : dwVnum;
}
else
{
toSetValue = m_pOwner->GetOriginalPart(PART_MAIN);
}
#else
toSetValue = (NULL != pArmor) ? pArmor->GetVnum() : m_pOwner->GetOriginalPart(PART_MAIN);
#endif
}
}
// 헤어 코스츔
else if (GetSubType() == COSTUME_HAIR)
{
toSetPart = PART_HAIR;
// 코스츔 헤어는 shape값을 item proto의 value3에 세팅하도록 함. 특별한 이유는 없고 기존 갑옷(ARMOR_BODY)의 shape값이 프로토의 value3에 있어서 헤어도 같이 value3으로 함.
// [NOTE] 갑옷은 아이템 vnum을 보내고 헤어는 shape(value3)값을 보내는 이유는.. 기존 시스템이 그렇게 되어있음...
toSetValue = (true == bAdd) ? this->GetValue (3) : 0;
}
#ifdef ENABLE_ACCE_SYSTEM
else if (GetSubType() == COSTUME_ACCE)
{
toSetValue -= 85000;
if (GetSocket(ACCE_ABSORPTION_SOCKET) >= ACCE_EFFECT_FROM_ABS)
toSetValue += 500;
toSetValue = (bAdd == true) ? toSetValue : 0;
toSetPart = PART_ACCE;
}
#endif
#ifdef __WEAPON_COSTUME_SYSTEM__
else if (GetSubType() == COSTUME_WEAPON)
{
toSetPart = PART_WEAPON;
if (false == bAdd)
{
#ifdef ENABLE_ADDITIONAL_EQUIPMENT_PAGE
const CItem* pWeapon = m_pOwner->GetEquipWear(WEAR_WEAPON);
#else
const CItem* pWeapon = m_pOwner->GetWear(WEAR_WEAPON);
#endif
#if defined(__BL_TRANSMUTATION__)
if (pWeapon)
{
const DWORD dwVnum = pWeapon->GetVnum();
const DWORD dwTransmutationVnum = pWeapon->GetTransmutationVnum();
toSetValue = dwTransmutationVnum != 0 ? dwTransmutationVnum : dwVnum;
}
else
{
toSetValue = m_pOwner->GetOriginalPart(PART_WEAPON);
}
#else
toSetValue = (NULL != pWeapon) ? pWeapon->GetVnum() : m_pOwner->GetOriginalPart(PART_WEAPON);
#endif
}
}
#endif
#ifdef __AURA_SYSTEM__
else if (GetSubType() == COSTUME_AURA)
{
if (m_wCell == INVENTORY_MAX_NUM + WEAR_COSTUME_AURA)
m_pOwner->SetPart(PART_AURA, bAdd ? GetVnum() : m_pOwner->GetOriginalPart(PART_AURA));
}
#endif
#ifdef ENABLE_MOUNT_COSTUME_SYSTEM
else if (GetSubType() == COSTUME_MOUNT)
{
// not need to do a thing in here
}
#endif
if (PART_MAX_NUM != toSetPart)
{
m_pOwner->SetPart ((BYTE)toSetPart, toSetValue);
m_pOwner->UpdatePacket();
}
}
break;