[C++] - SEQUENCE_LOG [UNKNOWN] - Fix (FARKLI FİX)

melihalbayrak

Geliştirici
Geliştirici
Yardımsever Üye
Usta Üye
Mesaj
1.246
Çözümler
81
Beğeni
673
Puan
1.109
Client Source -> Userinterface -> PythonNetworkStreamModule.cpp

Aratılır:


C++:
PyObject* netRecvGuildSymbol(PyObject* poSelf, PyObject* poArgs)


Kod Bloğu Değiştirilir:
C++:
PyObject* netRecvGuildSymbol(PyObject* poSelf, PyObject* poArgs)
{
    char * szIP;
    if (!PyTuple_GetString(poArgs, 0, &szIP))
        return Py_BuildException();
    int iPort;
    if (!PyTuple_GetInteger(poArgs, 1, &iPort))
        return Py_BuildException();
    int iGuildID;
    if (!PyTuple_GetInteger(poArgs, 2, &iGuildID))
        return Py_BuildException();
    CNetworkAddress kAddress;
    kAddress.Set(szIP, iPort);
    std::vector<DWORD> kVec_dwGuildID;
    kVec_dwGuildID.clear();
    kVec_dwGuildID.push_back(iGuildID);
#ifdef fix_header254
    if (kVec_dwGuildID.size()>0)
    {
        CGuildMarkDownloader& rkGuildMarkDownloader=CGuildMarkDownloader::Instance();
        if (!rkGuildMarkDownloader.ConnectToRecvSymbol(kAddress, 0, 0, kVec_dwGuildID))
        {
            assert(!"Failed connecting to recv symbol");
        }
    }
#endif
    return Py_BuildNone();
}


Client Source -> Userinterface -> PythonNetworkStreamPhaseGame.cpp

Aratılır:


C++:
bool CPythonNetworkStream::RecvLandPacket()


Kod Bloğu Değiştirilir:

C++:
bool CPythonNetworkStream::RecvLandPacket()
{
    TPacketGCLandList kLandList;
    if (!Recv(sizeof(kLandList), &kLandList))
        return false;
    std::vector<DWORD> kVec_dwGuildID;
    CPythonMiniMap & rkMiniMap = CPythonMiniMap::Instance();
    CPythonBackground & rkBG = CPythonBackground::Instance();
    CInstanceBase * pMainInstance = CPythonPlayer::Instance().NEW_GetMainActorPtr();
    rkMiniMap.ClearGuildArea();
    rkBG.ClearGuildArea();
    int iPacketSize = (kLandList.size - sizeof(TPacketGCLandList));
    for (; iPacketSize > 0; iPacketSize-=sizeof(TLandPacketElement))
    {
        TLandPacketElement kElement;
        if (!Recv(sizeof(TLandPacketElement), &kElement))
            return false;
        rkMiniMap.RegisterGuildArea(kElement.dwID,
                                    kElement.dwGuildID,
                                    kElement.x,
                                    kElement.y,
                                    kElement.width,
                                    kElement.height);
        if (pMainInstance)
        if (kElement.dwGuildID == pMainInstance->GetGuildID())
        {
            rkBG.RegisterGuildArea(kElement.x,
                                   kElement.y,
                                   kElement.x+kElement.width,
                                   kElement.y+kElement.height);
        }
        if (0 != kElement.dwGuildID)
            kVec_dwGuildID.push_back(kElement.dwGuildID);
    }
#ifdef fix_header254
    if (kVec_dwGuildID.size()>0)
        __DownloadSymbol(kVec_dwGuildID);
#endif
    return true;
}

Client Src İçinde Locale_inc.h açılır ve herhangi bir yere eklenir:

#define fix_header254
 
Paylaşım için teşekkürler.
Bu fix sorunu çözen bir fix mi yoksa sadece log mu kapatıyor? Aslında log kapatması da işimi görür fakat ilerleyen zamanlarda başka bir noktadan başka bir şekilde patlak vermesinden tereddüt ettiğim için emin olmak istiyorum.
 
Paylaşım için teşekkürler.
Bu fix sorunu çözen bir fix mi yoksa sadece log mu kapatıyor? Aslında log kapatması da işimi görür fakat ilerleyen zamanlarda başka bir noktadan başka bir şekilde patlak vermesinden tereddüt ettiğim için emin olmak istiyorum.
Log kapatmaz direk sorunu çözer.
 
Sequence elimizde olan dosyalarda doğru düzgün tamamlanmamış yarım yamalak bir güvenlik sistemidir, komple kaldırmanızı tavsiye ederim.
 
Sequence elimizde olan dosyalarda doğru düzgün tamamlanmamış yarım yamalak bir güvenlik sistemidir, komple kaldırmanızı tavsiye ederim.
Bu hatanın sequence ile alakası yok. netRecvGuildSymbol paketindeki eksiklikten kaynaklı bir çözüm bu. Sequence eklentisini kaldırılsa bile normal bir şekilde 254 numaralı paket hatası verecek fark yok yani fixin yapılması gerekiyor.
 
Teşekkürler, ancak fixi yaptığım halde hala birebir aynı syserr'i almaya devam ediyorum
 
Geri
Üst