Çözüldü erorr Slot_Aura

  • Konuyu açan Konuyu açan M29
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 18
  • Gösterim Gösterim 162
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ı.

M29

MT Üye
MT Üye
Mesaj
180
Çözümler
2
Beğeni
105
Puan
709
Ticaret Puanı
0
Hi guys
I have a problem with the aura field
It is not a mistake, I did not understand and I cannot adjust the fields because they are a bit complicated and I am not good at this matter. Can someone take a look?

Linkleri görebilmek için giriş yap veya kayıt ol.


I have attached the files GameType.h and costumewindow.py if anyone can take a look at them and try to help.
 

Dosya Eklentileri

Common/length.h konuya dahil edermisin ?
 
  • Beğen
Tepkiler: M29
Kodlarında mantık hatası ve sıralama hatası var.
Oyununda toplamda 6 adet kostüm nesnesi var. Ancak kodlarda 4 tanımlanmış. Ve sonra garip bir şekilde elif koşulu ile 3 olarak ayarlanmış.

C++:
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_MOUNT_COSTUME_SYSTEM
    const DWORD    c_Costume_Slot_Mount    = c_Costume_Slot_Start + CItemData::COSTUME_MOUNT;
#endif
#ifdef ENABLE_ACCE_COSTUME_SYSTEM
    const DWORD    c_Costume_Slot_Acce        = c_Costume_Slot_Start + CItemData::COSTUME_ACCE;
#endif

#if defined(ENABLE_WEAPON_COSTUME_SYSTEM) || defined(ENABLE_ACCE_COSTUME_SYSTEM)
    const DWORD c_Costume_Slot_Count    = 4; // Yanlış..
#elif defined(ENABLE_MOUNT_COSTUME_SYSTEM)
    const DWORD c_Costume_Slot_Count    = 3; // Daha yanlış.
#else
    const DWORD c_Costume_Slot_Count    = 2;
#endif

    const DWORD c_Costume_Slot_End        = c_Costume_Slot_Start + c_Costume_Slot_Count;

#ifdef ENABLE_WEAPON_COSTUME_SYSTEM
    const DWORD    c_Costume_Slot_Weapon    = c_Equipment_Start + CItemData::WEAR_COSTUME_WEAPON; // c_Costume_Slot_End + 1;
#endif

#ifdef ENABLE_AURA_SYSTEM
    const DWORD c_Costume_Slot_Aura        = c_Costume_Slot_Start + CItemData::COSTUME_AURA;
#endif

#endif

Kostümlerin 0'dan başladığını düşünürsek;
0 = Zırh kostümü (armor costume) -> 1
1 = Saç kostümü (hair costume) -> 2
2 = Binek kostümü (mount costume) -> 3
3 = Kuşak sistemi (acce) -> 4
4 = Silah kostümü (weapon costume) -> 5
5 = aura -> 6

Burada sayısal değere değil, toplam veri sayısına bakıyoruz.(6)



Dolayısıyla const DWORD c_Costume_Slot_Count verisinin değeri 6 olmalı.
C++:
Genişlet Daralt Kopyala
const DWORD c_Costume_Slot_Count    = 6;


Python dosyasında ise şu mantıkla ilerlemen gerek:
Öncelikle buraya göz at:
C++:
Genişlet Daralt Kopyala
        enum ECostumeSubTypes
        {
            COSTUME_BODY = 0,
            COSTUME_HAIR = 1,
            COSTUME_MOUNT    = 2,
            COSTUME_ACCE    = 3,
            COSTUME_WEAPON    = 4,
            COSTUME_AURA    = 5,
            COSTUME_NUM_TYPES,
        };

Daha sonra:
Python:
Genişlet Daralt Kopyala
{"index":COSTUME_START_INDEX+0, "x":61, "y":45, "width":32, "height":64}, # armor | COSTUME_START_INDEX+ 0 = ECostumeSubTypes->COSTUME_BODY
{"index":COSTUME_START_INDEX+1, "x":61, "y": 8, "width":32, "height":32}, # hair | +1 = ECostumeSubTypes->COSTUME_HAIR
{"index":COSTUME_START_INDEX+2, "x":5, "y":145, "width":32, "height":32}, # mount | +2 = ECostumeSubTypes->COSTUME_MOUNT

## Aşağıdaki satırların x ve y değerlerini düzenlemen gerek !!!!
{"index":COSTUME_START_INDEX+3, "x":5, "y":145, "width":32, "height":32}, # acce | +3 = ECostumeSubTypes->COSTUME_ACCE
{"index":COSTUME_START_INDEX+4, "x":5, "y":145, "width":32, "height":96}, # weapon | +4 = ECostumeSubTypes->COSTUME_WEAPON
{"index":COSTUME_START_INDEX+5, "x":5, "y":145, "width":32, "height":32}, # aura | +5 = ECostumeSubTypes->COSTUME_AURA

Martysama kullandığın için mainline dosyalarından farklılıklar olabilir. Burada sadece temel mantığı anlattım.
 
aslında son attığım dosyada hepsini uyguladım fakat

const DWORD c_Costume_Slot_Count = 6;

bu kısmı 5 yapmışım :) onu değiştirip envanteri komple temizleyip yeniden slot kontrolü yaparsa çözülecektir.
 
Kodlarında mantık hatası ve sıralama hatası var.
Oyununda toplamda 6 adet kostüm nesnesi var. Ancak kodlarda 4 tanımlanmış. Ve sonra garip bir şekilde elif koşulu ile 3 olarak ayarlanmış.

C++:
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_MOUNT_COSTUME_SYSTEM
    const DWORD    c_Costume_Slot_Mount    = c_Costume_Slot_Start + CItemData::COSTUME_MOUNT;
#endif
#ifdef ENABLE_ACCE_COSTUME_SYSTEM
    const DWORD    c_Costume_Slot_Acce        = c_Costume_Slot_Start + CItemData::COSTUME_ACCE;
#endif

#if defined(ENABLE_WEAPON_COSTUME_SYSTEM) || defined(ENABLE_ACCE_COSTUME_SYSTEM)
    const DWORD c_Costume_Slot_Count    = 4; // Yanlış..
#elif defined(ENABLE_MOUNT_COSTUME_SYSTEM)
    const DWORD c_Costume_Slot_Count    = 3; // Daha yanlış.
#else
    const DWORD c_Costume_Slot_Count    = 2;
#endif

    const DWORD c_Costume_Slot_End        = c_Costume_Slot_Start + c_Costume_Slot_Count;

#ifdef ENABLE_WEAPON_COSTUME_SYSTEM
    const DWORD    c_Costume_Slot_Weapon    = c_Equipment_Start + CItemData::WEAR_COSTUME_WEAPON; // c_Costume_Slot_End + 1;
#endif

#ifdef ENABLE_AURA_SYSTEM
    const DWORD c_Costume_Slot_Aura        = c_Costume_Slot_Start + CItemData::COSTUME_AURA;
#endif

#endif

Kostümlerin 0'dan başladığını düşünürsek;
0 = Zırh kostümü (armor costume) -> 1
1 = Saç kostümü (hair costume) -> 2
2 = Binek kostümü (mount costume) -> 3
3 = Kuşak sistemi (acce) -> 4
4 = Silah kostümü (weapon costume) -> 5
5 = aura -> 6

Burada sayısal değere değil, toplam veri sayısına bakıyoruz.(6)



Dolayısıyla const DWORD c_Costume_Slot_Count verisinin değeri 6 olmalı.
C++:
Genişlet Daralt Kopyala
const DWORD c_Costume_Slot_Count    = 6;


Python dosyasında ise şu mantıkla ilerlemen gerek:
Öncelikle buraya göz at:
C++:
Genişlet Daralt Kopyala
        enum ECostumeSubTypes
        {
            COSTUME_BODY = 0,
            COSTUME_HAIR = 1,
            COSTUME_MOUNT    = 2,
            COSTUME_ACCE    = 3,
            COSTUME_WEAPON    = 4,
            COSTUME_AURA    = 5,
            COSTUME_NUM_TYPES,
        };

Daha sonra:
Python:
Genişlet Daralt Kopyala
{"index":COSTUME_START_INDEX+0, "x":61, "y":45, "width":32, "height":64}, # armor | COSTUME_START_INDEX+ 0 = ECostumeSubTypes->COSTUME_BODY
{"index":COSTUME_START_INDEX+1, "x":61, "y": 8, "width":32, "height":32}, # hair | +1 = ECostumeSubTypes->COSTUME_HAIR
{"index":COSTUME_START_INDEX+2, "x":5, "y":145, "width":32, "height":32}, # mount | +2 = ECostumeSubTypes->COSTUME_MOUNT

## Aşağıdaki satırların x ve y değerlerini düzenlemen gerek !!!!
{"index":COSTUME_START_INDEX+3, "x":5, "y":145, "width":32, "height":32}, # acce | +3 = ECostumeSubTypes->COSTUME_ACCE
{"index":COSTUME_START_INDEX+4, "x":5, "y":145, "width":32, "height":96}, # weapon | +4 = ECostumeSubTypes->COSTUME_WEAPON
{"index":COSTUME_START_INDEX+5, "x":5, "y":145, "width":32, "height":32}, # aura | +5 = ECostumeSubTypes->COSTUME_AURA

Martysama kullandığın için mainline dosyalarından farklılıklar olabilir. Burada sadece temel mantığı anlattım.
The strange thing is that you say there are mistakes and yet you were working without problems and the strangest thing is that Marty is the one who did it
 
I tried doing everything whenever I do anything or change the number of the function this const DWORD c_Costume_Slot_Count = 6;
The belt appears in the costume window as you can see
Linkleri görebilmek için giriş yap veya kayıt ol.


It's getting so complicated. I don't know why, despite doing everything.
 
tüm dosyaları değiştirip build alıp denermisin ?
After many attempts, more things and great effort, the problem was solved thanks to this modification, but I modified something simple. Marty was activating the weapon suit in this way. I just deleted WEAR_

Kod:
Genişlet Daralt Kopyala
#ifdef ENABLE_WEAPON_COSTUME_SYSTEM
    const DWORD    c_Costume_Slot_Weapon    = c_Equipment_Start + CItemData::WEAR_COSTUME_WEAPON;
#endif

To become like this

Kod:
Genişlet Daralt Kopyala
#ifdef ENABLE_WEAPON_COSTUME_SYSTEM
    const DWORD    c_Costume_Slot_Weapon    = c_Equipment_Start + CItemData::COSTUME_WEAPON;
#endif

In addition to changing the value here from 5 to 6
const DWORD c_Costume_Slot_Count = 6;

To make all the fields work perfectly finally
Linkleri görebilmek için giriş yap veya kayıt ol.


Thank you @enes turan

Also thanks to @Kaiser he played a big role in explaining the concept of how the cells work
 
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Geri
Üst