Çözüldü item_lonca_duyuru Bu sistemi Düzenliycek Varmı ?

Bu konu çözüme ulaştırılmıştır. Çözüm için konuya yazılan tüm yorumları okumayı unutmayın. Eğer konudaki yorumlar sorununuzu çözmediyse yeni bir konu açabilirsiniz.

lanetli52

Üye
Üye
Mesaj
21
Çözümler
1
Beğeni
3
Puan
50
Arkadaslar Konuyu nereye accamı bılmıyorm gereklı yere tasırsınız bu sistemde taş tanımlanmamıs o yuzden itemini giydin zaman chattan tıkladın zaman tas slotunda safralı gozukuyor sistemi tas tanımlayacak varmı ?


C++:
*chaR_item.cpp

Arat:
bool CHARACTER::EquipItem(LPITEM item, int iCandidateCell)

Fonksiyonun sonundaki "return true;" satırının üzerine ekle:
    if (GetGuild() && CWarMapManager::instance().IsWarMap(GetMapIndex()) && item->IsEquipped())
    {
        char buf[1024] = { 0 };
        char itemlink[256];
        int len;
        int i;

        len = snprintf(itemlink, sizeof(itemlink), "item:%x:%x", item->GetVnum(), item->GetFlag());

        for (i = 0; i < ITEM_SOCKET_MAX_NUM; i++)
            len += snprintf(itemlink + len, sizeof(itemlink) - len, ":%d", item->GetSocket(i));

        for (i = 0; i < ITEM_ATTRIBUTE_MAX_NUM; i++) {
            if (i >= item->GetAttributeCount())
                len += snprintf(itemlink + len, sizeof(itemlink) - len, ":0:0");
            else
                len += snprintf(itemlink + len, sizeof(itemlink) - len, ":%x:%d", item->GetAttributeType(i), item->GetAttributeValue(i));
        }

        snprintf(buf, sizeof(buf), "%s: |cffffc700|H%s|h[%s]|h|r takti.", GetName(), itemlink, item->GetName());
        GetGuild()->Chat(buf);
    }

---

Arat:
bool CHARACTER::UnequipItem(LPITEM item)

Bul:
    if (item->GetVnum() == UNIQUE_ITEM_HIDE_ALIGNMENT_TITLE)
        ShowAlignment(true);

Altına ekle:
    if (GetGuild() && CWarMapManager::instance().IsWarMap(GetMapIndex()) && item->IsEquipped())
    {
        char buf[1024] = { 0 };
        char itemlink[256];
        int len;
        int i;

        len = snprintf(itemlink, sizeof(itemlink), "item:%x:%x", item->GetVnum(), item->GetFlag());

        for (i = 0; i < ITEM_SOCKET_MAX_NUM; i++)
            len += snprintf(itemlink + len, sizeof(itemlink) - len, ":%d", item->GetSocket(i));

        for (i = 0; i < ITEM_ATTRIBUTE_MAX_NUM; i++) {
            if (i >= item->GetAttributeCount())
                len += snprintf(itemlink + len, sizeof(itemlink) - len, ":0:0");
            else
                len += snprintf(itemlink + len, sizeof(itemlink) - len, ":%x:%d", item->GetAttributeType(i), item->GetAttributeValue(i));
        }

        snprintf(buf, sizeof(buf), "%s: |cffffc700|H%s|h[%s]|h|r cikardi.", GetName(), itemlink, item->GetName());
        GetGuild()->Chat(buf);
    }

---

Arat:
bool CHARACTER::SwapItem(int bCell, int bDestCell)

Bul:
        if (bEquipCell != item1->FindEquipCell(this)) // °°Àº À§Ä¡À϶§¸¸ Çã¿ë
            return false;

Altına ekle:
        if (GetGuild() && CWarMapManager::instance().IsWarMap(GetMapIndex()))
        {
            char item1link[256];
            int len;
            int i;

            len = snprintf(item1link, sizeof(item1link), "item:%x:%x", item1->GetVnum(), item1->GetFlag());

            for (i = 0; i < ITEM_SOCKET_MAX_NUM; i++)
                len += snprintf(item1link + len, sizeof(item1link) - len, ":%d", item1->GetSocket(i));

            for (i = 0; i < ITEM_ATTRIBUTE_MAX_NUM; i++) {
                if (i >= item1->GetAttributeCount())
                    len += snprintf(item1link + len, sizeof(item1link) - len, ":0:0");
                else
                    len += snprintf(item1link + len, sizeof(item1link) - len, ":%x:%d", item1->GetAttributeType(i), item1->GetAttributeValue(i));
            }


            char item2link[256];
            len = 0;
            i = 0;

            len = snprintf(item2link, sizeof(item2link), "item:%x:%x", item2->GetVnum(), item2->GetFlag());

            for (i = 0; i < ITEM_SOCKET_MAX_NUM; i++)
                len += snprintf(item2link + len, sizeof(item2link) - len, ":%d", item2->GetSocket(i));

            for (i = 0; i < ITEM_ATTRIBUTE_MAX_NUM; i++) {
                if (i >= item2->GetAttributeCount())
                    len += snprintf(item2link + len, sizeof(item2link) - len, ":0:0");
                else
                    len += snprintf(item2link + len, sizeof(item2link) - len, ":%x:%d", item2->GetAttributeType(i), item2->GetAttributeValue(i));
            }

            char buf[2048] = { 0 };
            snprintf(buf, sizeof(buf), "%s: |cffffc700|H%s|h[%s]|h|r cikarip |cffffc700|H%s|h[%s]|h|r takti.",
                GetName(), item1link, item1->GetName(), item2link, item2->GetName());

            GetGuild()->Chat(buf);
        }
 
Çözüm
Sistemdeki kodlarda bi sorun gözükmüyor. Filesinize 6 socket eklendiği halde hyperlink bunun için güncellenmediyse kalan 4, 5 ve 6. socketler safra olarak gözükebilir. Tam emin değilim ama denemek lazım. :)

Konuya eklediğiniz kodlardaki şu kısımları;
C++:
        for (i = 0; i < ITEM_SOCKET_MAX_NUM; i++)

Şöyle değiştirip deneyebilir misiniz?
C++:
        for (i = 0; i < 3; i++)
Sistemdeki kodlarda bi sorun gözükmüyor. Filesinize 6 socket eklendiği halde hyperlink bunun için güncellenmediyse kalan 4, 5 ve 6. socketler safra olarak gözükebilir. Tam emin değilim ama denemek lazım. :)

Konuya eklediğiniz kodlardaki şu kısımları;
C++:
        for (i = 0; i < ITEM_SOCKET_MAX_NUM; i++)

Şöyle değiştirip deneyebilir misiniz?
C++:
        for (i = 0; i < 3; i++)
 
Çözüm
Geri
Üst