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
I launched into debugging and finally found it, tell me how to fix pliz.
GameServer->user.cpp->BOOL gObjCheckXYMapTile(LPOBJ lpObj, int iDbgName);
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
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); [COLOR=#008000]// this is move my to lorencia ))[/COLOR]
return TRUE;