Hello, friends!
I am use this server file, source codes: IGCN - MuEmu Server Season 12 ep 2 + Sources
In general, I reached the settlement of the arena, filled up to half, and I can’t do the second half because it constantly teleports me to Lorencia. But before that, he throws back a couple of times to the initial position. I understand that somewhere there is a check for speed-hack, but so far I have not been able to once-in-law. My friends I ask you for help from the jack of the Ragezone club
PS: I apologize for my English. For the translation, I took advantage of Translate.google.com
- - - Updated - - -
I launched into debugging and finally found it, tell me how to fix pliz.
GameServer->user.cpp->BOOL gObjCheckXYMapTile(LPOBJ lpObj, int iDbgName);
Code:... BYTE attr = MapC[mapnumber].GetAttr(x, y); if ( (attr&4) == 4 || (attr&8) == 8 ) { BYTE attr2 = MapC[mapnumber].GetAttr(x+2, y); BYTE attr3 = MapC[mapnumber].GetAttr(x, y+2); BYTE attr4 = MapC[mapnumber].GetAttr(x-2, y); BYTE attr5 = MapC[mapnumber].GetAttr(x, y-2); if ( attr2 > 1 && attr3 > 1 && attr4 > 1 && attr5 > 1 ) { g_Log.Add("[ CHECK POSITION ] DbgName[%d] [%s][%s] Map[%d]-(%d,%d) Invalid location causes to force to move",iDbgName,lpObj->AccountID, lpObj->Name, lpObj->MapNumber, lpObj->X, lpObj->Y); PMSG_TELEPORT pMsg; if (IT_MAP_RANGE(lpObj->MapNumber)) { if (g_IT_Event.GetIllusionTempleState(lpObj->MapNumber) == 2) { BYTE btTeam = g_IT_Event.GetUserTeam(lpObj->MapNumber, lpObj->m_Index); if (btTeam == 0xFF) { pMsg.MoveNumber = 17; } else if (btTeam == 1) { pMsg.MoveNumber = lpObj->MapNumber + 109; } else if (btTeam == 0) { pMsg.MoveNumber = lpObj->MapNumber + 103; } else { pMsg.MoveNumber = 17; } } else { pMsg.MoveNumber = 17; } gObjMoveGate(lpObj->m_Index, pMsg.MoveNumber); return TRUE; } else if (lpObj->MapNumber == MAP_INDEX_DEVILSQUARE_FINAL && g_DevilSquareFinal.m_btDSFCurState == 2) { if (g_DevilSquareFinal.GetUserTeam(lpObj->m_Index) == -1) { pMsg.MoveNumber = 17; } else { pMsg.MoveNumber = 474; } gObjMoveGate(lpObj->m_Index, pMsg.MoveNumber); return TRUE; } else { gObjMoveGate(lpObj->m_Index, 17); return TRUE; } } } return TRUE;
Code:gObjMoveGate(lpObj->m_Index, pMsg.MoveNumber); // this is move my to lorencia )) return TRUE;









