Yardım npc'ye item satmaya çalışınca oyundan atıyor

  • Konuyu açan Konuyu açan darkbloodly
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 4
  • Gösterim Gösterim 176
Konu sahibi bu konuda soru soruyor. Sorusu ile ilgili bilgisi olanların yanıtlamasını bekliyor.

darkbloodly

Üye
Üye
Mesaj
147
Çözümler
7
Beğeni
62
Puan
479
Ticaret Puanı
0
Merhaba arkadaşlar, k envanter ekledim. K envanter'den ya da normalden item satmaya çalıştığımda ilk itemde tepki vermiyor (itemi de satmıyor, 2.ye tekrar denediğim de login ekranına atıyor) pack syserr yok

ch1 syserr :

Kod:
Genişlet Daralt Kopyala
SYSERR: Dec 27 18:30:09 :: Process: UNKNOWN HEADER: 179, LAST HEADER: 0(0), REMAIN BYTES: 4, fd: 18
SYSERR: Dec 27 18:30:38 :: Process: UNKNOWN HEADER: 44, LAST HEADER: 0(0), REMAIN BYTES: 18, fd: 18
SYSERR: Dec 27 18:40:49 :: Process: UNKNOWN HEADER: 248, LAST HEADER: 74(5), REMAIN BYTES: 5, fd: 18
SYSERR: Dec 27 18:41:16 :: Process: UNKNOWN HEADER: 22, LAST HEADER: 0(0), REMAIN BYTES: 20, fd: 18

input_main.cpp
Kod:
Genişlet Daralt Kopyala
#ifdef ENABLE_SPECIAL_STORAGE
    case SHOP_SUBHEADER_CG_SELL2:
    {
        if (uiBytes < sizeof(TPacketCGShopSell))
            return -1;

        TPacketCGShopSell* muck = (TPacketCGShopSell*)c_pData;

        sys_log(0, "INPUT: %s SHOP: SELL2", ch->GetName());
        CShopManager::instance().Sell(ch, muck->pos, muck->count, muck->byType);
        return sizeof(TPacketCGShopSell);
    }
#else
    case SHOP_SUBHEADER_CG_SELL2:
    {
        if (uiBytes < sizeof(BYTE) + sizeof(BYTE))
            return -1;

        BYTE pos = *(c_pData++);
        BYTE count = *(c_pData);

        sys_log(0, "INPUT: %s SHOP: SELL2", ch->GetName());
        CShopManager::instance().Sell(ch, pos, count);
        return sizeof(BYTE) + sizeof(BYTE);
    }
#endif

        default:
            sys_err("CInputMain::Shop : Unknown subheader %d : %s", p->subheader, ch->GetName());
            break;
    }

    return 0;
}

edit :
muhtemelen bu kısım ile alakalı değil, ancak çözemedim. shop.cpp'den olabilir mi?

yere sil sat sistemi ekledim şimdi, mesela yere satabiliyor itemi oyundan atmıyor. Ama shop'a satınca böyle bi sıkıntı var, netleştirmek adına test ettim ve ekledim
 
Son düzenleme:
Client/Packet.h
Game/packet.h

TPacketCGShopSell

paketini karşılaştır eşleşmiyor büyük ihtimalle

baktım hocam bi fark göremedim, inceleyebilir misiniz?
Linkleri görebilmek için giriş yap veya kayıt ol.


edit :

hocam denemek için
1735394753461.webp


client src

1735395525878.webp

bu dosyalardan K envanteri kaldırdım, eski haline aldım yani. Şuan normal envanterimdeki itemleri Satabiliyorum. Sorun bunlardan birinde sanırım SendShopSellPacketNew paketinde falan
 
Son düzenleme:
#ifdef ENABLE_SPECIAL_STORAGE case SHOP_SUBHEADER_CG_SELL2: { if (uiBytes < sizeof(TPacketCGShopSell)) return -1; TPacketCGShopSell* muck = (TPacketCGShopSell*)c_pData; sys_log(0, "INPUT: %s SHOP: SELL2", ch->GetName()); CShopManager::instance().Sell(ch, muck->pos, muck->count, muck->byType); return sizeof(TPacketCGShopSell); } #else case SHOP_SUBHEADER_CG_SELL2: { if (uiBytes < sizeof(BYTE) + sizeof(BYTE)) return -1; BYTE pos = *(c_pData++); BYTE count = *(c_pData); sys_log(0, "INPUT: %s SHOP: SELL2", ch->GetName()); CShopManager::instance().Sell(ch, pos, count); return sizeof(BYTE) + sizeof(BYTE); } #endif

#ifdef ENABLE_SPECIAL_STORAGE case SHOP_SUBHEADER_CG_SELL2: { if (uiBytes < sizeof(TPacketCGShopSell)) return -1; TPacketCGShopSell* muck = (TPacketCGShopSell*)c_pData; sys_log(0, "INPUT: %s SHOP: SELL2", ch->GetName()); CShopManager::instance().Sell(ch, muck->pos, muck->count, muck->byType); return sizeof(TPacketCGShopSell); } #else case SHOP_SUBHEADER_CG_SELL2: { if (uiBytes < sizeof(BYTE) + sizeof(BYTE)) return -1; BYTE pos = *(c_pData++); BYTE count = *(c_pData); sys_log(0, "INPUT: %s SHOP: SELL2", ch->GetName()); CShopManager::instance().Sell(ch, pos, count); return sizeof(BYTE) + sizeof(BYTE); } #endif


Ara:


C++:
Genişlet Daralt Kopyala
#ifdef ENABLE_SPECIAL_STORAGE
    case SHOP_SUBHEADER_CG_SELL2:
    {
        if (uiBytes < sizeof(TPacketCGShopSell))
            return -1;

        TPacketCGShopSell* muck = (TPacketCGShopSell*)c_pData;

        sys_log(0, "INPUT: %s SHOP: SELL2", ch->GetName());
        CShopManager::instance().Sell(ch, muck->pos, muck->count, muck->byType);
        return sizeof(TPacketCGShopSell);
    }
#else
    case SHOP_SUBHEADER_CG_SELL2:
    {
        if (uiBytes < sizeof(BYTE) + sizeof(BYTE))
            return -1;

        BYTE pos = *(c_pData++);
        BYTE count = *(c_pData);

        sys_log(0, "INPUT: %s SHOP: SELL2", ch->GetName());
        CShopManager::instance().Sell(ch, pos, count);
        return sizeof(BYTE) + sizeof(BYTE);
    }
#endif

Değiştir:


C++:
Genişlet Daralt Kopyala
#ifdef ENABLE_SPECIAL_STORAGE
    case SHOP_SUBHEADER_CG_SELL2:
    {
        if (uiBytes < sizeof(TPacketCGShopSell))
            return -1;

        TPacketCGShopSell* muck = (TPacketCGShopSell*)c_pData;

        sys_log(0, "INPUT: %s SHOP: SELL2", ch->GetName());
        CShopManager::instance().Sell(ch, muck->pos, muck->count, muck->byType);
        return sizeof(TPacketCGShopSell);
    }
#else
    case SHOP_SUBHEADER_CG_SELL2:
    {
        if (uiBytes < sizeof(BYTE) + sizeof(WORD))
            return -1;

        BYTE pos = *(c_pData++);
        WORD count = *(c_pData);

        sys_log(0, "INPUT: %s SHOP: SELL2", ch->GetName());
        CShopManager::instance().Sell(ch, pos, count);
        return sizeof(BYTE) + sizeof(WORD);
    }
#endif
 
Ara:


C++:
Genişlet Daralt Kopyala
#ifdef ENABLE_SPECIAL_STORAGE
    case SHOP_SUBHEADER_CG_SELL2:
    {
        if (uiBytes < sizeof(TPacketCGShopSell))
            return -1;

        TPacketCGShopSell* muck = (TPacketCGShopSell*)c_pData;

        sys_log(0, "INPUT: %s SHOP: SELL2", ch->GetName());
        CShopManager::instance().Sell(ch, muck->pos, muck->count, muck->byType);
        return sizeof(TPacketCGShopSell);
    }
#else
    case SHOP_SUBHEADER_CG_SELL2:
    {
        if (uiBytes < sizeof(BYTE) + sizeof(BYTE))
            return -1;

        BYTE pos = *(c_pData++);
        BYTE count = *(c_pData);

        sys_log(0, "INPUT: %s SHOP: SELL2", ch->GetName());
        CShopManager::instance().Sell(ch, pos, count);
        return sizeof(BYTE) + sizeof(BYTE);
    }
#endif

Değiştir:


C++:
Genişlet Daralt Kopyala
#ifdef ENABLE_SPECIAL_STORAGE
    case SHOP_SUBHEADER_CG_SELL2:
    {
        if (uiBytes < sizeof(TPacketCGShopSell))
            return -1;

        TPacketCGShopSell* muck = (TPacketCGShopSell*)c_pData;

        sys_log(0, "INPUT: %s SHOP: SELL2", ch->GetName());
        CShopManager::instance().Sell(ch, muck->pos, muck->count, muck->byType);
        return sizeof(TPacketCGShopSell);
    }
#else
    case SHOP_SUBHEADER_CG_SELL2:
    {
        if (uiBytes < sizeof(BYTE) + sizeof(WORD))
            return -1;

        BYTE pos = *(c_pData++);
        WORD count = *(c_pData);

        sys_log(0, "INPUT: %s SHOP: SELL2", ch->GetName());
        CShopManager::instance().Sell(ch, pos, count);
        return sizeof(BYTE) + sizeof(WORD);
    }
#endif

hocam ENABLE_SPECIAL_STORAGE bu sistemi kullanacağım ama, elseden sonra değişiklik yapmışsınız bu sorunumu çözer mi?

edit: denedim hocam bişey değişmedi, zaten ben bu sistemi kullanacağım o yüzden elseden sonrasında soru nyok sistemi kaldırınca satıyodu zaten

yukarıda yazdığım dosyalardan birinde sorun var özellikle shop.cppli dosyalarda muhtemelen
 
Son düzenleme:
Geri
Üst