Решаем проблему error-L2 MAX BUFFER OVER в Giocp

Автор Wendigo, 2022 Фев. 01, 10:41

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Ключевые слова [SEO] mu onlineсерверные файлы MUgiocp

Wendigo

В общем проблема заключается в переполнение буфера (HpBar),обновление стояло в 0.1 сек,если зайти в DS/BC/CC и тд.. в то место где респает много мобов, переполняет буфер и дает дц персонажу с ошибкой error-L2 MAX BUFFER OVER,ставил обновление в 1 сек тоже самое но не сразу,спустя некоторое время.



Ошибка - (8412)error-L2 MAX BUFFER OVER 44 5984 44 [test][Knight]

Собственно сам код.


void Object_ViewportListRegenarate(LPOBJ lpObj)
{
PMSG_MONSTERHP_VIEWPORT_NOTIFY pMsg;
PHeadSetB((LPBYTE)&pMsg, 0xF8, sizeof(pMsg));

for ( int i=0;i<MAX_VIEWPORT;i++)
{
if (lpObj->VpPlayer[i].state != 1 && lpObj->VpPlayer[i].state != 2)
{
continue;
}
if (lpObj->VpPlayer[i].type != OBJ_MONSTER)
{
continue;
}
if (OBJECT_RANGE(lpObj->VpPlayer[i].number) == 0)
{
continue;
}
LPOBJ lpTargetObj = &gObj[lpObj->VpPlayer[i].number];
if (lpTargetObj->Class == 200 ||  CC_MAP_RANGE(lpTargetObj->MapNumber) != 0 ||  BC_MAP_RANGE(lpTargetObj->MapNumber) != 0
|| IT_MAP_RANGE(lpTargetObj->MapNumber) != 0) /*|| DS_MAP_RANGE(lpTargetObj->MapNumber) != 0)*/
{
continue;
}
pMsg.btNumberH = SET_NUMBERH(lpObj->VpPlayer[i].number);
pMsg.btNumberL = SET_NUMBERL(lpObj->VpPlayer[i].number);
pMsg.Life = ((lpTargetObj->Life * 100) / (lpTargetObj->MaxLife + lpTargetObj->AddLife));
DataSend(lpObj->m_Index, (UCHAR*)&pMsg, pMsg.h.size);
}
}


Может кто подсказать в чем проблема ?

Похожие темы (5)