Çözüldü Kemer envanter'e istediğimiz itemi koydurmak?

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.
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.

tayfun5110191

Üye
Üye
Mesaj
101
Çözümler
4
Beğeni
52
Puan
724
Ticaret Puanı
0
Merhaba esenlikler ,

Biliyorsunuz metin2 de envanter yanında kemer envanteri bulunuyor , bu kemer envantere istediğimiz itemi nasıl koydurabiliriz bilgisi olan yorum yapabilir mi ?
 
Çözüm
Eğer tüm eşyaların koyulabilmesini istiyorsanız şu adımı uygulayın;
Server/game/src/char_item.cpp
dosyasında şu fonksiyonun CHARACTER::MoveItem içinde şu kodu aratın;
C++:
Genişlet Daralt Kopyala
    if (DestCell.IsBeltInventoryPosition() && false == CBeltInventoryHelper::CanMoveIntoBeltInventory(item))
    {
        ChatPacket(CHAT_TYPE_INFO, LC_TEXT("ÀÌ ¾ÆÀÌÅÛÀº º§Æ® Àκ¥Å丮·Î ¿Å±æ ¼ö ¾ø½À´Ï´Ù."));
        return false;
    }

Bu kodu silebilir veya yorum satırına /* */ şekilde alabilirsiniz.

Server/game/src/input_main.cpp dosyasında şu fonksiyonun CInputMain::SafeboxCheckout içinde şu kodu aratın (eğer varsa, her srcde olmayabilir.)
C++:
Genişlet Daralt Kopyala
        if (p->ItemPos.IsBeltInventoryPosition() && false ==...
Eğer tüm eşyaların koyulabilmesini istiyorsanız şu adımı uygulayın;
Server/game/src/char_item.cpp
dosyasında şu fonksiyonun CHARACTER::MoveItem içinde şu kodu aratın;
C++:
Genişlet Daralt Kopyala
    if (DestCell.IsBeltInventoryPosition() && false == CBeltInventoryHelper::CanMoveIntoBeltInventory(item))
    {
        ChatPacket(CHAT_TYPE_INFO, LC_TEXT("ÀÌ ¾ÆÀÌÅÛÀº º§Æ® Àκ¥Å丮·Î ¿Å±æ ¼ö ¾ø½À´Ï´Ù."));
        return false;
    }

Bu kodu silebilir veya yorum satırına /* */ şekilde alabilirsiniz.

Server/game/src/input_main.cpp dosyasında şu fonksiyonun CInputMain::SafeboxCheckout içinde şu kodu aratın (eğer varsa, her srcde olmayabilir.)
C++:
Genişlet Daralt Kopyala
        if (p->ItemPos.IsBeltInventoryPosition() && false == CBeltInventoryHelper::CanMoveIntoBeltInventory(pkItem))
        {
            ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("ÀÌ ¾ÆÀÌÅÛÀº º§Æ® Àκ¥Å丮·Î ¿Å±æ ¼ö ¾ø½À´Ï´Ù."));
            return;
        }
Bu kodu silebilir veya yorum satıına /* */ şekilde aldıktan sonra gameyi build ederseniz tüm eşyaları koyabilirsiniz.

Eğer ben tüm eşyalar yerine sadece benim belirlediğim eşyalar koyulsun diyorsan şunu uygulayın;
Server/game/src/belt_inventory_helper.h
dosyasında şu fonksiyonu aratın;
C++:
Genişlet Daralt Kopyala
static bool CanMoveIntoBeltInventory(LPITEM item)

Mesela bende fonksiyonun tamamı şu şekilde;
C++:
Genişlet Daralt Kopyala
    static bool CanMoveIntoBeltInventory(LPITEM item)
    {
        bool canMove = false;

        if (item->GetType() == ITEM_USE)
        {
            switch (item->GetSubType())
            {
            case USE_POTION:
            case USE_POTION_NODELAY:
            case USE_ABILITY_UP:
                canMove = true;
                break;
            }
        }

        return canMove;
    }

Bu eşyaların yanında beceri kitaplarını da koymalarını istersek şunu yapabiliriz;
C++:
Genişlet Daralt Kopyala
    static bool CanMoveIntoBeltInventory(LPITEM item)
    {
        bool canMove = false;

        if (item->GetType() == ITEM_USE)
        {
            switch (item->GetSubType())
            {
            case USE_POTION:
            case USE_POTION_NODELAY:
            case USE_ABILITY_UP:
            case ITEM_SKILLBOOK:
                canMove = true;
                break;
            }
        }

        return canMove;
    }
 
Son düzenleme:
Çözüm
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Üst