Jump to content

Cavio

Inactive Member
  • Posts

    2
  • Joined

  • Last visited

  • Feedback

    0%

Posts posted by Cavio

  1. 3 minutes ago, WeedHex said:
    #ifdef NDEBUG
        #define assert(expression) ((void)0)
    #else
    
    ...
    
    #endif

     

    It's just an assertion in debug launcher. It's telling you what's wrong. If you don't need the information, comment it.

    Btw this function can be improved to avoid wrong m_strPhase.

    But when commenting this line, this happens to the same players that would have experienced the runtime error before:


    And regarding the "m_strPhase", what exactly do you mean by that? Haven't looked into any of that before tbh.

    Thanks in advance!
    - Cavio

  2. Hey Guys, I'm struggling with this runtime error and was wondering if anyone ever had the same or something similar.

    This is all I was able to figure out so far:

    • It almost only happens in dungeons (especially often in the Nemere dungeon), but rarely on other random default maps too
    • Most players never experience this bug at all, but the few that do experience it quite often
    • Installing the All in One Runtimes package seemed to solve this issue for a few people, but for others didn't

    Already tried a few workarounds to prevent it, but nothing really worked and commenting the assert statement prevents the runtime, but still triggers the client to be stuck.
    I would appreciate any kind of help or even just a wild guess might lead to the right idea.

    Thanks to everyone in advance!
     

    TSXXml1A.png

    UserInterface\PythonNetworkStreamPhaseGame.cpp: (further code can be provided on request)

    bool CPythonNetworkStream::SendCharacterStatePacket(
        const TPixelPosition& c_rkPPosDst,
        float fDstRot,
        UINT eFunc,
        UINT uArg) {
        NANOBEGIN
        if (!__CanActMainInstance())
            return true;
    
        if (fDstRot < 0.0f)
            fDstRot = 360 + fDstRot;
        else if (fDstRot > 360.0f)
            fDstRot = fmodf(fDstRot, 360.0f);
    
        TPacketCGMove kStatePacket;
        kStatePacket.bHeader = HEADER_CG_MOVE;
        kStatePacket.bFunc = eFunc;
        kStatePacket.bArg = uArg;
        kStatePacket.bRot = fDstRot / 5.0f;
        kStatePacket.lX = long(c_rkPPosDst.x);
        kStatePacket.lY = long(c_rkPPosDst.y);
        kStatePacket.dwTime = ELTimer_GetServerMSec();
    	
        assert(kStatePacket.lX >= 0 && kStatePacket.lX < 204800);
    
        __LocalPositionToGlobalPosition(kStatePacket.lX, kStatePacket.lY);
    
        if (!Send(sizeof(kStatePacket), &kStatePacket)) {
            Tracenf(
                "CPythonNetworkStream::SendCharacterStatePacket(dwCmdTime=%u, "
                "fDstPos=(%f, %f), fDstRot=%f, eFunc=%d uArg=%d) - PACKET SEND "
                "ERROR",
                kStatePacket.dwTime, float(kStatePacket.lX), float(kStatePacket.lY),
                fDstRot, kStatePacket.bFunc, kStatePacket.bArg);
            return false;
        }
        NANOEND
        return true;
    }


    - Cavio

×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.