Reklam vermek için [email protected]

Altın Konu Metin2 Toplu Hata Düzenlemeleri

  • Konbuyu başlatan Luigina
  • Başlangıç tarihi
  • Cevaplar 43
  • Görüntüleme 3K

Luigina

55Games
Telefon Numarası Onaylanmış Üye TC Kimlik Numarası Doğrulanmış Üye
Fahri Üye
TM Üye
Katılım
19 Şub 2019
Konular
154
Mesajlar
1,903
Reaksiyon Skoru
1,525
Altın Konu
4
Başarım Puanı
226
TM Yaşı
3 Yıl 3 Ay 6 Gün
Online Süresi
111d 10h 10m
MmoLira
2,215
DevLira
129
Takipçiler
43

World of Sentor2 yenilenmiş 55-120 altyapısı ve profesyonel ekibi ile sizlere tekrardan 27 Mayıs 21:00 itibari ile hizmet vermeye başlayacaktır. Kendini tekrarlamayan oyun yapısı ve özlediğiniz eski tip 55-120 görselleri ile World of Sentor2 geri dönüyor... Site Linki

Öncelikle herkese selamlar,

55Games olarak Metin2 projelerimizi sonlandırmış bulunmaktayız bundan dolayı bu konu altından hem yaşadığınız sorunlara yardımcı olacağım.
Hem de çeşitli hata çözümlerini bu konu altından sizlerle paylaşacağım.
Konuyu sürekli güncel tutmayı düşünüyorum. Tüm düzenlemeleri bir anda paylaşmayacağım konuya olan ilgiye göre devam edeceğim.

Artık benden Metin2 işleri geçti umarım yeni başlayacak veya bazı şeylere heves eden arkadaşlarımıza yardımcı olabilirim.

1. Düzenleme

ThingInstance.cpp üzerindeki bir TraceError komutundan dolayı clientin aniden kapanması ( Crash )

Kod:
void CGraphicThingInstance::RegisterModelThing

// Aratın

    if (!CheckModelThingIndex(iModelThing))
    {
        if (pModelThing)
            TraceError("CGraphicThingInstance::RegisterModelThing(iModelThing=%d, pModelThing=%s)\n", iModelThing, pModelThing->GetFileName());
        return;
    }
  
// Bu şekilde değiştirin.

2. Düzenleme

Client Debug modunda derlenip çalıştırıldığında CANNOT_FIND_PACK_FILE kısmında ses dosyalarının dışında tüm efektlerin ses dosyasını oyunun okumaya çalışmasından dolayı .mss diye syserr.txt / log.txt 'nizin dolması.
Yapılan düzenleme sadece gerçek eksikleri görebilmek için .mss hatalarını gizlemektedir. Ses dosyalarının okuma mantığı değiştirilerek çözüm uygulanabilir fakat bunu paylaşmayacağım. Yöntemi ve olayı burada bildirdim zaten.

EterPackManager.cpp

Kod:
#ifdef _DEBUG
    if (strFileName.find("mss") == std::string::npos)
        TraceError("CANNOT_FIND_PACK_FILE [%s]", strFileName.c_str());
#endif
// Bu şekilde değiştirin.

3. Düzenleme

PythonWindow.cpp üzerinde Button 'daki Up, Down, Over, Disable fonksiyonlarındaki çok nadir durumlarda oluşabilen aniden client kapanmasının çözümü ( Crash )

Kod:
    BOOL CButton::SetUpVisual(const char* c_szFileName)
    {
        CResource* pResource = CResourceManager::Instance().GetResourcePointer(c_szFileName);
        if (!pResource || !pResource->IsType(CGraphicImage::Type()))
            return FALSE;

        m_upVisual.SetImagePointer(static_cast<CGraphicImage*>(pResource));
        if (m_upVisual.IsEmpty())
            return FALSE;

        SetSize(m_upVisual.GetWidth(), m_upVisual.GetHeight());
        SetCurrentVisual(&m_upVisual);

        return TRUE;
    }
    BOOL CButton::SetOverVisual(const char* c_szFileName)
    {
        CResource* pResource = CResourceManager::Instance().GetResourcePointer(c_szFileName);
        if (!pResource || !pResource->IsType(CGraphicImage::Type()))
            return FALSE;

        m_overVisual.SetImagePointer(static_cast<CGraphicImage*>(pResource));
        if (m_overVisual.IsEmpty())
            return FALSE;

        SetSize(m_overVisual.GetWidth(), m_overVisual.GetHeight());

        return TRUE;
    }
    BOOL CButton::SetDownVisual(const char* c_szFileName)
    {
        CResource* pResource = CResourceManager::Instance().GetResourcePointer(c_szFileName);
        if (!pResource || !pResource->IsType(CGraphicImage::Type()))
            return FALSE;

        m_downVisual.SetImagePointer(static_cast<CGraphicImage*>(pResource));
        if (m_downVisual.IsEmpty())
            return FALSE;

        SetSize(m_downVisual.GetWidth(), m_downVisual.GetHeight());

        return TRUE;
    }
    BOOL CButton::SetDisableVisual(const char* c_szFileName)
    {
        CResource* pResource = CResourceManager::Instance().GetResourcePointer(c_szFileName);
        if (!pResource || !pResource->IsType(CGraphicImage::Type()))
            return FALSE;

        m_disableVisual.SetImagePointer(static_cast<CGraphicImage*>(pResource));
        if (m_downVisual.IsEmpty())
            return FALSE;

        SetSize(m_disableVisual.GetWidth(), m_disableVisual.GetHeight());

        return TRUE;
    }
// Bu kısmı direkt bu şekilde değiştirin.

4. Düzenleme

TextureSet.cpp üzerinde pointerin null gelmesinden dolayı oluşan aniden client kapanmasının çözümü ( Crash )

Kod:
bool CTextureSet::SetTexture

// içerisinde

CResource* pResource = CResourceManager::Instance().GetResourcePointer(c_szFileName);

// Altına aşağıdaki kodu ekle.

    if (!pResource)
        return false;

/////////////////////////////////////////////////
bool CTextureSet::AddTexture

// içerisinde

CResource* pResource = CResourceManager::Instance().GetResourcePointer(c_szFileName);

// Altına aşağıdaki kodu ekle.

    if (!pResource)
        return false;

Ekstra

Arena ve toplu kslerde oluşan lag problemi için önerebileceğin bir yöntem var mı ? Haritadan kaynaklı değil örneğin 50 kişi bir bossa girdiğinde
fena şekilde lag giriyor oyuna jotun sisteminde vs.
encodeinsertpacket gibi karakter paketlerinde düzenleme yapmak gerekiyor.

CPythonNetworkStream::GamePhase()

ayrıca bu kısımdaki
MAX_RECV_COUNT 'u 4 'ten 8 'e veya 16 'ya çıkartabilirsin.
Eğer hattan yana sıkıntı yoksa sunucunda şunu yap

const DWORD MAX_RECV_COUNT = xx;
const DWORD SAFE_RECV_BUFSIZE = xxxx;
DWORD dwRecvCount = 0;

sil

if (dwRecvCount++ >= MAX_RECV_COUNT - 1 && GetRecvBufferSize() < SAFE_RECV_BUFSIZE
&& m_strPhase == "Game")
break;

burayı da sil
 
Son düzenleme:

Devinox

Level 6
TM Üye
Katılım
21 Eyl 2015
Konular
177
Mesajlar
1,099
Reaksiyon Skoru
120
Altın Konu
0
Başarım Puanı
145
TM Yaşı
6 Yıl 8 Ay 7 Gün
Online Süresi
47d 4h 21m
MmoLira
715
DevLira
0
Takipçiler
5
Elinize sağlık, paylaşım için teşekkürler.
 

DexMa

- H A S A N -
Telefon Numarası Onaylanmış Üye TC Kimlik Numarası Doğrulanmış Üye
Fahri Üye
Katılım
19 Eyl 2012
Konular
632
Mesajlar
2,174
Reaksiyon Skoru
989
Altın Konu
80
Başarım Puanı
267
TM Yaşı
9 Yıl 8 Ay 10 Gün
Online Süresi
63d 3h 16m
MmoLira
2,331
DevLira
13
Takipçiler
53
Paylaşım için teşekkürler
 

hasanmacit™

Turkmmo Gençlik Kolları
TC Kimlik Numarası Doğrulanmış Üye
Yönetici
VIP Üye
Yarışma
Yönetici
Katılım
14 Eki 2021
Konular
259
Mesajlar
932
Reaksiyon Skoru
812
Altın Konu
3
Başarım Puanı
180
TM Yaşı
7 Ay 13 Gün
Online Süresi
93d 11h 53m
MmoLira
319
DevLira
12
Takipçiler
4
her geçen gün birer birer masadan eksiliyor dostlar...

paylaşım için teşekkürler
 

Necmi Karakoç

Level 1
Üye
Katılım
5 Mar 2022
Konular
2
Mesajlar
13
Reaksiyon Skoru
5
Altın Konu
0
Başarım Puanı
10
TM Yaşı
2 Ay 21 Gün
Online Süresi
11h 9m
MmoLira
62
DevLira
3
Takipçiler
0
56Games yakinda sizlerle
 

Şu an konuyu görüntüleyenler (Toplam : 1, Üye: 0, Misafir: 1)

Üst