⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mapdata.cpp

📁 战场登陆器vc++源代码很好用的哦精彩精彩
💻 CPP
📖 第 1 页 / 共 5 页
字号:
				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 + -