Cavio 0 Posted September 4, 2022 Share Posted September 4, 2022 (edited) 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! 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 Edited September 4, 2022 by Metin2 Dev Core X - External 2 Internal Link to comment Share on other sites More sharing options...
Premium WeedHex 635 Posted September 4, 2022 Premium Share Posted September 4, 2022 #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. Link to comment Share on other sites More sharing options...
Cavio 0 Posted September 4, 2022 Author Share Posted September 4, 2022 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 Link to comment Share on other sites More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now