📄 mapdata.cpp
字号:
m_iObjectIDcacheLocX[wObjectID] = 0;
m_iObjectIDcacheLocY[wObjectID] = 0;
m_pData[iX][iY].m_iEffectType = NULL;
return FALSE;
}
if ((m_pData[iX][iY].m_cDeadOwnerFrame == -1) && (m_pData[iX][iY].m_wDeadObjectID == wObjectID)) {
m_pData[iX][iY].m_cDeadOwnerFrame = 0;
ZeroMemory(pName, strlen(pName));
// v1.411 盲泼 皋矫瘤档 窃膊 昏力
if (m_pGame->m_pChatMsgList[ m_pData[iX][iY].m_iDeadChatMsg ] != NULL) {
delete m_pGame->m_pChatMsgList[ m_pData[iX][iY].m_iDeadChatMsg ];
m_pGame->m_pChatMsgList[ m_pData[iX][iY].m_iDeadChatMsg ] = NULL;
}
m_pData[iX][iY].m_iDeadChatMsg = NULL; // v1.4
m_iObjectIDcacheLocX[wObjectID] = 0;
m_iObjectIDcacheLocY[wObjectID] = 0;
return FALSE;
}
}
ZeroMemory(pName, strlen(pName));
return FALSE;
}
//////////////// ++++++++++
iChatIndex = NULL;
if ((wObjectID < 30000) && (sAction != DEF_OBJECTNULLACTION)) {
// 檬扁 单捞磐肺 捞抚苞 扁鸥 沥焊甫 器窃窍绊 乐促. 捞 版快绰 捞抚栏肺 茫酒具 茄促.
ZeroMemory(cTmpName, sizeof(cTmpName));
strcpy(cTmpName, pName);
dX = sX - m_sPivotX;
dY = sY - m_sPivotY;
////////////////////////////////////////////
if (m_iObjectIDcacheLocX[wObjectID] > 0) {
// 剧荐. 困俊 辑 乐促.
iX = m_iObjectIDcacheLocX[wObjectID] - m_sPivotX;
iY = m_iObjectIDcacheLocY[wObjectID] - m_sPivotY;
//v1.5 俊矾 焊沥 内靛
if ((iX < 0) || (iX >= MAPDATASIZEX) || (iY < 0) || (iY >= MAPDATASIZEY)) {
m_iObjectIDcacheLocX[wObjectID] = 0;
m_iObjectIDcacheLocY[wObjectID] = 0;
return FALSE;
}
if (m_pData[iX][iY].m_wObjectID == wObjectID) {
// 盲泼 牢郸胶甫 备茄促.
iChatIndex = m_pData[iX][iY].m_iChatMsg;
// 俊棋飘甫 备茄促.
iEffectType = m_pData[iX][iY].m_iEffectType;
iEffectFrame = m_pData[iX][iY].m_iEffectFrame;
iEffectTotalFrame = m_pData[iX][iY].m_iEffectTotalFrame;
m_pData[iX][iY].m_wObjectID = NULL; //-1; v1.41
m_pData[iX][iY].m_iChatMsg = NULL; // v1.4
m_pData[iX][iY].m_sOwnerType = NULL;
ZeroMemory(m_pData[iX][iY].m_cOwnerName, sizeof(m_pData[iX][iY].m_cOwnerName));
// v1.41 某浆 谅钎 历厘
m_iObjectIDcacheLocX[wObjectID] = sX;
m_iObjectIDcacheLocY[wObjectID] = sY;
// 瘤奎栏聪 公狼固茄 风橇甫 芭摹瘤 臼绊 痢橇.
goto EXIT_SEARCH_LOOP;
}
}
else if (m_iObjectIDcacheLocX[wObjectID] < 0) {
// 澜荐. 官蹿俊 穿篮 磊府. 开栏肺 秒茄促.
iX = abs(m_iObjectIDcacheLocX[wObjectID]) - m_sPivotX;
iY = abs(m_iObjectIDcacheLocY[wObjectID]) - m_sPivotY;
//v1.5 俊矾 焊沥 内靛
if ((iX < 0) || (iX >= MAPDATASIZEX) || (iY < 0) || (iY >= MAPDATASIZEY)) {
m_iObjectIDcacheLocX[wObjectID] = 0;
m_iObjectIDcacheLocY[wObjectID] = 0;
return FALSE;
}
if ((m_pData[iX][iY].m_cDeadOwnerFrame == -1) && (m_pData[iX][iY].m_wDeadObjectID == wObjectID)) {
// 盲泼 牢郸胶甫 备茄促.
iChatIndex = m_pData[iX][iY].m_iDeadChatMsg;
// 俊棋飘甫 备茄促.
iEffectType = m_pData[iX][iY].m_iEffectType;
iEffectFrame = m_pData[iX][iY].m_iEffectFrame;
iEffectTotalFrame = m_pData[iX][iY].m_iEffectTotalFrame;
m_pData[iX][iY].m_wDeadObjectID = NULL;
m_pData[iX][iY].m_iDeadChatMsg = NULL; // v1.4
m_pData[iX][iY].m_sDeadOwnerType = NULL;
// v1.41 某浆 谅钎 历厘
m_iObjectIDcacheLocX[wObjectID] = -1*sX;
m_iObjectIDcacheLocY[wObjectID] = -1*sY;
// 瘤奎栏聪 公狼固茄 风橇甫 芭摹瘤 臼绊 痢橇.
goto EXIT_SEARCH_LOOP;
}
}
////////////////////////////////////////////
// 困狼 眉农俊辑 吧府瘤 臼疽促搁 傈眉甫 促 八祸茄促.
iAdd = 7;
for (iX = sX - iAdd; iX <= sX + iAdd; iX++)
for (iY = sY - iAdd; iY <= sY + iAdd; iY++) {
//
if (iX < m_sPivotX) break;
else if (iX >= m_sPivotX + MAPDATASIZEX) break;
if (iY < m_sPivotY) break;
else if (iY >= m_sPivotY + MAPDATASIZEY) break;
//
//if (memcmp(m_pData[iX - m_sPivotX][iY - m_sPivotY].m_cOwnerName, cTmpName, 10) == 0) {
if (m_pData[iX - m_sPivotX][iY - m_sPivotY].m_wObjectID == wObjectID) {
// 牢立茄 镑俊辑 鞍篮 捞抚阑 啊柳 坷宏璃飘甫 惯斑窍看促.
// 盲泼 牢郸胶甫 备茄促.
iChatIndex = m_pData[iX - m_sPivotX][iY - m_sPivotY].m_iChatMsg;
// 俊棋飘甫 备茄促.
iEffectType = m_pData[iX - m_sPivotX][iY - m_sPivotY].m_iEffectType;
iEffectFrame = m_pData[iX - m_sPivotX][iY - m_sPivotY].m_iEffectFrame;
iEffectTotalFrame = m_pData[iX - m_sPivotX][iY - m_sPivotY].m_iEffectTotalFrame;
// 苞芭 困摹俊辑 瘤款促.
m_pData[iX - m_sPivotX][iY - m_sPivotY].m_wObjectID = NULL; //-1; v1.41
m_pData[iX - m_sPivotX][iY - m_sPivotY].m_iChatMsg = NULL;
m_pData[iX - m_sPivotX][iY - m_sPivotY].m_sOwnerType = NULL;
m_pData[iX - m_sPivotX][iY - m_sPivotY].m_iEffectType = NULL;
ZeroMemory(m_pData[iX - m_sPivotX][iY - m_sPivotY].m_cOwnerName, sizeof(m_pData[iX - m_sPivotX][iY - m_sPivotY].m_cOwnerName));
// v1.41 某浆 谅钎 历厘
m_iObjectIDcacheLocX[wObjectID] = sX;
m_iObjectIDcacheLocY[wObjectID] = sY;
// 瘤奎栏聪 公狼固茄 风橇甫 呕免茄促.
goto EXIT_SEARCH_LOOP;
}
//if (memcmp(m_pData[iX - m_sPivotX][iY - m_sPivotY].m_cDeadOwnerName, cTmpName, 10) == 0) {
if (m_pData[iX - m_sPivotX][iY - m_sPivotY].m_wDeadObjectID == wObjectID) {
// 盲泼 牢郸胶甫 备茄促.
iChatIndex = m_pData[iX - m_sPivotX][iY - m_sPivotY].m_iDeadChatMsg;
// 俊棋飘甫 备茄促.
iEffectType = m_pData[iX - m_sPivotX][iY - m_sPivotY].m_iEffectType;
iEffectFrame = m_pData[iX - m_sPivotX][iY - m_sPivotY].m_iEffectFrame;
iEffectTotalFrame = m_pData[iX - m_sPivotX][iY - m_sPivotY].m_iEffectTotalFrame;
// 苞芭 困摹俊辑 瘤款促.
m_pData[iX - m_sPivotX][iY - m_sPivotY].m_wDeadObjectID = NULL; //-1; v1.41
m_pData[iX - m_sPivotX][iY - m_sPivotY].m_iDeadChatMsg = NULL;
m_pData[iX - m_sPivotX][iY - m_sPivotY].m_sDeadOwnerType = NULL;
ZeroMemory(m_pData[iX - m_sPivotX][iY - m_sPivotY].m_cDeadOwnerName, sizeof(m_pData[iX - m_sPivotX][iY - m_sPivotY].m_cDeadOwnerName));
// v1.41 某浆 谅钎 历厘
m_iObjectIDcacheLocX[wObjectID] = -1*sX;
m_iObjectIDcacheLocY[wObjectID] = -1*sY;
// 瘤奎栏聪 公狼固茄 风橇甫 呕免茄促.
goto EXIT_SEARCH_LOOP;
}
}
// 酒公镑俊辑档 八祸登瘤 臼疽促. 弥檬肺 档馒茄 单捞磐捞骨肺 谅钎父 涝仿
// v1.41 某浆 谅钎 历厘
m_iObjectIDcacheLocX[wObjectID] = sX;
m_iObjectIDcacheLocY[wObjectID] = sY;
}
else {
// ObjectID 券盔
if (sAction != DEF_OBJECTNULLACTION)
wObjectID -= 30000;
// v1.5 Crash 规瘤侩
if (wObjectID >= 30000) return FALSE;
// v1.4 刚历 Cache 谅钎肺 八祸窍咯 老摹窍搁 贸府茄促.
////////////////////////////////////////////
if (m_iObjectIDcacheLocX[wObjectID] > 0) {
// 剧荐. 困俊 辑 乐促.
iX = m_iObjectIDcacheLocX[wObjectID] - m_sPivotX;
iY = m_iObjectIDcacheLocY[wObjectID] - m_sPivotY;
//v1.5 俊矾 焊沥 内靛
if ((iX < 0) || (iX >= MAPDATASIZEX) || (iY < 0) || (iY >= MAPDATASIZEY)) {
m_iObjectIDcacheLocX[wObjectID] = 0;
m_iObjectIDcacheLocY[wObjectID] = 0;
return FALSE;
}
if (m_pData[iX][iY].m_wObjectID == wObjectID) {
dX = iX;
dY = iY;
switch (sAction) {
case DEF_OBJECTRUN:
case DEF_OBJECTMOVE:
case DEF_OBJECTDAMAGEMOVE:
case DEF_OBJECTATTACKMOVE:
switch (cDir) {
case 1: dY--; break;
case 2: dY--; dX++; break;
case 3: dX++; break;
case 4: dX++; dY++; break;
case 5: dY++; break;
case 6: dX--; dY++; break;
case 7: dX--; break;
case 8: dX--; dY--; break;
}
break;
default:
break;
}
if ((wObjectID != (WORD)m_pGame->m_sPlayerObjectID) &&
(m_pData[dX][dY].m_sOwnerType != NULL) && (m_pData[dX][dY].m_wObjectID != wObjectID)) {
// 货肺 且寸窍绊磊 窍绰 镑俊 磊脚捞 酒囱 促弗 坷宏璃飘啊 辑 乐促搁 且寸且 荐 绝绊,
// 捞 坷宏璃飘狼 泅犁 困摹甫 夸没茄促.
// 傈眉 单捞磐啊 绝绰 坷宏璃飘狼 捞亥飘捞促. 辑滚肺 傈眉 单捞磐甫 夸没茄促.
m_pGame->RequestFullObjectData(wObjectID);
ZeroMemory(pName, strlen(pName));
return FALSE;
}
// 单捞磐甫 归诀
iChatIndex = m_pData[iX][iY].m_iChatMsg;
if (sAction != DEF_OBJECTNULLACTION) {
sType = m_pData[iX][iY].m_sOwnerType; //v1.12 拉临俊辑 器窃凳
sAppr1 = m_pData[iX][iY].m_sAppr1;
sAppr2 = m_pData[iX][iY].m_sAppr2;
sAppr3 = m_pData[iX][iY].m_sAppr3;
sAppr4 = m_pData[iX][iY].m_sAppr4;
iApprColor = m_pData[iX][iY].m_iApprColor; // v1.4
sStatus = m_pData[iX][iY].m_sStatus;
// v1.432
iEffectType = m_pData[iX][iY].m_iEffectType;
iEffectFrame = m_pData[iX][iY].m_iEffectFrame;
iEffectTotalFrame = m_pData[iX][iY].m_iEffectTotalFrame;
}
ZeroMemory(cTmpName, sizeof(cTmpName));
memcpy(cTmpName, m_pData[iX][iY].m_cOwnerName, 10);
// 捞抚蔼篮 馆券 !!
ZeroMemory(pName, sizeof(pName));
memcpy(pName, m_pData[iX][iY].m_cOwnerName, 10);
// 苞芭 困摹俊辑 昏力
m_pData[iX][iY].m_wObjectID = NULL; //-1; v1.41
m_pData[iX][iY].m_iChatMsg = NULL;
m_pData[iX][iY].m_sOwnerType = NULL;
m_pData[iX][iY].m_iEffectType = NULL;
ZeroMemory(m_pData[iX][iY].m_cOwnerName, sizeof(m_pData[iX][iY].m_cOwnerName));
// v1.41 某浆 谅钎 历厘
m_iObjectIDcacheLocX[wObjectID] = dX + m_sPivotX;
m_iObjectIDcacheLocY[wObjectID] = dY + m_sPivotY;
// 瘤奎栏聪 公狼固茄 风橇甫 呕免.
goto EXIT_SEARCH_LOOP;
}
}
else if (m_iObjectIDcacheLocX[wObjectID] < 0) {
// 澜荐. 官蹿俊 穿篮 磊府. 开栏肺 秒茄促.
iX = abs(m_iObjectIDcacheLocX[wObjectID]) - m_sPivotX;
iY = abs(m_iObjectIDcacheLocY[wObjectID]) - m_sPivotY;
//v1.5 俊矾 焊沥 内靛
if ((iX < 0) || (iX >= MAPDATASIZEX) || (iY < 0) || (iY >= MAPDATASIZEY)) {
m_iObjectIDcacheLocX[wObjectID] = 0;
m_iObjectIDcacheLocY[wObjectID] = 0;
return FALSE;
}
if ((m_pData[iX][iY].m_cDeadOwnerFrame == -1) && (m_pData[iX][iY].m_wDeadObjectID == wObjectID)) {
// 悼累俊 蝶弗 弥辆 困摹 拌魂
// 捞镑俊 促弗 坷宏璃飘啊 捞固 乐促搁 疙飞篮 秒家登绊 葛电 单捞磐 傈价阑 夸备窍霸 等促.
dX = iX;
dY = iY;
switch (sAction) {
case DEF_OBJECTMOVE:
case DEF_OBJECTRUN:
case DEF_OBJECTDAMAGEMOVE:
case DEF_OBJECTATTACKMOVE:
switch (cDir) {
case 1: dY--; break;
case 2: dY--; dX++; break;
case 3: dX++; break;
case 4: dX++; dY++; break;
case 5: dY++; break;
case 6: dX--; dY++; break;
case 7: dX--; break;
case 8: dX--; dY--; break;
}
break;
default:
break;
}
if ((wObjectID != (WORD)m_pGame->m_sPlayerObjectID) &&
(m_pData[dX][dY].m_sOwnerType != NULL) && (m_pData[dX][dY].m_wObjectID != wObjectID)) {
// 货肺 且寸窍绊磊 窍绰 镑俊 磊脚捞 酒囱 促弗 坷宏璃飘啊 辑 乐促搁 且寸且 荐 绝绊,
// 捞 坷宏璃飘狼 泅犁 困摹甫 夸没茄促.
// 傈眉 单捞磐啊 绝绰 坷宏璃飘狼 捞亥飘捞促. 辑滚肺 傈眉 单捞磐甫 夸没茄促.
m_pGame->RequestFullObjectData(wObjectID);
ZeroMemory(pName, strlen(pName));
return FALSE;
}
// 单捞磐甫 归诀
iChatIndex = m_pData[iX][iY].m_iDeadChatMsg;
if (sAction != DEF_OBJECTNULLACTION) {
sType = m_pData[iX][iY].m_sDeadOwnerType; // v1.12 拉临俊辑 器窃凳
sAppr1 = m_pData[iX][iY].m_sDeadAppr1;
sAppr2 = m_pData[iX][iY].m_sDeadAppr2;
sAppr3 = m_pData[iX][iY].m_sDeadAppr3;
sAppr4 = m_pData[iX][iY].m_sDeadAppr4;
iApprColor = m_pData[iX][iY].m_iDeadApprColor; // v1.4
sStatus = m_pData[iX][iY].m_sDeadStatus;
}
ZeroMemory(cTmpName, sizeof(cTmpName));
memcpy(cTmpName, m_pData[iX][iY].m_cDeadOwnerName, 10);
// 捞抚蔼篮 馆券 !!
ZeroMemory(pName, sizeof(pName));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -