Yardım Sistem Eklerken Karşılaşılan Hatalar : Kuşak Sistemi

Yardım 
Konu sahibi bu konuda soru soruyor. Sorusu ile ilgili bilgisi olanların yanıtlamasını bekliyor.

MEKA

Discord: mekaprojects
Site yetkilisi
Süper Moderatör
Premium Üye
Grafiker
Geliştirici
Yardımsever Üye
Mesaj
2.793
Çözümler
287
Beğeni
2.053
Puan
1.850
Ticaret Puanı
2
1. Problem bu şekilde silah kostümünü yanlış yere giyiyor

34c59d8feffd80f753048d128303f199.png

2. Problem Highlight sistemi ile çakışıyor sanırım. Şuanda highlight sistemi çalışmıyor

3. Problem Bir silahın üstüne gelince render target devreye giriyor ve şu şekilde syserr düşüyor
Kod:
CPythonTextTail::DeleteCharacterTextTail - Find VID[0] Error
CItemManager::GetItemDataPointer - FIND ERROR [169000]
CPythonTextTail::DeleteCharacterTextTail - Find VID[0] Error

Kuşak sistemini ekledikten sonra geldi bu hata diğeri render target devreye girince debugta veriyordu.
Kod:
 CItemManager::GetItemDataPointer - FIND ERROR [169000]

4. Problem Oyuna reboot atıp seçim ekranına gelince karakterde kuşak ve saç görünmüyor debugta böyle bir hata düşüyor. Karakteri seçip oyuna giremiyoruz bu hata yüzünden.
Kod:
 CItemManager::GetItemDataPointer - FIND ERROR [3]
SYSERR: Hair number 41325 is not exist.
CItemManager::GetItemDataPointer - FIND ERROR [89062]


5. Problem Channel 1de böyle bir syserr var kuşak sistemini ekledikten sonra düşmeye başladı önceden yoktu.
Kod:
GetServerLocation: location error name MEKA mapindex 0 0 x 957186 empire 3

Geç olduğu için sabah karşılaştığım hataları çözmeyi deniyecem. Çözümleri bu konuda paylaşmayı düşünüyorum.
 
Son düzenleme:
1. Problem costumewindow.py'den kaynaklanıyor. Sistem eski ve costume weapon ile uyumlu olmadığı için verdiği uiscript dosyasını kullanamıyoruz. Düzenlediğim hali şu şekildedir.

Python:
                                            {"index":COSTUME_START_INDEX+0, "x":61, "y":45, "width":32, "height":64},
                                            {"index":COSTUME_START_INDEX+1, "x":61, "y": 8, "width":32, "height":32},
                                            {"index":COSTUME_START_INDEX+2, "x":10, "y":5, "width":32, "height":96},
                                            {"index":COSTUME_START_INDEX+3, "x":62, "y":126, "width":32, "height":32},

f312c668d978f6e2f37aa53bc346867e.png
 
Hangi highlight sistemini kullanıyorsun?

3. Hata ise itemdata overflow, yani itemdata taşmış. İtem'in vnumunu çok yüksek bir değer vermişsiniz düşürürseniz geçicektir.
 
hangi highlight sistemini kullanıyorsun
Python taraflı hata yapmışım sanırım pack kısmını geri aldımda highlight çalışıyor. Tekrar daha dikkatli eklemeyi deniyecem.
3. Hata ise itemdata overflow, yani itemdata taşmış. İtem'in vnumunu çok yüksek bir değer vermişsiniz düşürürseniz geçicektir.

Bu problemi yaşayıp uygulamak isteyen arkadaşlar aşağıdaki kod sizde SetSash yerine SetAcce olabilir bu yüzden koddaki Sash yerlerini Acce olarak değiştirmeyi unutmayın!
C++:
void CInstanceBase::SetSash(DWORD dwSash)



içerisinde
C++:
        m_awPart[CRaceData::PART_SASH] = 0;
        m_GraphicThingInstance.AttachSash(0, 0.0f);
        ClearSashEffect();
        return;
    }
eklemek problemi çözdü bir kaç server filesi inceledim bende bu kod eksikmiş.

Render targetten kaynaklı bu kaldı şuanda testlere devam ediyorum hata buldukça bu konuya eklemeyi düşünüyorum.
Kod:
CPythonTextTail::DeleteCharacterTextTail - Find VID[0] Error
 
Bir item'in üstüne geldiğinde armor weapon gibi şeylerde 0 çağırılıyor. Bunun sebebi kodun yanlış yazılmasından kaynaklanıyor. Çözmeye çalışıcam geri dönerim.
 
4. Problem DB Srcden kaynaklanıyor loglarına baktığımda TEST22 0 958417 hair 41324 saç kısmında zırh kostüm kodu çağırmaya çalışıyor. İnceliyorum çözersem bu mesaja dahil ederim.

Edit : Çözdüm düzenlediğim kod kısmınıda buraya ekliyorum. Bununla beraber 5. problemdeki syserrde gitmiş oldu.
db/ClientManagerPlayer.cpp
C++:
    queryLen = snprintf(queryStr, sizeof(queryStr),
            "INSERT INTO player%s ("
            "id, "
            "account_id, "
            "name, "
            "level, "
            "st, "
            "ht, "
            "dx, "
            "iq, "
            "job, "
            "voice, "
            "dir, "
            "x, "
            "y, "
            "z, "
            "hp, "
            "mp, "
            "random_hp, "
            "random_sp, "
            "stat_point, "
            "stamina, "
            "part_base, "
            "part_main, "
            "part_hair, "
#ifdef __SASH_SYSTEM__
            "part_sash, "
#endif
            "gold, "
#ifdef ENABLE_CHEQUE_SYSTEM
            "cheque, "
#endif
            "playtime, "
            "skill_level, "
            "quickslot "
            ") VALUES("
            "0, "
            "%u, "
            "'%s', "
            "%d, "
            "%d, "
            "%d, "
            "%d, "
            "%d, "
            "%d, "
            "%d, "
            "%d, "
            "%d, "
            "%d, "
            "%d, "
            "%d, "
            "%d, "
            "%d, "
            "%d, "
            "%d, "
            "%d, "
            "%d, "
            "%d, "
#ifdef __SASH_SYSTEM__
            "%d, "
#endif
            "0, "
#ifdef ENABLE_CHEQUE_SYSTEM
            "%d, "
#endif
            "%d, "
            "0, ",
            GetTablePostfix(),
            packet->account_id,
            packet->player_table.name,
            packet->player_table.level,
            packet->player_table.st,
            packet->player_table.ht,
            packet->player_table.dx,
            packet->player_table.iq,
            packet->player_table.job,
            packet->player_table.voice,
            packet->player_table.dir,
            packet->player_table.x,
            packet->player_table.y,
            packet->player_table.z,
            packet->player_table.hp,
            packet->player_table.sp,
            packet->player_table.sRandomHP,
            packet->player_table.sRandomSP,
            packet->player_table.stat_point,
            packet->player_table.stamina,
            packet->player_table.part_base,
            packet->player_table.part_base,
#ifdef __SASH_SYSTEM__
            packet->player_table.part_base,
#endif
            packet->player_table.gold
#ifdef ENABLE_CHEQUE_SYSTEM
            ,packet->player_table.cheque
#endif
            );
 
Son düzenleme:
2. Problem highlightın çalışmamasını sağlayan kodlar şu şekildedir bunları eklemedim. ui.py ekleyince yeni item efektleri çalışmıyor uicharacter.pyyi ekleyince aç kapa skillde skill kapanınca skill etrafında animasyon çalışıyor yani kısacası hatalı çalışıyor bu kodları eklemedim ve higlight sisteminde herhangi bi problem yok belki ActiveSlot2 DeactiveSlot2 olarak yeni kodlar eklenirse o şekilde bu kodlarıda kullanabilirsiniz.

ui.py:
    if app.ENABLE_SASH_SYSTEM:
        def ActivateSlot(self, slotNumber, r = 1.0, g = 1.0, b = 1.0, a = 1.0):
            wndMgr.ActivateEffect(self.hWnd, slotNumber, r, g, b, a)

        def DeactivateSlot(self, slotNumber):
            wndMgr.DeactivateEffect(self.hWnd, slotNumber)

        def ActivateSlotOld(self, slotNumber):
            wndMgr.ActivateSlot(self.hWnd, slotNumber)

        def DeactivateSlotOld(self, slotNumber):
            wndMgr.DeactivateSlot(self.hWnd, slotNumber)
    else:
        def ActivateSlot(self, slotNumber):
            wndMgr.ActivateSlot(self.hWnd, slotNumber)

        def DeactivateSlot(self, slotNumber):
            wndMgr.DeactivateSlot(self.hWnd, slotNumber)


uicharacter.py:
    def OnActivateSkill(self, slotIndex):
        skillGrade = player.GetSkillGrade(slotIndex)
        slotIndex = self.__GetRealSkillSlot(skillGrade, slotIndex)
        for slotWindow in self.skillPageDict.values():
            if slotWindow.HasSlot(slotIndex):
                if app.ENABLE_SASH_SYSTEM:
                    slotWindow.ActivateSlotOld(slotIndex)
                else:
                    slotWindow.ActivateSlot(slotIndex)
                
                return

    def OnDeactivateSkill(self, slotIndex):
        skillGrade = player.GetSkillGrade(slotIndex)
        slotIndex = self.__GetRealSkillSlot(skillGrade, slotIndex)
        for slotWindow in self.skillPageDict.values():
            if slotWindow.HasSlot(slotIndex):
                if app.ENABLE_SASH_SYSTEM:
                    slotWindow.DeactivateSlotOld(slotIndex)
                else:
                    slotWindow.DeactivateSlot(slotIndex)
                
                return
 
Linkleri görebilmek için giriş yap veya kayıt ol.

Bineğe binerken 1 saniyeliğinede olsa kuşak karakterin üstüne çıkıp tekrar pozisyon alıyor.

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

Bir diğer problem ise kuşak takılıyken ölüp yerden kalktığında yanında olan kişinin kuşağındaki scale bozulur.
 
Son düzenleme:
Debug modda takılırken fark ettim, bende de 3.sorun mevcut.

Kod:
DeleteCharacterTextTail - Find VID[0] Error

Bunun çözümünü bulabildin mi acaba? Tüm modellerin önizlemesinde bu hatayı veriyor.
 
Debug modda takılırken fark ettim, bende de 3.sorun mevcut.

Kod:
DeleteCharacterTextTail - Find VID[0] Error

Bunun çözümünü bulabildin mi acaba? Tüm modellerin önizlemesinde bu hatayı veriyor.
Maalesef
 
Bunla ilgili çözümün varmı acaba sadece binek üstünde yapıyor ver karşı kişinin ekipmanın göster dediğinde kılıç alt slotto gösteriyor
3.png
 
Geri
Üst