Çözüldü GM Hesap ile INV yazıp çıkınca ALREADY EXIST Syserri Mainline Sıfır Altyapı

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

mya

Üye
Üye
Mesaj
156
Çözümler
6
Beğeni
18
Puan
504
Ticaret Puanı
0
GM Hesap ile INV yazıp çıkınca ALREADY EXIST Syserri Mainline Sıfır Altyapı

815 01:35:38012 :: CInstanceBase::AttachTextTail - VID [63425] ALREADY EXIST

Ek olarak invden çıkınca efektte kayboluyor

Bu hatayı alıyorum Mainline sıfır sistemsiz altyapı kullanıyorum çözümünü bilen iletebilir mi ?
 
Son düzenleme:
Çözüm
Sorunu çösdüm
Çözüm:
Genişlet Daralt Kopyala
================================================================================
                        YAPILAN DEĞİŞİKLİKLER
================================================================================

1. DOSYA: Source/Client_Source/source/UserInterface/InstanceBaseEffect.cpp
   FONKSİYON: CInstanceBase::AttachTextTail()
   SATIR: 678-700

   ÖNCEKİ KOD:
   ------------
   void CInstanceBase::AttachTextTail()
   {
       if (m_isTextTail)
       {
           TraceError ("CInstanceBase::AttachTextTail - VID [%d] ALREADY EXIST", GetVirtualID());
           return;
       }
       // ... devamı
   }

   SONRAKİ KOD:
   -------------
   void CInstanceBase::AttachTextTail()
   {
       if (m_isTextTail)
       {...
Sorunu çösdüm
Çözüm:
Genişlet Daralt Kopyala
================================================================================
                        YAPILAN DEĞİŞİKLİKLER
================================================================================

1. DOSYA: Source/Client_Source/source/UserInterface/InstanceBaseEffect.cpp
   FONKSİYON: CInstanceBase::AttachTextTail()
   SATIR: 678-700

   ÖNCEKİ KOD:
   ------------
   void CInstanceBase::AttachTextTail()
   {
       if (m_isTextTail)
       {
           TraceError ("CInstanceBase::AttachTextTail - VID [%d] ALREADY EXIST", GetVirtualID());
           return;
       }
       // ... devamı
   }

   SONRAKİ KOD:
   -------------
   void CInstanceBase::AttachTextTail()
   {
       if (m_isTextTail)
       {
           // Eğer text tail zaten mevcutsa, önce onu temizle
           Tracef ("CInstanceBase::AttachTextTail - VID [%d] ALREADY EXIST, cleaning up first", GetVirtualID());
           DetachTextTail();
       }
       // ... devamı
   }

   AÇIKLAMA: Text tail zaten mevcutsa, önce onu temizleyip sonra yenisini ekliyor.

2. DOSYA: Source/Client_Source/source/UserInterface/InstanceBaseEffect.cpp
   FONKSİYON: CInstanceBase::DetachTextTail()
   SATIR: 702-720

   ÖNCEKİ KOD:
   ------------
   void CInstanceBase::DetachTextTail()
   {
       if (!m_isTextTail)
       {
           return;
       }
       m_isTextTail=false;
       CPythonTextTail::Instance().DeleteCharacterTextTail (GetVirtualID());
   }

   SONRAKİ KOD:
   -------------
   void CInstanceBase::DetachTextTail()
   {
       if (!m_isTextTail)
       {
           return;
       }
       m_isTextTail=false;
      
       // Güvenlik kontrolü: VID'nin geçerli olup olmadığını kontrol et
       DWORD dwVID = GetVirtualID();
       if (dwVID != 0)
       {
           CPythonTextTail::Instance().DeleteCharacterTextTail (dwVID);
       }
   }

   AÇIKLAMA: VID'nin geçerli olup olmadığını kontrol ediyor.

3. DOSYA: Source/Client_Source/source/UserInterface/InstanceBase.cpp
   FONKSİYON: CInstanceBase::Destroy()
   SATIR: 3355-3375

   ÖNCEKİ KOD:
   ------------
   void CInstanceBase::Destroy()
   {
       DetachTextTail();
       // ... devamı
   }

   SONRAKİ KOD:
   -------------
   void CInstanceBase::Destroy()
   {
       // Text tail'i güvenli bir şekilde temizle
       if (m_isTextTail)
       {
           DetachTextTail();
       }
       // ... devamı
   }

   AÇIKLAMA: Destroy sırasında text tail'i güvenli bir şekilde temizliyor.

4. DOSYA: Source/Client_Source/source/UserInterface/InstanceBase.cpp
   FONKSİYON: CInstanceBase::ChangeGuild()
   SATIR: 1170-1180

   ÖNCEKİ KOD:
   ------------
   void CInstanceBase::ChangeGuild (DWORD dwGuildID)
   {
       m_dwGuildID=dwGuildID;
       DetachTextTail();
       AttachTextTail();
       RefreshTextTail();
   }

   SONRAKİ KOD:
   -------------
   void CInstanceBase::ChangeGuild (DWORD dwGuildID)
   {
       m_dwGuildID=dwGuildID;
       // Text tail'i güvenli bir şekilde güncelle
       if (m_isTextTail)
       {
           DetachTextTail();
       }
       AttachTextTail();
       RefreshTextTail();
   }

   AÇIKLAMA: Guild değişikliği sırasında güvenli text tail güncelleme.

5. DOSYA: Source/Client_Source/source/UserInterface/PythonTextTail.cpp
   FONKSİYON: CPythonTextTail::RegisterCharacterTextTail()
   SATIR: 533-600

   ÖNCEKİ KOD:
   ------------
   void CPythonTextTail::RegisterCharacterTextTail (DWORD dwGuildID, DWORD dwVirtualID, const D3DXCOLOR& c_rColor, float fAddHeight)
   {
       CInstanceBase* pCharacterInstance = CPythonCharacterManager::Instance().GetInstancePtr (dwVirtualID);
       // ... devamı
   }

   SONRAKİ KOD:
   -------------
   void CPythonTextTail::RegisterCharacterTextTail (DWORD dwGuildID, DWORD dwVirtualID, const D3DXCOLOR& c_rColor, float fAddHeight)
   {
       // Eğer aynı VID zaten mevcutsa, önce onu temizle
       TTextTailMap::iterator itorExisting = m_CharacterTextTailMap.find (dwVirtualID);
       if (m_CharacterTextTailMap.end() != itorExisting)
       {
           Tracef ("CPythonTextTail::RegisterCharacterTextTail - VID [%d] already exists, cleaning up first", dwVirtualID);
           DeleteCharacterTextTail (dwVirtualID);
       }
       // ... devamı
   }

   AÇIKLAMA: Aynı VID zaten mevcutsa önce onu temizliyor.

6. DOSYA: Source/Client_Source/source/UserInterface/PythonTextTail.cpp
   FONKSİYON: CPythonTextTail::DeleteCharacterTextTail()
   SATIR: 794-820

   ÖNCEKİ KOD:
   ------------
   else
   {
       Tracenf ("CPythonTextTail::DeleteCharacterTextTail - Find VID[%d] Error", VirtualID);
   }

   SONRAKİ KOD:
   -------------
   else
   {
       // Bu hata mesajı artık sadece debug amaçlı, normal durumda sessizce devam et
       #ifdef __DEBUG
       Tracenf ("CPythonTextTail::DeleteCharacterTextTail - Find VID[%d] Error", VirtualID);
       #endif
   }

   AÇIKLAMA: Hata mesajını sadece debug modunda gösteriyor.

7. DOSYA: Source/Client_Source/source/UserInterface/PythonTextTail.cpp
   FONKSİYON: CPythonTextTail::Destroy()
   SATIR: 1065-1070

   ÖNCEKİ KOD:
   ------------
   void CPythonTextTail::Destroy()
   {
       m_TextTailPool.Clear();
   }

   SONRAKİ KOD:
   -------------
   void CPythonTextTail::Destroy()
   {
       Clear();
       m_TextTailPool.Clear();
   }

   AÇIKLAMA: Destroy sırasında Clear çağrısı ekliyor.

8. DOSYA: Source/Client_Source/source/UserInterface/InstanceBaseEffect.cpp
   FONKSİYON: CInstanceBase::__EffectContainer_Destroy()
   SATIR: 252-270

   ÖNCEKİ KOD:
   ------------
   void CInstanceBase::__EffectContainer_Destroy()
   {
       SEffectContainer::Dict& rkDctEftID=__EffectContainer_GetDict();
       // ... devamı
   }

   SONRAKİ KOD:
   -------------
   void CInstanceBase::__EffectContainer_Destroy()
   {
       // Effect container'ı temizlemeden önce text tail'i de temizle
       if (m_isTextTail)
       {
           DetachTextTail();
       }
       // ... devamı
   }

   AÇIKLAMA: Effect container temizlenmeden önce text tail'i de temizliyor.
 
Çözüm
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Geri
Üst