- Mesaj
- 747
- Çözümler
- 26
- Beğeni
- 1.730
- Puan
- 1.029
- Ticaret Puanı
- 0
CubeRenewal.cpp Açın ve Aratın:
İçinde Aratın:
C++:
void Cube_Make(
İçinde Aratın:
Burayı görüntülemek için üye girişi yapmalı veya kayıt olmalısınız.
Burayı görüntülemek için üye girişi yapmalı veya kayıt olmalısınız.
Burayı görüntülemek için üye girişi yapmalı veya kayıt olmalısınız.
Altına Ekleyin:
Burayı görüntülemek için üye girişi yapmalı veya kayıt olmalısınız.
Aratın:
C++:
if (canCopy)
{
if (objectSlot >= 0)
{
const LPITEM BonusItem = ch->GetInventoryItem(objectSlot);
// Copy Attribute
for (int a = 0; a < ITEM_ATTRIBUTE_MAX_NUM; a++)
{
if (BonusItem->GetAttributeType(a) != 0)
{
copyAttr[a][0] = BonusItem->GetAttributeType(a);
copyAttr[a][1] = BonusItem->GetAttributeValue(a);
}
}
//Copy Sockets
if (BonusItem->GetType() == ITEM_WEAPON || BonusItem->GetType() == ITEM_ARMOR || BonusItem->GetType() == ITEM_UNIQUE || BonusItem->GetType() == ITEM_COSTUME)
{
for (int a = 0; a < BonusItem->GetSocketCount(); a++)
{
copySockets[a] = BonusItem->GetSocket(a);
}
}
Altına Ekleyin:
Burayı görüntülemek için üye girişi yapmalı veya kayıt olmalısınız.
Aratın:
C++:
else {
#ifdef ENABLE_CUBE_ATTR_SOCKET
if (materialInfo.allowCopyAttr == true && copyAttr != nullptr)
{
pItem->ClearAttribute();
for (int a = 0; a < ITEM_ATTRIBUTE_MAX_NUM; a++)
{
if (copyAttr[a][0] > 0)
pItem->SetForceAttribute(a, copyAttr[a][0], copyAttr[a][1]);
}
if (pItem->GetType() == ITEM_WEAPON || pItem->GetType() == ITEM_ARMOR)
{
for (int a = 0; a < ITEM_SOCKET_MAX_NUM; a++)
{
if (copySockets[a]) {
pItem->SetSocket(a, copySockets[a]);
}
}
Altına Ekleyin:
C++:
#if defined(__BL_TRANSMUTATION__)
if (bChangeLook) {
pItem->SetTransmutationVnum(dwChangeLookVnum);
}
#endif
#if defined(ENABLE_REFINE_ELEMENT)
if (bElement) {
pItem->SetRefineElement(dwRefineElement);
}
#endif
Extra Olarak Bir İtem Oluştururken Eğer İtem Create Olmazsa Zaten Bunu Kontrol Edersiniz. Fakat İtem Oluştuktan ve Envanterde Boş Slot Arama Koşuluna Geldikten Sonra Eğer Boş Slot Bulunmazsa Bu Oluşan İtemi Destroy Etmeniz Gerekir. CubeRenewal'de Bu Yok.
Arat:
C++:
if (iEmptyPos < 0)
{
Altına Ekle:
C++:
ITEM_MANAGER::instance().DestroyItem(pItem);
Video
Son düzenleme: