Çözüldü Oyun içi nesne market itemlerin gözükmeme sorunu

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ı.

tc1322

MT Üye
MT Üye
Mesaj
363
Çözümler
17
Beğeni
473
Puan
799
Ticaret Puanı
0
osmanlı filesinden nesne marketi söktüm. Fakat oyun içine itemler gelmiyor kısaca şöyle göstereyim

d92554f7d0001bb49afb63927b6c1cae.png


Eksik olarak gamesrc deki k envanter uyarlamasını yapmadım birazdan onu deneyeceğim. İtemlerin verisini locale/tr/item_shop_table.txt buradan çekiyor. Yardımcı olabileceklere şimdiden teşekkürler

not:
Linkleri görebilmek için giriş yap veya kayıt ol.
daha önceden eklemiştim fakat aynı sorun vardı.


edit: son hata bu

Linkleri görebilmek için giriş yap veya kayıt ol.
 
Son düzenleme:
açık pencere var sanırım onu kapatıp öyle al diyor o hatayı srcde arat çıkan kod bloğunu buraya ekle
 
açık pencere var sanırım onu kapatıp öyle al diyor o hatayı srcde arat çıkan kod bloğunu buraya ekle
C++:
#ifdef ENABLE_ITEM_SHOP_SYSTEM
ACMD(do_nesne_market)
{
    char arg1[256], arg2[256];
    two_arguments(argument, arg1, sizeof(arg1), arg2, sizeof(arg2));

    DWORD id = 0;
    DWORD count = 0;

    if (!*arg1 || !*arg2)
        return;

    {
        ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("PLEASE_BEFORE_CLOSE_WINDOW_AND_USE_THIS_FUNCTION"));
        return;
    }

#ifdef ENABLE_ACCE_SYSTEM
    if (ch->isAcceOpened(true) || ch->isAcceOpened(false))
    {
        ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("PLEASE_BEFORE_CLOSE_WINDOW_AND_USE_THIS_FUNCTION"));
        return;
    }
#endif

    str_to_number(id, arg1);
    str_to_number(count, arg2);

    bool bRes = CItemShopManager::instance().Buy(ch, id, count); // buy func
    if (bRes)
        ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("nesnemarketbasarili"));
}
#endif

buyrun
 
C++:
#ifdef ENABLE_ITEM_SHOP_SYSTEM
ACMD(do_nesne_market)
{
    char arg1[256], arg2[256];
    two_arguments(argument, arg1, sizeof(arg1), arg2, sizeof(arg2));

    DWORD id = 0;
    DWORD count = 0;

    if (!*arg1 || !*arg2)
        return;

    {
        ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("PLEASE_BEFORE_CLOSE_WINDOW_AND_USE_THIS_FUNCTION"));
        return;
    }

#ifdef ENABLE_ACCE_SYSTEM
    if (ch->isAcceOpened(true) || ch->isAcceOpened(false))
    {
        ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("PLEASE_BEFORE_CLOSE_WINDOW_AND_USE_THIS_FUNCTION"));
        return;
    }
#endif

    str_to_number(id, arg1);
    str_to_number(count, arg2);

    bool bRes = CItemShopManager::instance().Buy(ch, id, count); // buy func
    if (bRes)
        ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("nesnemarketbasarili"));
}
#endif

buyrun
hacı pencere açık yani
 
tablolar felan tamam mı ?
evette tablodan kaynaklandıracak bir şey yok garip bir durum

edit:

C++:
    if (!*arg1 || !*arg2)
        return;

    {
        ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("PLEASE_BEFORE_CLOSE_WINDOW_AND_USE_THIS_FUNCTION"));
        return;
    }

Bu kontrolün tam amacı nedir acaba? ona göre kendim farklı bir kontrol eklemeyi deneyeceğim veya alternatifleriniz var ise. Kontrolü kaldırdığımda sıkıntı çıkmıyor. Core verdiren K envanterimide kaldırdım çakışma ihtimali olduğunu düşündüm.
 
Son düzenleme:
Bazı komutlar argument alır. Mesela /set Whistle exp 99999
/set komutundan sonrakiler argument oluyor. Eğer birisi gönderilmemişse bahsettiğiniz kontrol kısmı çalışıyor.
 
Çözüm
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Geri
Üst