Yardım cube sistemi için k envanter uyumu

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

ozan30

Üye
Üye
Mesaj
2
Beğeni
1
Puan
430
Ticaret Puanı
0
cube dönüşüm için eklediğim itemler hepsi tamam dönüşümcüdede görünüyor fakat k envanter kullandığım için dönüşüm eşyalarını k envanterden almıyor ve "doğru maddeye sahip değilsin" uyarısı veriyor
dönüşüm için istediği itemleri normal depoya alıp envanterime aldım denedim sorun yok normal envanterde oluyor
bu konuda fixlere baktım fakat sağlıklı bir çözüm bulamadım
dosyalardaki int değerlerini UINT olarak değiştirmem söyleniyor bunu yaptım fakat 32 bitte ./game exec format hatası veriyor 64 bitte denedim sorunsuz çalışıyor bu fixin cpu kasması ve hatalar vereceği ayrıca sağlıklı olmadığı söyleniyor alternatif bir çözüm arıyorum lütfen bu konuda yardım edermisiniz iyi çalışmalar diliyorum herkese.
 
Kodları inceleyip, itemi normal envanterde kontrolünü sağlayan bir bölüm varsa orayı k envanter için düzenlemeyi deneyebilirsiniz. Var olan düzeni değiştirmek yerine, yeni bir kontrol blogu oluşturabilirsiniz. Tabi bu sadece bir fikir :)
 
Yanlış anlamadıysam uyarlamayı soruyorsun kendi kod bloğumu seninle paylaşayım. Tablar gözükmüyor olabilir normal notepad ile açtım sen bakarak fikir edinebilirsin.
cube.cpp:
Genişlet Daralt Kopyala
void Cube_add_item (LPCHARACTER ch, int cube_index, int inven_index)
{
    // ¾ÆÀÌÅÛÀÌ Àִ°¡?
    // Å¥ºê³»ÀÇ ºóÀÚ¸® ã±â
    // Å¥ºê¼¼ÆÃ
    // ¸Ş½ÃÁö Àü¼Û
    LPITEM    item;
    LPITEM    *cube_item;

    RETURN_IF_CUBE_IS_NOT_OPENED(ch);

#ifdef EK_ENVANTER_YAPMAYA_CALISIYOM
    if (inven_index < 0 || INVENTORY_MAX_NUM +
        SKILL_BOOK_INVENTORY_MAX_NUM +
        UPGRADE_ITEMS_INVENTORY_MAX_NUM +
        STONE_INVENTORY_MAX_NUM +
        GIFT_BOX_INVENTORY_MAX_NUM +
        COSTUME_INVENTORY_MAX_NUM + <= inven_index)
        return;
#else
    if (inven_index < 0 || INVENTORY_MAX_NUM <= inven_index)
        return;
#endif

    if (cube_index<0 || CUBE_MAX_NUM<=cube_index)
        return;

    item = ch->GetInventoryItem(inven_index);

    if (NULL==item)    return;

    cube_item = ch->GetCubeItem();

    // ÀÌ¹Ì ´Ù¸¥À§Ä¡¿¡ µî·ÏµÇ¾ú´ø ¾ÆÀÌÅÛÀÌ¸é ±âÁ¸ indext»èÁ¦
    for (int i=0; i<CUBE_MAX_NUM; ++i)
    {
        if (item==cube_item[i])
        {
            cube_item[i] = NULL;
            break;
        }
    }
 
deneyip bildiririm inş işe yarar

Yanlış anlamadıysam uyarlamayı soruyorsun kendi kod bloğumu seninle paylaşayım. Tablar gözükmüyor olabilir normal notepad ile açtım sen bakarak fikir edinebilirsin.
cube.cpp:
Genişlet Daralt Kopyala
void Cube_add_item (LPCHARACTER ch, int cube_index, int inven_index)
{
    // ¾ÆÀÌÅÛÀÌ Àִ°¡?
    // Å¥ºê³»ÀÇ ºóÀÚ¸® ã±â
    // Å¥ºê¼¼ÆÃ
    // ¸Ş½ÃÁö Àü¼Û
    LPITEM    item;
    LPITEM    *cube_item;

    RETURN_IF_CUBE_IS_NOT_OPENED(ch);

#ifdef EK_ENVANTER_YAPMAYA_CALISIYOM
    if (inven_index < 0 || INVENTORY_MAX_NUM +
        SKILL_BOOK_INVENTORY_MAX_NUM +
        UPGRADE_ITEMS_INVENTORY_MAX_NUM +
        STONE_INVENTORY_MAX_NUM +
        GIFT_BOX_INVENTORY_MAX_NUM +
        COSTUME_INVENTORY_MAX_NUM + <= inven_index)
        return;
#else
    if (inven_index < 0 || INVENTORY_MAX_NUM <= inven_index)
        return;
#endif

    if (cube_index<0 || CUBE_MAX_NUM<=cube_index)
        return;

    item = ch->GetInventoryItem(inven_index);

    if (NULL==item)    return;

    cube_item = ch->GetCubeItem();

    // ÀÌ¹Ì ´Ù¸¥À§Ä¡¿¡ µî·ÏµÇ¾ú´ø ¾ÆÀÌÅÛÀÌ¸é ±âÁ¸ indext»èÁ¦
    for (int i=0; i<CUBE_MAX_NUM; ++i)
    {
        if (item==cube_item[i])
        {
            cube_item[i] = NULL;
            break;
        }
    }
malesef hocam doğru maddeye sahip değilsin diyor k envanteri görmüyor yani
 
Geri
Üst