[C++] Official Cube Renewal (ChangeLook ve Refine Element)

  • Konuyu açan Konuyu açan okan4141
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 0
  • Gösterim Gösterim 173

okan4141

D E L I
Geliştirici
MT Üye
Mesaj
747
Çözümler
26
Beğeni
1.730
Puan
1.029
Ticaret Puanı
0
CubeRenewal.cpp Açın ve Aratın:

C++:
Genişlet Daralt Kopyala
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++:
Genişlet Daralt Kopyala
                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++:
Genişlet Daralt Kopyala
                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++:
Genişlet Daralt Kopyala
#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++:
Genişlet Daralt Kopyala
                if (iEmptyPos < 0)
                {

Altına Ekle:

C++:
Genişlet Daralt Kopyala
                    ITEM_MANAGER::instance().DestroyItem(pItem);

2.webp


Video

 
Son düzenleme:
Geri
Üst