Çözüldü Acce sonrası kemer kayması

  • Konuyu açan Konuyu açan Happy Way
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 5
  • Gösterim Gösterim 85
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ı.

Happy Way

Üye
Üye
Mesaj
124
Çözümler
13
Beğeni
52
Puan
749
Ticaret Puanı
0
Acce sistemini ekledikten sonra kemeri taktığımda kemer yok oluyor fakat başka bir kemer takmaya denediğim de kemer değişiyor,envanterde gözükmüyor.Resimlerle anlatayım:


0908_163356.webp

0908_163405.webp


0908_163502.webp


İtemler değişiyor fakat gözükmüyor diğer slotlarada geçmiyor costum vs .
Lenght.h:
Genişlet Daralt Kopyala
enum EWearPositions
{
    WEAR_BODY,            // 0
    WEAR_HEAD,            // 1
    WEAR_FOOTS,            // 2
    WEAR_WRIST,            // 3
    WEAR_WEAPON,        // 4
    WEAR_NECK,            // 5
    WEAR_EAR,            // 6
    WEAR_UNIQUE1,        // 7
    WEAR_UNIQUE2,        // 8
    WEAR_ARROW,            // 9
    WEAR_SHIELD,        // 10
    WEAR_ABILITY1,        // 11
    WEAR_ABILITY2,        // 12
    WEAR_ABILITY3,        // 13
    WEAR_ABILITY4,        // 14
    WEAR_ABILITY5,        // 15
    WEAR_ABILITY6,        // 16
    WEAR_ABILITY7,        // 17
    WEAR_ABILITY8,        // 18
    WEAR_COSTUME_BODY,    // 19
    WEAR_COSTUME_HAIR,    // 20
#ifdef ENABLE_WEAPON_COSTUME_SYSTEM
    WEAR_COSTUME_WEAPON,// 21
#endif
#ifdef ENABLE_MOUNT_COSTUME_SYSTEM
    WEAR_COSTUME_MOUNT, // 22
#endif
#ifdef ENABLE_ACCE_SYSTEM
    WEAR_COSTUME_ACCE, // 23
#endif

    WEAR_RING1,            // 24    : ½Å±Ô ¹İÁö½½·Ô1 (¿ŞÂÊ)3
    WEAR_RING2,            // 25    : ½Å±Ô ¹İÁö½½·Ô2 (¿À¸¥ÂÊ)
    WEAR_BELT,            // 26    : ½Å±Ô º§Æ®½½·Ô

    WEAR_MAX = 32,    //
};
itemdata.h(Client):
Genişlet Daralt Kopyala
    enum EWearPositions
    {
        WEAR_BODY,                    // 0
        WEAR_HEAD,                    // 1
        WEAR_FOOTS,                    // 2
        WEAR_WRIST,                    // 3
        WEAR_WEAPON,                // 4
        WEAR_NECK,                    // 5
        WEAR_EAR,                    // 6
        WEAR_UNIQUE1,                // 7
        WEAR_UNIQUE2,                // 8
        WEAR_ARROW,                    // 9
        WEAR_SHIELD,                // 10
        WEAR_ABILITY1,                // 11
        WEAR_ABILITY2,                // 12
        WEAR_ABILITY3,                // 13
        WEAR_ABILITY4,                // 14
        WEAR_ABILITY5,                // 15
        WEAR_ABILITY6,                // 16
        WEAR_ABILITY7,                // 17
        WEAR_ABILITY8,                // 18
        WEAR_COSTUME_BODY,            // 19
        WEAR_COSTUME_HAIR,            // 20
#ifdef ENABLE_WEAPON_COSTUME_SYSTEM
        WEAR_COSTUME_WEAPON,        // 21
#endif
#ifdef ENABLE_MOUNT_COSTUME_SYSTEM
        WEAR_COSTUME_MOUNT,            // 22
#endif
#ifdef ENABLE_ACCE_SYSTEM
        WEAR_COSTUME_ACCE,            // 23
#endif

        WEAR_RING1,                    // 24
        WEAR_RING2,                    // 25
        WEAR_BELT,                    // 26

        WEAR_MAX_NUM = 32,
    };
gametype.h(userinterface):
Genişlet Daralt Kopyala
#ifdef ENABLE_COSTUME_SYSTEM
const DWORD c_Costume_Slot_Start = c_Equipment_Start + CItemData::WEAR_COSTUME_BODY;
const DWORD    c_Costume_Slot_Body = c_Costume_Slot_Start + CItemData::COSTUME_BODY;
const DWORD    c_Costume_Slot_Hair = c_Costume_Slot_Start + CItemData::COSTUME_HAIR;
#ifdef ENABLE_WEAPON_COSTUME_SYSTEM
const DWORD c_Costume_Slot_Weapon = c_Costume_Slot_Start + CItemData::COSTUME_WEAPON;
#endif
#ifdef ENABLE_MOUNT_COSTUME_SYSTEM
const DWORD    c_Costume_Slot_Mount = c_Costume_Slot_Start + CItemData::COSTUME_MOUNT;
#endif
#ifdef ENABLE_ACCE_SYSTEM
const DWORD    c_Costume_Slot_Acce = c_Costume_Slot_Start + CItemData::COSTUME_ACCE;
#endif

const DWORD c_Costume_Slot_Count = 2
#ifdef ENABLE_WEAPON_COSTUME_SYSTEM
+ 1
#endif
#ifdef ENABLE_MOUNT_COSTUME_SYSTEM
+ 1
#endif
#ifdef ENABLE_ACCE_SYSTEM
+ 1
#endif
;

const DWORD c_Costume_Slot_End = c_Costume_Slot_Start + c_Costume_Slot_Count;

#endif
#ifdef ENABLE_NEW_EQUIPMENT_SYSTEM
const DWORD c_New_Equipment_Start = c_Equipment_Start + 21 + (c_Costume_Slot_Count-2);
const DWORD c_New_Equipment_Count = 3;

const DWORD c_Equipment_Ring1 = c_New_Equipment_Start + CItemData::WEAR_RING1;
const DWORD c_Equipment_Ring2 = c_New_Equipment_Start + CItemData::WEAR_RING2;
const DWORD c_Equipment_Belt = c_New_Equipment_Start + CItemData::WEAR_BELT;
#endif


const DWORD c_New_Equipment_Start = c_Equipment_Start + 21 + (c_Costume_Slot_Count-2); Burdaki -2 değerini düz yapıp, -1,-2.-3,-4,-5 yaparak denedim olmadı düz 21 denedim olmadı CItemData::WEAR_RING1 Yaparak denedim olmadı başka fikri olan varmı :)
 

Dosya Eklentileri

  • 0908_163411.webp
    0908_163411.webp
    1,1 MB · Gösterim: 15
Son düzenleme:
Çözüm
Problem çözülmüştür problemin oluştuğu kod satırı;
Rubinum envanterde bu şekilde olması gerektiği söylenmiş fakat bu kemerin gözükmeme sorununa yol açıyor.
Aşağıdaki kod rubiye ait.
uiinventory.py:
Genişlet Daralt Kopyala
def RefreshEquipSlotWindow(self):
        getItemVNum=player.GetItemIndex
        getItemCount=player.GetItemCount
        setItemVNum=self.wndEquip.SetItemSlot
        for i in xrange(player.EQUIPMENT_PAGE_COUNT):
            slotNumber = player.EQUIPMENT_SLOT_START + i
            itemCount = getItemCount(slotNumber)
            if itemCount <= 1:
                itemCount = 0
            setItemVNum(slotNumber, getItemVNum(slotNumber), itemCount)
        for i in xrange(item.COSTUME_SLOT_COUNT):
            slotNumber = item.COSTUME_SLOT_START + i...
Sıralamayı bozmuşsunuz, niye böyle eklediğinizi anlamadım eğer yeni bir sistem eklenecekse enumların her zaman en sonuna eklenir, örnek;

lenght.h:
Genişlet Daralt Kopyala
enum EWearPositions
{
    WEAR_BODY,            // 0
    WEAR_HEAD,            // 1
    WEAR_FOOTS,            // 2
    WEAR_WRIST,            // 3
    WEAR_WEAPON,        // 4
    WEAR_NECK,            // 5
    WEAR_EAR,            // 6
    WEAR_UNIQUE1,        // 7
    WEAR_UNIQUE2,        // 8
    WEAR_ARROW,            // 9
    WEAR_SHIELD,        // 10
    WEAR_ABILITY1,        // 11
    WEAR_ABILITY2,        // 12
    WEAR_ABILITY3,        // 13
    WEAR_ABILITY4,        // 14
    WEAR_ABILITY5,        // 15
    WEAR_ABILITY6,        // 16
    WEAR_ABILITY7,        // 17
    WEAR_ABILITY8,        // 18
    WEAR_COSTUME_BODY,    // 19
    WEAR_COSTUME_HAIR,    // 20
    WEAR_RING1,           // 21
    WEAR_RING2,           // 22
    WEAR_BELT,            // 23
#ifdef ENABLE_WEAPON_COSTUME_SYSTEM
    WEAR_COSTUME_WEAPON,  // 24
#endif
#ifdef ENABLE_MOUNT_COSTUME_SYSTEM
    WEAR_COSTUME_MOUNT,   // 25
#endif
#ifdef ENABLE_ACCE_SYSTEM
    WEAR_COSTUME_ACCE,    // 26
#endif

    WEAR_MAX = 32,
};

Şuan ki haliyle bu dediğim gibi düzenlerseniz yine hata alacaksınız bunu sadece örnek olarak verdim, bilgi olması açısından.

Soruna gelecek olursak gametype bölümünde hata yapmışsınız, düzenlenmiş hali;

gametype.h:
Genişlet Daralt Kopyala
#ifdef ENABLE_COSTUME_SYSTEM
const DWORD c_Costume_Slot_Start = c_Equipment_Start + CItemData::WEAR_COSTUME_BODY;
const DWORD    c_Costume_Slot_Body = c_Costume_Slot_Start + CItemData::COSTUME_BODY;
const DWORD    c_Costume_Slot_Hair = c_Costume_Slot_Start + CItemData::COSTUME_HAIR;
#ifdef ENABLE_WEAPON_COSTUME_SYSTEM
const DWORD c_Costume_Slot_Weapon = c_Costume_Slot_Start + CItemData::COSTUME_WEAPON;
#endif
#ifdef ENABLE_MOUNT_COSTUME_SYSTEM
const DWORD    c_Costume_Slot_Mount = c_Costume_Slot_Start + CItemData::COSTUME_MOUNT;
#endif
#ifdef ENABLE_ACCE_SYSTEM
const DWORD    c_Costume_Slot_Acce = c_Costume_Slot_Start + CItemData::COSTUME_ACCE;
#endif

const DWORD c_Costume_Slot_Count = 2
#ifdef ENABLE_WEAPON_COSTUME_SYSTEM
+ 1
#endif
#ifdef ENABLE_MOUNT_COSTUME_SYSTEM
+ 1
#endif
#ifdef ENABLE_ACCE_SYSTEM
+ 1
#endif
;

const DWORD c_Costume_Slot_End = c_Costume_Slot_Start + c_Costume_Slot_Count;
#endif

#ifdef ENABLE_NEW_EQUIPMENT_SYSTEM
const DWORD c_New_Equipment_Start = c_Equipment_Start + 24;
const DWORD c_New_Equipment_Count = 3;

const DWORD c_Equipment_Ring1 = c_New_Equipment_Start + 0;
const DWORD c_Equipment_Ring2 = c_New_Equipment_Start + 1;
const DWORD c_Equipment_Belt  = c_New_Equipment_Start + 2;
#endif

 
Sıralamayı bozmuşsunuz, niye böyle eklediğinizi anlamadım eğer yeni bir sistem eklenecekse enumların her zaman en sonuna eklenir, örnek;

lenght.h:
Genişlet Daralt Kopyala
enum EWearPositions
{
    WEAR_BODY,            // 0
    WEAR_HEAD,            // 1
    WEAR_FOOTS,            // 2
    WEAR_WRIST,            // 3
    WEAR_WEAPON,        // 4
    WEAR_NECK,            // 5
    WEAR_EAR,            // 6
    WEAR_UNIQUE1,        // 7
    WEAR_UNIQUE2,        // 8
    WEAR_ARROW,            // 9
    WEAR_SHIELD,        // 10
    WEAR_ABILITY1,        // 11
    WEAR_ABILITY2,        // 12
    WEAR_ABILITY3,        // 13
    WEAR_ABILITY4,        // 14
    WEAR_ABILITY5,        // 15
    WEAR_ABILITY6,        // 16
    WEAR_ABILITY7,        // 17
    WEAR_ABILITY8,        // 18
    WEAR_COSTUME_BODY,    // 19
    WEAR_COSTUME_HAIR,    // 20
    WEAR_RING1,           // 21
    WEAR_RING2,           // 22
    WEAR_BELT,            // 23
#ifdef ENABLE_WEAPON_COSTUME_SYSTEM
    WEAR_COSTUME_WEAPON,  // 24
#endif
#ifdef ENABLE_MOUNT_COSTUME_SYSTEM
    WEAR_COSTUME_MOUNT,   // 25
#endif
#ifdef ENABLE_ACCE_SYSTEM
    WEAR_COSTUME_ACCE,    // 26
#endif

    WEAR_MAX = 32,
};

Şuan ki haliyle bu dediğim gibi düzenlerseniz yine hata alacaksınız bunu sadece örnek olarak verdim, bilgi olması açısından.

Soruna gelecek olursak gametype bölümünde hata yapmışsınız, düzenlenmiş hali;

gametype.h:
Genişlet Daralt Kopyala
#ifdef ENABLE_COSTUME_SYSTEM
const DWORD c_Costume_Slot_Start = c_Equipment_Start + CItemData::WEAR_COSTUME_BODY;
const DWORD    c_Costume_Slot_Body = c_Costume_Slot_Start + CItemData::COSTUME_BODY;
const DWORD    c_Costume_Slot_Hair = c_Costume_Slot_Start + CItemData::COSTUME_HAIR;
#ifdef ENABLE_WEAPON_COSTUME_SYSTEM
const DWORD c_Costume_Slot_Weapon = c_Costume_Slot_Start + CItemData::COSTUME_WEAPON;
#endif
#ifdef ENABLE_MOUNT_COSTUME_SYSTEM
const DWORD    c_Costume_Slot_Mount = c_Costume_Slot_Start + CItemData::COSTUME_MOUNT;
#endif
#ifdef ENABLE_ACCE_SYSTEM
const DWORD    c_Costume_Slot_Acce = c_Costume_Slot_Start + CItemData::COSTUME_ACCE;
#endif

const DWORD c_Costume_Slot_Count = 2
#ifdef ENABLE_WEAPON_COSTUME_SYSTEM
+ 1
#endif
#ifdef ENABLE_MOUNT_COSTUME_SYSTEM
+ 1
#endif
#ifdef ENABLE_ACCE_SYSTEM
+ 1
#endif
;

const DWORD c_Costume_Slot_End = c_Costume_Slot_Start + c_Costume_Slot_Count;
#endif

#ifdef ENABLE_NEW_EQUIPMENT_SYSTEM
const DWORD c_New_Equipment_Start = c_Equipment_Start + 24;
const DWORD c_New_Equipment_Count = 3;

const DWORD c_Equipment_Ring1 = c_New_Equipment_Start + 0;
const DWORD c_Equipment_Ring2 = c_New_Equipment_Start + 1;
const DWORD c_Equipment_Belt  = c_New_Equipment_Start + 2;
#endif

Denedim dediğiniz fakat olmadı şöyle bir durum söz konusu kemer slotuna kemeri sürükle bırak yaptığımda Bu nesneyi kuşandığın sürece nesneyi değiştiremezsin diyor fakat yüzük slotuna sürüklediğimde değişiyor item gözükmüyor yine hatta giydiğim zaman kemer envanterinde slotta açılıyor fakat gözükmüyor
0908_172539.webp
 
Denedim dediğiniz fakat olmadı şöyle bir durum söz konusu kemer slotuna kemeri sürükle bırak yaptığımda Bu nesneyi kuşandığın sürece nesneyi değiştiremezsin diyor fakat yüzük slotuna sürüklediğimde değişiyor item gözükmüyor yine hatta giydiğim zaman kemer envanterinde slotta açılıyor fakat gözükmüyor18790 eklentisini görüntüle
Son verdiğim gametype.h içinde bir hata göremedim, sizin verdiğiniz WearPosition enumları da eşit, "enum ECostumeSubTypes" sıralamasını kontrol edin bir de, gametype'daki sıralama ile uyumlu olması lazım.
 
0908_212700.webp

Problem pack tarafında en son rubinum env eklemiştim ondan dolayı oldu sanırım dosyaları kontrol edicem.
 
Son düzenleme:
Problem çözülmüştür problemin oluştuğu kod satırı;
Rubinum envanterde bu şekilde olması gerektiği söylenmiş fakat bu kemerin gözükmeme sorununa yol açıyor.
Aşağıdaki kod rubiye ait.
uiinventory.py:
Genişlet Daralt Kopyala
def RefreshEquipSlotWindow(self):
        getItemVNum=player.GetItemIndex
        getItemCount=player.GetItemCount
        setItemVNum=self.wndEquip.SetItemSlot
        for i in xrange(player.EQUIPMENT_PAGE_COUNT):
            slotNumber = player.EQUIPMENT_SLOT_START + i
            itemCount = getItemCount(slotNumber)
            if itemCount <= 1:
                itemCount = 0
            setItemVNum(slotNumber, getItemVNum(slotNumber), itemCount)
        for i in xrange(item.COSTUME_SLOT_COUNT):
            slotNumber = item.COSTUME_SLOT_START + i
            self.wndCostume.SetItemSlot(slotNumber, getItemVNum(slotNumber), 0)
            if app.ENABLE_WEAPON_COSTUME_SYSTEM:
                self.wndCostume.SetItemSlot(item.COSTUME_SLOT_WEAPON, getItemVNum(item.COSTUME_SLOT_WEAPON), 0)
            self.wndEquip.SetItemSlot(slotNumber, getItemVNum(slotNumber), 0)
        if app.ENABLE_NEW_EQUIPMENT_SYSTEM:
            for i in xrange(player.NEW_EQUIPMENT_SLOT_COUNT):
                slotNumber = player.NEW_EQUIPMENT_SLOT_START + i
                itemCount = getItemCount(slotNumber)
                if itemCount <= 1:
                    itemCount = 0
                self.wndSecondary.SetItemSlot(slotNumber, getItemVNum(slotNumber), itemCount)
                print "ENABLE_NEW_EQUIPMENT_SYSTEM", slotNumber, itemCount, getItemVNum(slotNumber)


        self.wndEquip.RefreshSlot()


Bu aşağıda kod ise benim düzenlediğim hali;
uiinventory.py:
Genişlet Daralt Kopyala
    def RefreshEquipSlotWindow(self):
        getItemVNum=player.GetItemIndex
        getItemCount=player.GetItemCount
        setItemVNum=self.wndEquip.SetItemSlot
        for i in xrange(player.EQUIPMENT_PAGE_COUNT):
            slotNumber = player.EQUIPMENT_SLOT_START + i
            itemCount = getItemCount(slotNumber)
            if itemCount <= 1:
                itemCount = 0
            setItemVNum(slotNumber, getItemVNum(slotNumber), itemCount)
        for i in xrange(item.COSTUME_SLOT_COUNT):
            slotNumber = item.COSTUME_SLOT_START + i
            self.wndCostume.SetItemSlot(slotNumber, getItemVNum(slotNumber), 0)
            if app.ENABLE_WEAPON_COSTUME_SYSTEM:
                self.wndCostume.SetItemSlot(item.COSTUME_SLOT_WEAPON, getItemVNum(item.COSTUME_SLOT_WEAPON), 0)
            self.wndEquip.SetItemSlot(slotNumber, getItemVNum(slotNumber), 0)
        if app.ENABLE_NEW_EQUIPMENT_SYSTEM:
            for i in xrange(player.NEW_EQUIPMENT_SLOT_COUNT):
                slotNumber = player.NEW_EQUIPMENT_SLOT_START + i
                itemCount = getItemCount(slotNumber)
                if itemCount <= 1:
                    itemCount = 0
                setItemVNum(slotNumber, getItemVNum(slotNumber), itemCount)
                print "ENABLE_NEW_EQUIPMENT_SYSTEM", slotNumber, itemCount, getItemVNum(slotNumber)

Problemin oluştuğu satır :
Python:
Genişlet Daralt Kopyala
self.wndSecondary.SetItemSlot(slotNumber, getItemVNum(slotNumber), itemCount)

Olması gereken

Düzenlediğim hali >
setItemVNum(slotNumber, getItemVNum(slotNumber), itemCount)
Ve diğer kostumlerinde düzgün çalışması için

        for i in xrange(item.COSTUME_SLOT_COUNT):
            slotNumber = item.COSTUME_SLOT_START + i
            self.wndCostume.SetItemSlot(slotNumber, getItemVNum(slotNumber), 0)
            if app.ENABLE_WEAPON_COSTUME_SYSTEM:
                self.wndCostume.SetItemSlot(item.COSTUME_SLOT_WEAPON, getItemVNum(item.COSTUME_SLOT_WEAPON), 0)
            self.wndEquip.SetItemSlot(slotNumber, getItemVNum(slotNumber), 0)
            
            
burayıda rubiden geçirdim koda
 

Dosya Eklentileri

  • 0908_214802.webp
    0908_214802.webp
    1,1 MB · Gösterim: 13
  • 0908_214805.webp
    0908_214805.webp
    1,1 MB · Gösterim: 12
Çözüm
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Üst