Çözüldü K envanter giyili eşyayı bırakamazsın sorunu

  • Konuyu açan Konuyu açan Forgiven
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 11
  • Gösterim Gösterim 402
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ı.

Forgiven

Discord; burakhangunduz
Premium Üye
Geliştirici
Yardımsever Üye
Usta Üye
Editör
Mesaj
680
Çözümler
54
Beğeni
715
Puan
949
Ticaret Puanı
0

Gerekli her yere baktım ve hala da bakmaya devam ediyorum fikri olan yazabilir :)
 
Çözüm
DropItem içerisindeki engeli kaldırdım.
Onun yerine;
C++:
Genişlet Daralt Kopyala
input_main.cpp
void CInputMain::ItemDrop(LPCHARACTER ch, const char * data)
{
    TPacketCGItemDrop * pinfo = (TPacketCGItemDrop *) data;

    LPITEM pkItem = ch->GetItem(pinfo->Cell);
    
    if (!pkItem || !ch)
        return;

    if (pkItem->IsEquipped() == true)
    {
        ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("__MOVE_EQUIPPED_FIX__"));
        return;
    }

    if (pinfo->gold > 0)
        ch->DropGold(pinfo->gold);
    else
        ch->DropItem(pinfo->Cell, pinfo->count);
}
Fonksiyonu değiştirdim.

Ardından bi de giyili eşyaları envantere sürüklüyebiliyorduk, onları da şu şekilde fixledim.

C++:
Genişlet Daralt Kopyala
char_item.cpp
MoveItem
    if (Cell.IsEquipPosition() &&...
Error mesajının geldiği kodları takip ettiniz mi, belki k envanterle ilgili bir düzenlemede giyilen itemlerle çakışan yer vardır
 
Error mesajının geldiği kodları takip ettiniz mi, belki k envanterle ilgili bir düzenlemede giyilen itemlerle çakışan yer vardır
O şekil takibini yaptım ama diğer filesimde aynı envanter kurulu sorun yok. Sorun game taraflı değil çünkü giyilen eşya olsa cubede dönüşemez ya da npcye satılamaz onlar aktif şu an.
 
pack tarafından giyilen eşya bırakılamaz takibini yaptın dimi? hangi shop bu bende bakim kodlarına bir
 
GIF 31.05.2024 19-58-21.gif
 
Veri tipi sorunu, çiçek bölümünün ekipman sayfası gibi gözükmesi, dbde hatalı bir tanımlama ilk aklıma gelen olasılıklar, muhtemelen hepsini kontrol etmişsindir ama yine de yazayım dedim.
 
Veri tipi sorunu, çiçek bölümünün ekipman sayfası gibi gözükmesi, dbde hatalı bir tanımlama ilk aklıma gelen olasılıklar, muhtemelen hepsini kontrol etmişsindir ama yine de yazayım dedim.
Günaydın dostum, videoda sadece çiçek envanterini göstermişim diğer envanterlerde aynı şekilde böyle.

Günaydın dostum, videoda sadece çiçek envanterini göstermişim diğer envanterlerde aynı şekilde böyle.
Biraz daha kontrol ettim ama hata bulamadım söktüğüm yerleride kontrol ettim yine hata yok.
 
DropItem içerisindeki engeli kaldırdım.
Onun yerine;
C++:
Genişlet Daralt Kopyala
input_main.cpp
void CInputMain::ItemDrop(LPCHARACTER ch, const char * data)
{
    TPacketCGItemDrop * pinfo = (TPacketCGItemDrop *) data;

    LPITEM pkItem = ch->GetItem(pinfo->Cell);
    
    if (!pkItem || !ch)
        return;

    if (pkItem->IsEquipped() == true)
    {
        ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("__MOVE_EQUIPPED_FIX__"));
        return;
    }

    if (pinfo->gold > 0)
        ch->DropGold(pinfo->gold);
    else
        ch->DropItem(pinfo->Cell, pinfo->count);
}
Fonksiyonu değiştirdim.

Ardından bi de giyili eşyaları envantere sürüklüyebiliyorduk, onları da şu şekilde fixledim.

C++:
Genişlet Daralt Kopyala
char_item.cpp
MoveItem
    if (Cell.IsEquipPosition() && DestCell.IsSkillBookInventoryPosition())
    {
        ChatPacket(CHAT_TYPE_INFO, LC_TEXT("You cannot place equipped items in this inventory."));
        return false;
    }

    if (Cell.IsEquipPosition() && DestCell.IsUpgradeItemsInventoryPosition())
    {
        ChatPacket(CHAT_TYPE_INFO, LC_TEXT("You cannot place equipped items in this inventory."));
        return false;
    }

    if (Cell.IsEquipPosition() && DestCell.IsStoneInventoryPosition())
    {
        ChatPacket(CHAT_TYPE_INFO, LC_TEXT("You cannot place equipped items in this inventory."));
        return false;
    }
    
    if (Cell.IsEquipPosition() && DestCell.IsFlowersInventoryPosition())
    {
        ChatPacket(CHAT_TYPE_INFO, LC_TEXT("You cannot place equipped items in this inventory."));
        return false;
    }

Sorun çözülmüştür.
 
Çözüm
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Üst