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

📄 mapdata.cpp

📁 战场登陆器vc++源代码很好用的哦精彩精彩
💻 CPP
📖 第 1 页 / 共 5 页
字号:
				memcpy(pName, m_pData[iX][iY].m_cDeadOwnerName, 10);

				// 苞芭 困摹俊辑 昏力 
				m_pData[iX][iY].m_wDeadObjectID  = NULL; // -1; v1.41
				m_pData[iX][iY].m_iDeadChatMsg   = NULL;
				m_pData[iX][iY].m_sDeadOwnerType = NULL;
				ZeroMemory(m_pData[iX][iY].m_cDeadOwnerName, sizeof(m_pData[iX][iY].m_cDeadOwnerName));
				
				// v1.41 某浆 谅钎 历厘 
				m_iObjectIDcacheLocX[wObjectID] = -1*(dX + m_sPivotX);
				m_iObjectIDcacheLocY[wObjectID] = -1*(dY + m_sPivotY);

				// 瘤奎栏聪 公狼固茄 风橇甫 呕免. 
				goto EXIT_SEARCH_LOOP;
			}
		}
		////////////////////////////////////////////
		
		// 困狼 八祸俊辑 茫瘤 给沁促搁 咯扁辑 贸府茄促.
		// ObjectID 蔼栏肺 八祸窍绰 版快. 
		// 鞍篮 ObjectID甫 爱绰 object甫 茫酒 捞抚, 漂己摹殿殿阑 汗荤秦辑 荤侩茄促. 绢恫 谅钎蔼档 绝促!!!
		
		for (iX = 0; iX < MAPDATASIZEX; iX++)
		for (iY = 0; iY < MAPDATASIZEY; iY++) {
			
			if (m_pData[iX][iY].m_wObjectID == wObjectID) {
				// 牢立茄 镑俊辑 鞍篮 ObjectID甫 啊柳 坷宏璃飘甫 惯斑窍看促. 
				
				// 悼累俊 蝶弗 弥辆 困摹 拌魂. 
				// 捞镑俊 促弗 坷宏璃飘啊 捞固 乐促搁 疙飞篮 秒家登绊 葛电 单捞磐 傈价阑 夸备窍霸 等促. 
				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;
			}

			if (m_pData[iX][iY].m_wDeadObjectID == wObjectID) {
				// 牢立茄 镑俊辑 鞍篮 ObjectID甫 啊柳 坷宏璃飘甫 惯斑窍看促. 
				
				// 悼累俊 蝶弗 弥辆 困摹 拌魂 
				// 捞镑俊 促弗 坷宏璃飘啊 捞固 乐促搁 疙飞篮 秒家登绊 葛电 单捞磐 傈价阑 夸备窍霸 等促. 
				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));
				memcpy(pName, m_pData[iX][iY].m_cDeadOwnerName, 10);

				// 苞芭 困摹俊辑 昏力 
				m_pData[iX][iY].m_wDeadObjectID  = NULL; //-1; v1.41
				m_pData[iX][iY].m_iDeadChatMsg   = NULL;
				m_pData[iX][iY].m_sDeadOwnerType = NULL;
				m_pData[iX][iY].m_iEffectType    = NULL;
				ZeroMemory(m_pData[iX][iY].m_cDeadOwnerName, sizeof(m_pData[iX][iY].m_cDeadOwnerName));
								
				// v1.41 某浆 谅钎 历厘 
				m_iObjectIDcacheLocX[wObjectID] = -1*(dX + m_sPivotX);
				m_iObjectIDcacheLocY[wObjectID] = -1*(dY + m_sPivotY);

				// 瘤奎栏聪 公狼固茄 风橇甫 呕免茄促. 
				goto EXIT_SEARCH_LOOP;
			}
		}

		// 傈眉 单捞磐啊 绝绰 坷宏璃飘狼 捞亥飘捞促. 辑滚肺 傈眉 单捞磐甫 夸没茄促. 
		m_pGame->RequestFullObjectData(wObjectID);
		ZeroMemory(pName, strlen(pName));
		return FALSE;
	}

EXIT_SEARCH_LOOP:;

	// 扁粮狼 困摹甫 瘤奎促. 单捞磐档 啊廉吭促.
	
	if (sAction == DEF_OBJECTDYING) {
		// 磷绰 悼累捞扼搁 傈价等 困摹肺 犁且寸茄促.
		dX = sX - m_sPivotX;
		dY = sY - m_sPivotY;
	}

	if ((iPreLoc == 0) && (m_pData[dX][dY].m_sOwnerType != NULL) && (m_pData[dX][dY].m_cOwnerAction == DEF_OBJECTDYING)) { // v1.4
		// 且寸瞪 困摹俊 磷绰 悼累吝牢 某腐磐啊 乐促搁 弊措肺 颗变促. 
		m_pData[dX][dY].m_wDeadObjectID        = m_pData[dX][dY].m_wObjectID;
		m_pData[dX][dY].m_sDeadOwnerType       = m_pData[dX][dY].m_sOwnerType;
		m_pData[dX][dY].m_cDeadDir             = m_pData[dX][dY].m_cDir;
		m_pData[dX][dY].m_sDeadAppr1           = m_pData[dX][dY].m_sAppr1;
		m_pData[dX][dY].m_sDeadAppr2           = m_pData[dX][dY].m_sAppr2;
		m_pData[dX][dY].m_sDeadAppr3           = m_pData[dX][dY].m_sAppr3;
		m_pData[dX][dY].m_sDeadAppr4           = m_pData[dX][dY].m_sAppr4;
		m_pData[dX][dY].m_iDeadApprColor       = m_pData[dX][dY].m_iApprColor; // v1.4
		m_pData[dX][dY].m_sDeadStatus          = m_pData[dX][dY].m_sStatus;
		m_pData[dX][dY].m_cDeadOwnerFrame      = -1;
		m_pData[dX][dY].m_dwDeadOwnerTime	   = dwTime;
		
		memcpy(m_pData[dX][dY].m_cDeadOwnerName, m_pData[dX][dY].m_cOwnerName, 11);
		m_pData[dX][dY].m_iDeadChatMsg         = m_pData[dX][dY].m_iChatMsg;
		
		// 辑乐带 困摹俊辑 瘤款促.
		m_pData[dX][dY].m_wObjectID  = NULL;
		m_pData[dX][dY].m_sOwnerType = NULL;
		m_pData[dX][dY].m_iChatMsg   = NULL;
		ZeroMemory(m_pData[dX][dY].m_cOwnerName, sizeof(m_pData[dX][dY].m_cOwnerName));

		m_iObjectIDcacheLocX[m_pData[dX][dY].m_wDeadObjectID] = -1*m_iObjectIDcacheLocX[m_pData[dX][dY].m_wDeadObjectID];//dX; // v1.4
		m_iObjectIDcacheLocY[m_pData[dX][dY].m_wDeadObjectID] = -1*m_iObjectIDcacheLocY[m_pData[dX][dY].m_wDeadObjectID];//dY;

		if (m_pData[dX][dY].m_iEffectType != 0) {
			// v1.432 磷澜苞 悼矫俊 瓤苞甫 绝矩促.
			m_pData[dX][dY].m_iEffectType  = 0;
			m_pData[dX][dY].m_iEffectFrame = 0;
			m_pData[dX][dY].m_iEffectTotalFrame = 0;
			m_pData[dX][dY].m_dwEffectTime      = 0;
		}
	}

	// 且寸且 困摹俊 促弗 坷宏璃飘啊 粮犁茄促搁 
	if (m_pData[dX][dY].m_sOwnerType != NULL) {
		if ((wObjectID != (WORD)m_pGame->m_sPlayerObjectID) &&
			(m_pData[dX][dY].m_wObjectID == (WORD)m_pGame->m_sPlayerObjectID)) {
			// 敲饭捞绢 磊脚捞 粮犁茄促.
			return FALSE;
		}
		else {
			return FALSE;
		}
	}

	// 货肺款 困摹俊 且寸茄促. 
	if (iPreLoc == 0) {
		m_pData[dX][dY].m_wObjectID   = wObjectID;
		m_pData[dX][dY].m_sOwnerType  = sType;
		m_pData[dX][dY].m_cDir        = cDir;
		m_pData[dX][dY].m_sAppr1      = sAppr1;
		m_pData[dX][dY].m_sAppr2      = sAppr2;
		m_pData[dX][dY].m_sAppr3      = sAppr3;
		m_pData[dX][dY].m_sAppr4      = sAppr4;
		m_pData[dX][dY].m_iApprColor  = iApprColor; // v1.4
		m_pData[dX][dY].m_sStatus     = sStatus;
		m_pData[dX][dY].m_sV1         = sV1;
		m_pData[dX][dY].m_sV2         = sV2;
		m_pData[dX][dY].m_sV3         = sV3;
				
		m_pData[dX][dY].m_iEffectType  = iEffectType;
		m_pData[dX][dY].m_iEffectFrame = iEffectFrame;
		m_pData[dX][dY].m_iEffectTotalFrame = iEffectTotalFrame;

		ZeroMemory(m_pData[dX][dY].m_cOwnerName, sizeof(m_pData[dX][dY].m_cOwnerName));
		strcpy(m_pData[dX][dY].m_cOwnerName, cTmpName);
		
		if ((sAction != DEF_OBJECTNULLACTION) && (sAction != DEF_MSGTYPE_CONFIRM) && (sAction != DEF_MSGTYPE_REJECT)) {
			
			m_pData[dX][dY].m_cOwnerFrame  = iFrame; // 0
			m_pData[dX][dY].m_cOwnerAction = (char)sAction;
		}

		m_pData[dX][dY].m_dwOwnerTime        = dwTime;
		m_pData[dX][dY].m_iChatMsg = iChatIndex;

		if ((sAppr4 & 0x00F0) != 0) {
			// v1.432 EffectFlag啊 技飘登绢 乐促搁 
			m_pData[dX][dY].m_iEffectType = (sAppr4 & 0x00F0) >> 4;
			if (sAction == DEF_OBJECTNULLACTION) {
				m_pData[dX][dY].m_iEffectFrame = 0;
				m_pData[dX][dY].m_dwEffectTime = dwTime;
			}

			switch (m_pData[dX][dY].m_iEffectType) {
			case 1: m_pData[dX][dY].m_iEffectTotalFrame = 13; break;
			case 2: m_pData[dX][dY].m_iEffectTotalFrame = 11; break;
			}
		}
		else {
			m_pData[dX][dY].m_iEffectType = 0;
		}
	}
	else {
		// iPreLoc == 1
		m_pData[dX][dY].m_wDeadObjectID   = wObjectID;
		m_pData[dX][dY].m_sDeadOwnerType  = sType;
		m_pData[dX][dY].m_cDeadDir        = cDir;
		m_pData[dX][dY].m_sDeadAppr1      = sAppr1;
		m_pData[dX][dY].m_sDeadAppr2      = sAppr2;
		m_pData[dX][dY].m_sDeadAppr3      = sAppr3;
		m_pData[dX][dY].m_sDeadAppr4      = sAppr4;
		m_pData[dX][dY].m_iDeadApprColor  = iApprColor; // v1.4
		m_pData[dX][dY].m_sDeadStatus     = sStatus;
		
		ZeroMemory(m_pData[dX][dY].m_cDeadOwnerName, sizeof(m_pData[dX][dY].m_cDeadOwnerName));
		strcpy(m_pData[dX][dY].m_cDeadOwnerName, cTmpName);
		
		m_pData[dX][dY].m_dwDeadOwnerTime  = dwTime;
		m_pData[dX][dY].m_iDeadChatMsg = iChatIndex;

		if ((sAppr4 & 0x00F0) != 0) {
			// v1.432 EffectFlag啊 技飘登绢 乐促搁 
			m_pData[dX][dY].m_iEffectType = (sAppr4 & 0x00F0) >> 4;
			if (sAction == DEF_OBJECTNULLACTION) {
				m_pData[dX][dY].m_iEffectFrame = 0;
				m_pData[dX][dY].m_dwEffectTime = dwTime;
			}

			switch (m_pData[dX][dY].m_iEffectType) {
			case 1: m_pData[dX][dY].m_iEffectTotalFrame = 13; break;
			case 2: m_pData[dX][dY].m_iEffectTotalFrame = 11; break;
			}
		}
		else {
			m_pData[dX][dY].m_iEffectType = 0;
		}
	}

	return TRUE;
}


BOOL __fastcall CMapData::bGetOwner(short sX, short sY, short * pOwnerType, char * pDir, short * pAppr1, short * pAppr2, short * pAppr3, short * pAppr4, int * pApprColor, short * pStatus, char * pName, char * pAction, char * pFrame, int * pChatIndex, short * pV1, short * pV2)
{
 int dX, dY;
	
	if ((sX < m_sPivotX) || (sX > m_sPivotX + MAPDATASIZEX) || 
		(sY < m_sPivotY) || (sY > m_sPivotY + MAPDATASIZEY)) {
		ZeroMemory(pName,

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -