mannaxxx 1
mannaxxx
Agora Metin2 1
Agora Metin2
Mt2Hizmet 1
Mt2Hizmet
berkmenoo 1
berkmenoo
kralhakan2009 1
kralhakan2009
Vahsi Uzman 1
Vahsi Uzman
farkmt2official 1
farkmt2official
cemalggevenc 1
cemalggevenc
Bvural41 1
Bvural41
yarka0000 1
yarka0000
Hikaye Ekle

Npc ' ye item satma problemi

  • Konuyu başlatan Konuyu başlatan BeqKraL
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 4
  • Görüntüleme Görüntüleme 579
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

Ayyıldız2 | 2008 TR Yapısı • 1-99 Orta Emek Destan • Oto Avsız • 10 Temmuz 21:00 HEMEN TIKLA!

İyi forumlar dilerim , daha önce başıma gelmişti fakat çözümünü hatırlayamıyorum o yüzden konu açma gereği duydum hatırlayan arkadaşlar mutlak olacaktır.
Sorunum şu ;
Envanterde 1. slot örneğin kılıç +9 var diğer slotlardan npc ye item satmaya kalktığımda 1.slottaki itemi soruyor satmak istediğine emin misin diye.

Gif de sorunumu anlatmaya çalıştım yardımcı olacak arkadaşlara şimdiden teşekkürler.

giphy.gif


gif link :
 
C++:
clientsrc / pythonplayermodule.cpp açılır.

PyObject * playerIsValuableItem(PyObject* poSelf, PyObject* poArgs) aratılır

kod bloğu komple değiştirilir...

PyObject * playerIsValuableItem(PyObject* poSelf, PyObject* poArgs)
{
    TItemPos SlotIndex;

    switch (PyTuple_Size (poArgs))
    {
    case 1:
        if (!PyTuple_GetInteger(poArgs, 0, &SlotIndex.cell))
            return Py_BuildException();
        break;
    case 2:
        if (!PyTuple_GetInteger(poArgs, 0, &SlotIndex.window_type))
            return Py_BuildException();
        if (!PyTuple_GetInteger(poArgs, 1, &SlotIndex.cell))
            return Py_BuildException();
        break;
    default:
        return Py_BuildException();
    }

    DWORD dwItemIndex = CPythonPlayer::Instance().GetItemIndex(SlotIndex);
    CItemManager::Instance().SelectItemData(dwItemIndex);
    CItemData * pItemData = CItemManager::Instance().GetSelectedItemDataPointer();
    if (!pItemData)
        return Py_BuildException("Can't find item data");

    BOOL hasMetinSocket = FALSE;
    BOOL isHighPrice = FALSE;

    for (int i = 0; i < METIN_SOCKET_COUNT; ++i)
        if (CPythonPlayer::METIN_SOCKET_TYPE_NONE != CPythonPlayer::Instance().GetItemMetinSocket(SlotIndex, i))
            hasMetinSocket = TRUE;

    DWORD dwValue = pItemData->GetISellItemPrice();
    if (dwValue > 5000)
        isHighPrice = TRUE;

    return Py_BuildValue("i", hasMetinSocket || isHighPrice);
}
 
C++:
clientsrc / pythonplayermodule.cpp açılır.

PyObject * playerIsValuableItem(PyObject* poSelf, PyObject* poArgs) aratılır

kod bloğu komple değiştirilir...

PyObject * playerIsValuableItem(PyObject* poSelf, PyObject* poArgs)
{
    TItemPos SlotIndex;

    switch (PyTuple_Size (poArgs))
    {
    case 1:
        if (!PyTuple_GetInteger(poArgs, 0, &SlotIndex.cell))
            return Py_BuildException();
        break;
    case 2:
        if (!PyTuple_GetInteger(poArgs, 0, &SlotIndex.window_type))
            return Py_BuildException();
        if (!PyTuple_GetInteger(poArgs, 1, &SlotIndex.cell))
            return Py_BuildException();
        break;
    default:
        return Py_BuildException();
    }

    DWORD dwItemIndex = CPythonPlayer::Instance().GetItemIndex(SlotIndex);
    CItemManager::Instance().SelectItemData(dwItemIndex);
    CItemData * pItemData = CItemManager::Instance().GetSelectedItemDataPointer();
    if (!pItemData)
        return Py_BuildException("Can't find item data");

    BOOL hasMetinSocket = FALSE;
    BOOL isHighPrice = FALSE;

    for (int i = 0; i < METIN_SOCKET_COUNT; ++i)
        if (CPythonPlayer::METIN_SOCKET_TYPE_NONE != CPythonPlayer::Instance().GetItemMetinSocket(SlotIndex, i))
            hasMetinSocket = TRUE;

    DWORD dwValue = pItemData->GetISellItemPrice();
    if (dwValue > 5000)
        isHighPrice = TRUE;

    return Py_BuildValue("i", hasMetinSocket || isHighPrice);
}


Teşekkürler sorun çözülmüştür , konu kapatılabilir.
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst