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

📄 nationsys.cpp

📁 国内著名网络游戏dragon的服务端完整源码 内附完整数据库结构
💻 CPP
📖 第 1 页 / 共 5 页
字号:

void SendPacket2NWManager(t_packet* p)
{
	g_pServerTable->SendRajaPacketToOtherMapServer( NATION_MANAGE_SERVER, (char *)p, p->h.header.size+sizeof(t_header) );
}

// Send Packet to Special Map Server
void SendPacket2NWMap(const WORD Port,t_packet* p)				
{
	g_pServerTable->SendRajaPacketToOtherMapServer( Port, (char *)p, p->h.header.size+sizeof(t_header) );
//	g_pServerTable->SendRajaPacketToOtherMapServer( (WORD)Port, (char *)p, p->h.header.size+sizeof(t_header) );
}

// Send Packet to All Map Servers
void SendPacket2Maps(t_packet* p)						
{
	g_pServerTable->BroadCastToEveryServer((char *)p, p->h.header.size+sizeof(t_header),SERVER_TYPE_MAP);
}

// Send Packet to Parts of Map Servers , Parameter Dependence
void SendPacket2NationMaps(const int Nation,t_packet* p)		
{
	for(int i=0 ; i< MAX_MAP_;i++)
	{
		if (Nation == MapInfo[i].nation)//020903 lsw
		g_pServerTable->SendRajaPacketToOtherMapServer( (WORD)MapInfo[i].port, (char *)p, p->h.header.size+sizeof(t_header) );
	}
}

// Send Several Packet to Parts of Map Servers
void SendPacket2NationMaps(const int Nation1,t_packet* p1,const int Nation2,t_packet* p2)//020903 lsw
{
	for(int i=0 ; i< MAX_MAP_;i++)
	{
		if (Nation1 ==MapInfo[i].nation)
		{
			g_pServerTable->SendRajaPacketToOtherMapServer( (WORD)MapInfo[i].port, (char *)p1, p1->h.header.size+sizeof(t_header) );
		}
		if (Nation2 ==MapInfo[i].nation)
		{
			g_pServerTable->SendRajaPacketToOtherMapServer( (WORD)MapInfo[i].port, (char *)p2, p2->h.header.size+sizeof(t_header) );
		}

	}
}
// Send Several Packet to Parts of Map Servers
void SendPacket2NationMaps(const int Nation1,t_packet* p1,const int Nation2,t_packet* p2,const int Nation3,t_packet* p3)	//020903 lsw
{
	for(int i=0 ; i< MAX_MAP_;i++)
	{
		if (Nation1==MapInfo[i].nation)
		{
			g_pServerTable->SendRajaPacketToOtherMapServer( (WORD)MapInfo[i].port, (char *)p1, p1->h.header.size+sizeof(t_header) );
		}
		if (Nation2==MapInfo[i].nation)
		{
			g_pServerTable->SendRajaPacketToOtherMapServer( (WORD)MapInfo[i].port, (char *)p2, p2->h.header.size+sizeof(t_header) );
		}
		if (Nation3==MapInfo[i].nation)
		{
			g_pServerTable->SendRajaPacketToOtherMapServer( (WORD)MapInfo[i].port, (char *)p3, p3->h.header.size+sizeof(t_header) );
		}
	}
}

void SendPacket2NationClients(const int Nation,t_packet* p)	
{	//< CSD-CN-031213
	CUserManager::HASH_USER user = g_pUserManager->GetUserSet();

	for (CUserManager::ITOR_USER i = user.begin(); i != user.end(); ++i)
	{
		const int idUser = i->second;
		CHARLIST* pUser = CheckServerId(idUser);
		
		if (pUser != NULL && Nation == pUser->name_status.nation)
		{
			QueuePacket(connections, idUser, p, 1);
		}
	}
}	//> CSD-CN-031213

// Send Several Packet to Partial Clients
void SendPacket2NationClients(const int Nation1,t_packet* p1,const int Nation2,t_packet* p2)		
{	//< CSD-CN-031213
	CUserManager::HASH_USER user = g_pUserManager->GetUserSet();

	for (CUserManager::ITOR_USER i = user.begin(); i != user.end(); ++i)
	{
		const int idUser = i->second;
		CHARLIST* pUser = CheckServerId(idUser);
	
		if (pUser != NULL)
		{
			if (Nation1 == pUser->name_status.nation)
			{
				QueuePacket(connections, idUser, p1, 1);
			}
		
			if (Nation2 == pUser->name_status.nation) 
			{
				QueuePacket(connections, idUser, p2, 1);
			}
		}
	}
}	//> CSD-CN-031213
// Send War BBS Packet to All Map Servers
void SendWarBBS2Maps(t_WarBBS* WarBBS)
{
	t_packet packet;

	packet.h.header.type=CMD_WAR_BBS;
	packet.u.NationWar.WarBBS.WarfieldNo=	WarBBS->WarfieldNo;
	packet.u.NationWar.WarBBS.BBSType=		WarBBS->BBSType;
	packet.u.NationWar.WarBBS.LanNo=		WarBBS->LanNo;
	packet.u.NationWar.WarBBS.ArgType=		WarBBS->ArgType;
	packet.u.NationWar.WarBBS.Size=			WarBBS->Size;
	memcpy(packet.u.NationWar.WarBBS.Arg,WarBBS->Arg,WarBBS->Size);
	packet.h.header.size=sizeof(t_WarBBS)-MAX_STRING_PK+packet.u.NationWar.WarBBS.Size;
	SendPacket2Maps(&packet);
}

// Send War BBS to Map Server 
void SendWarBBS2NationMaps(const int Nation,t_WarBBS* WarBBS)
{
	t_packet p1;

	p1.h.header.type=CMD_WAR_BBS;
	p1.u.NationWar.WarBBS.WarfieldNo=	WarBBS->WarfieldNo;
	p1.u.NationWar.WarBBS.BBSType	=	WarBBS->BBSType;
	p1.u.NationWar.WarBBS.LanNo		=	WarBBS->LanNo;
	p1.u.NationWar.WarBBS.ArgType	=	WarBBS->ArgType;
	p1.u.NationWar.WarBBS.Size		=	WarBBS->Size;
	memcpy(p1.u.NationWar.WarBBS.Arg,WarBBS->Arg,WarBBS->Size);
	p1.h.header.size=sizeof(t_WarBBS)-MAX_STRING_PK+p1.u.NationWar.WarBBS.Size;
	SendPacket2NationMaps(Nation,&p1);
}

// Send War BBS to Map Servers 

void SendWarBBS2NationMaps(const int DefenceNation,t_WarBBS* WarBBSAttack,t_WarBBS* WarBBSDefence,t_WarBBS* WarBBSReinforce) //规绢惫 , 傍拜惫 , 吝赋惫 俊 皋矫瘤甫 焊晨..
{
	t_packet AttackerPacket,DefencerPacket,ReinforcePacket;

	int AttackNation,ReinforceNation;

	AttackerPacket.h.header.type=CMD_WAR_BBS;
	AttackerPacket.u.NationWar.WarBBS.WarfieldNo=WarBBSAttack->WarfieldNo;
	AttackerPacket.u.NationWar.WarBBS.BBSType=WarBBSAttack->BBSType;
	AttackerPacket.u.NationWar.WarBBS.LanNo=WarBBSAttack->LanNo;
	AttackerPacket.u.NationWar.WarBBS.ArgType=WarBBSAttack->ArgType;
	AttackerPacket.u.NationWar.WarBBS.Size=WarBBSAttack->Size;
	memcpy(AttackerPacket.u.NationWar.WarBBS.Arg,WarBBSAttack->Arg,WarBBSAttack->Size);
	AttackerPacket.h.header.size=sizeof(t_WarBBS)-MAX_STRING_PK+AttackerPacket.u.NationWar.WarBBS.Size;

	DefencerPacket.h.header.type=CMD_WAR_BBS;
	DefencerPacket.u.NationWar.WarBBS.WarfieldNo=WarBBSDefence->WarfieldNo;
	DefencerPacket.u.NationWar.WarBBS.BBSType=WarBBSDefence->BBSType;
	DefencerPacket.u.NationWar.WarBBS.LanNo=WarBBSDefence->LanNo;
	DefencerPacket.u.NationWar.WarBBS.ArgType=WarBBSDefence->ArgType;
	DefencerPacket.u.NationWar.WarBBS.Size=WarBBSDefence->Size;
	memcpy(DefencerPacket.u.NationWar.WarBBS.Arg,WarBBSDefence->Arg,WarBBSDefence->Size);
	DefencerPacket.h.header.size=sizeof(t_WarBBS)-MAX_STRING_PK+DefencerPacket.u.NationWar.WarBBS.Size;

	ReinforcePacket.h.header.type=CMD_WAR_BBS;
	ReinforcePacket.u.NationWar.WarBBS.WarfieldNo=WarBBSReinforce->WarfieldNo;
	ReinforcePacket.u.NationWar.WarBBS.BBSType=WarBBSReinforce->BBSType;
	ReinforcePacket.u.NationWar.WarBBS.LanNo=WarBBSReinforce->LanNo;
	ReinforcePacket.u.NationWar.WarBBS.ArgType=WarBBSReinforce->ArgType;
	ReinforcePacket.u.NationWar.WarBBS.Size=WarBBSReinforce->Size;
	memcpy(ReinforcePacket.u.NationWar.WarBBS.Arg,WarBBSReinforce->Arg,WarBBSReinforce->Size);
	ReinforcePacket.h.header.size=sizeof(t_WarBBS)-MAX_STRING_PK+ReinforcePacket.u.NationWar.WarBBS.Size;

	ReinforceNation=NW_YL;

	if (DefenceNation==NW_BY) 
	{
		AttackNation=NW_ZY;
	}
	else 
	{
		AttackNation=NW_BY;
	}
	SendPacket2NationMaps(AttackNation,&AttackerPacket,DefenceNation,&DefencerPacket,ReinforceNation,&ReinforcePacket);
}

// Send War BBS to Clients Divided Nation
void SendWarBBS2NationClients(const int Nation,t_WarBBS* WarBBS)
{
	t_packet packet;

	packet.h.header.type=CMD_WAR_BBS;
	packet.u.NationWar.WarBBS.WarfieldNo=WarBBS->WarfieldNo;
	packet.u.NationWar.WarBBS.BBSType=WarBBS->BBSType;
	packet.u.NationWar.WarBBS.LanNo=WarBBS->LanNo;
	packet.u.NationWar.WarBBS.ArgType=WarBBS->ArgType;
	packet.u.NationWar.WarBBS.Size=WarBBS->Size;
	memcpy(packet.u.NationWar.WarBBS.Arg,WarBBS->Arg,WarBBS->Size);
	packet.h.header.size=sizeof(t_WarBBS)-MAX_STRING_PK+packet.u.NationWar.WarBBS.Size;
	SendPacket2NationClients(Nation,&packet);
}

// Send Several War BBS to Clients
void SendWarBBS2NationClients(const int DefenceNation,t_WarBBS* WarBBSAttack,t_WarBBS* WarBBSDefence)
{
	t_packet AttackerPacket,DefencerPacket;

	int AttackNation;

	AttackerPacket.h.header.type=CMD_WAR_BBS;
	AttackerPacket.u.NationWar.WarBBS.WarfieldNo=WarBBSAttack->WarfieldNo;
	AttackerPacket.u.NationWar.WarBBS.BBSType=WarBBSAttack->BBSType;
	AttackerPacket.u.NationWar.WarBBS.LanNo=WarBBSAttack->LanNo;
	AttackerPacket.u.NationWar.WarBBS.ArgType=WarBBSAttack->ArgType;
	AttackerPacket.u.NationWar.WarBBS.Size=WarBBSAttack->Size;
	memcpy(AttackerPacket.u.NationWar.WarBBS.Arg,WarBBSAttack->Arg,WarBBSAttack->Size);
	AttackerPacket.h.header.size=sizeof(t_WarBBS)-MAX_STRING_PK+AttackerPacket.u.NationWar.WarBBS.Size;

	DefencerPacket.h.header.type=CMD_WAR_BBS;
	DefencerPacket.u.NationWar.WarBBS.WarfieldNo=WarBBSDefence->WarfieldNo;
	DefencerPacket.u.NationWar.WarBBS.BBSType=WarBBSDefence->BBSType;
	DefencerPacket.u.NationWar.WarBBS.LanNo=WarBBSDefence->LanNo;
	DefencerPacket.u.NationWar.WarBBS.ArgType=WarBBSDefence->ArgType;
	DefencerPacket.u.NationWar.WarBBS.Size=WarBBSDefence->Size;
	memcpy(DefencerPacket.u.NationWar.WarBBS.Arg,WarBBSDefence->Arg,WarBBSDefence->Size);
	DefencerPacket.h.header.size=sizeof(t_WarBBS)-MAX_STRING_PK+DefencerPacket.u.NationWar.WarBBS.Size;

	if (DefenceNation==NW_BY) 
	{
		AttackNation=NW_ZY;
	}
	else 
	{
		AttackNation=NW_BY;
	}

	SendPacket2NationClients(AttackNation,&AttackerPacket,DefenceNation,&DefencerPacket);
}
// Send War BBS to Clients 
void SendWarBBS2Clients(t_WarBBS* WarBBS)
{
	t_packet packet;

	packet.h.header.type=CMD_WAR_BBS;
	packet.u.NationWar.WarBBS.WarfieldNo=WarBBS->WarfieldNo;
	packet.u.NationWar.WarBBS.BBSType=WarBBS->BBSType;
	packet.u.NationWar.WarBBS.LanNo=WarBBS->LanNo;
	packet.u.NationWar.WarBBS.ArgType=WarBBS->ArgType;
	packet.u.NationWar.WarBBS.Size=WarBBS->Size;
	memcpy(packet.u.NationWar.WarBBS.Arg,WarBBS->Arg,WarBBS->Size);
	packet.h.header.size=sizeof(t_WarBBS)-MAX_STRING_PK+packet.u.NationWar.WarBBS.Size;
	g_pUserManager->SendPacket(&packet); // CSD-CN-031213
}
// Where : Call From CheckHandleByNationWar
// Usage : Packet Process

void SendCMD_REQUEST_DELIVERY(const WORD Port,t_packet *p, t_connection c[], const int cn)
{
	t_packet packet;

	packet.h.header.type=CMD_REQUEST_DELIVERY;
	packet.u.NationWar.Delivery_R.Port=g_wMapServerPort;
	packet.u.NationWar.Delivery_R.UserID=cn;
	packet.u.NationWar.Delivery_R.Size=sizeof(t_header)+p->h.header.size;
	memcpy(packet.u.NationWar.Delivery_R.Data,(char*)p,packet.u.NationWar.Delivery_R.Size);
	packet.h.header.size=sizeof(t_Delivery_R)-MAX_STRING_PK+packet.u.NationWar.Delivery_R.Size;  //100篮 滚欺狼 荐捞促. MAX_STRING_PK (NetWork4.h)//020903 lsw
	g_pServerTable->SendRajaPacketToOtherMapServer(Port, (char *)&packet, packet.h.header.size+sizeof(t_header) );
}

void SendCMD_ANSWER_DELIVERY(const int UserID,const WORD MapServerPort,t_packet* p)
{
	t_packet DeliveryPacket;

	DeliveryPacket.h.header.type=CMD_ANSWER_DELIVERY;
	DeliveryPacket.u.NationWar.Delivery_A.UserID=UserID;
	DeliveryPacket.u.NationWar.Delivery_A.Size=sizeof(t_header)+p->h.header.size;
	memcpy(DeliveryPacket.u.NationWar.Delivery_A.Data,(char*)p,DeliveryPacket.u.NationWar.Delivery_A.Size);
	DeliveryPacket.h.header.size=sizeof(t_Delivery_A)-100+DeliveryPacket.u.NationWar.Delivery_A.Size;
	g_pServerTable->SendRajaPacketToOtherMapServer(MapServerPort, (char *)&DeliveryPacket, DeliveryPacket.h.header.size+sizeof(t_header) );
}

void SendCMD_REQUEST_CHECK_WARNO(const int cn)			// MenuServer.cpp SendJoinGameWho() Call	// 011028 LTS
{
	// 贸澜 肺变沁促.
	LPCHARLIST ch = ::CheckServerId(cn);
	if(!ch){return;}
	t_packet packet;
	if (isNationManageServer())
	{
		DWORD tempCount=g_pNation->GetWarCount();								// LTS NEW_NATION_WAR

		if (tempCount!=ch->NWCharacter.WarNo)		// 傈里锅龋啊 撇府促搁 
		{
			memset(&ch->NWCharacter,0,sizeof(NW_Character));			// 某腐磐狼 NWCHaracter甫 檬扁拳 秦扼.
			ch->NWCharacter.WarNo=tempCount;						// LTS NEW_NATION_WAR
			packet.h.header.type=CMD_CLEAR_WAR_CHARACTER_DATA;						// 努扼府攫飘档 檬扁拳 茄促.
			packet.u.NationWar.CommonDataC.Data=tempCount;							// LTS NEW_NATION_WAR
			packet.h.header.size=sizeof(t_CommonDataC);
			QueuePacket(connections,cn,&packet,1);
		}
		else // 傈里 锅龋啊 鞍促搁 // 辟单 乞拳扁埃捞搁 // 何措付农甫 瘤快档废 茄促.
		{
			if ((g_pWarfieldStatus[0].Status<2)&&
				(g_pWarfieldStatus[1].Status<2)&&
				(g_pWarfieldStatus[2].Status<2))
			{
				memset(&ch->NWCharacter,0,sizeof(DWORD));			// 某腐磐狼 NWCHaracter甫 檬扁拳 秦扼.
				ch->NWCharacter.WarNo=tempCount;						// LTS NEW_NATION_WAR
				packet.h.header.type=CMD_CLEAR_WAR_CHARACTER_DATA;						// 努扼府攫飘档 檬扁拳 茄促.
				packet.u.NationWar.CommonDataC.Data=tempCount;							// LTS NEW_NATION_WAR
				packet.h.header.size=sizeof(t_CommonDataC);
				QueuePacket(connections,cn,&packet,1);
			}
		}
	}
	else
	{
		packet.h.header.type=CMD_REQUEST_CHECK_WARNO;								// 傈里锅龋甫 包府辑滚俊霸 夸备窍绊 
		packet.h.header.size=sizeof(t_RequestCheckWarNo);

		packet.u.NationWar.RequestCheckWarNo.Port=g_wMapServerPort;					// RecvCMD_ANSWER_CHECK_WARNO俊辑 贸府茄促.
		packet.u.NationWar.RequestCheckWarNo.ServerID=cn;
		SendPacket2NWManager(&packet);
	}
}

void SendCMD_SQUAD_LODING_POINT(const int WarfieldNo)			// 包府辑滚俊辑 傈里辑滚肺 傈里矫累窍扼绊 且锭 焊郴绰 菩哦 
{
	t_packet packet;
	if (!isNationManageServer()) return;

	int WFieldNo=WarfieldNo-BASE_WARFIELD_PORT;
	packet.h.header.type=CMD_SQUAD_LOADING_POINT;		// NW_MAN->NW_WAR
	packet.u.NationWar.SquadLoadingPoint.SquadLoadingPoint[NW_ATTACKER][0]=g_pNation->GetSquadLoadingPoint(WFieldNo,NW_ATTACKER,0);
	packet.u.NationWar.SquadLoadingPoint.SquadLoadingPoint[NW_ATTACKER][1]=g_pNation->GetSquadLoadingPoint(WFieldNo,NW_ATTACKER,1);
	packet.u.NationWar.SquadLoadingPoint.SquadLoadingPoint[NW_ATTACKER][2]=g_pNation->GetSquadLoadingPoint(WFieldNo,NW_ATTACKER,2);
	packet.u.NationWar.SquadLoadingPoint.SquadLoadingPoint[NW_ATTACKER][3]=g_pNation->GetSquadLoadingPoint(WFieldNo,NW_ATTACKER,3);
	packet.u.NationWar.SquadLoadingPoint.SquadLoadingPoint[NW_ATTACKER][4]=g_pNation->GetSquadLoadingPoint(WFieldNo,NW_ATTACKER,4);
	packet.u.NationWar.SquadLoadingPoint.SquadLoadingPoint[NW_DEFENCER][0]=g_pNation->GetSquadLoadingPoint(WFieldNo,NW_DEFENCER,0);
	packet.u.NationWar.SquadLoadingPoint.SquadLoadingPoint[NW_DEFENCER][1]=g_pNation->GetSquadLoadingPoint(WFieldNo,NW_DEFENCER,1);
	packet.u.NationWar.SquadLoadingPoint.SquadLoadingPoint[NW_DEFENCER][2]=g_pNation->GetSquadLoadingPoint(WFieldNo,NW_DEFENCER,2);
	packet.u.NationWar.SquadLoadingPoint.SquadLoadingPoint[NW_DEFENCER][3]=g_pNation->GetSquadLoadingPoint(WFieldNo,NW_DEFENCER,3);
	packet.u.NationWar.SquadLoadingPoint.SquadLoadingPoint[NW_DEFENCER][4]=g_pNation->GetSquadLoadingPoint(WFieldNo,NW_DEFENCER,4);
	packet.u.NationWar.SquadLoadingPoint.SquadLoadingPoint[NW_REINFORCE][0]=g_pNation->GetSquadLoadingPoint(WFieldNo,NW_REINFORCE,0);
	packet.u.NationWar.SquadLoadingPoint.SquadLoadingPoint[NW_REINFORCE][1]=g_pNation->GetSquadLoadingPoint(WFieldNo,NW_REINFORCE,1);
	packet.u.NationWar.SquadLoadingPoint.SquadLoadingPoint[NW_REINFORCE][2]=g_pNation->GetSquadLoadingPoint(WFieldNo,NW_REINFORCE,2);
	packet.u.NationWar.SquadLoadingPoint.SquadLoadingPoint[NW_REINFORCE][3]=g_pNation->GetSquadLoadingPoint(WFieldNo,NW_REINFORCE,3);
	packet.u.NationWar.SquadLoadingPoint.SquadLoadingPoint[NW_REINFORCE][4]=g_pNation->GetSquadLoadingPoint(WFieldNo,NW_REINFORCE,4);
	packet.h.header.size=sizeof(t_SquadLoadingPoint);
	g_pServerTable->SendRajaPacketToOtherMapServer((WORD)WarfieldNo,(char *)&packet, packet.h.header.size+sizeof(t_header) );
}

void SendCMD_SQUAD_RARE(const WORD WarfieldNo)
{
	t_packet packet;
	if (!isNationManageServer()) return;

	packet.h.header.type=CMD_SQUAD_RARE;

	const int WFieldNo=WarfieldNo-BASE_WARFIELD_PORT;

	for (int i=0;i<NW_SQUAD_KIND;i++)		// LOOP UNROLL捞 加档啊 狐福唱 焊扁 塞甸促. 
	{
		for (int j=0;j<NW_SQUAD_MAX;j++)
		{
			for (int k=0;k<NW_SQUAD_RARE_MAX;k++)
			{
				packet.u.NationWar.NWSquadRare.SquadRare[i][j][k]=g_pNation->GetSquadRareSok(WFieldNo,i,j,k);
			}
		}
	}
	//011014 lsw >
	packet.h.header.size=sizeof(t_NWSquadRare);
	//011014 lsw <
//	g_pServerTable->SendRajaPacketToOtherMapServer((WORD)WarfieldNo,(char *)&packet, packet.h.header.size+sizeof(t_header) );
	g_pServerTable->SendRajaPacketToOtherMapServer(WarfieldNo,(char *)&packet, packet.h.header.size+sizeof(t_header) );
}

void RecvCMD_REQUEST_CHECK_WARNO(t_packet* p,t_connection c[],const int cn)				// 坷流 包府辑滚父..
{
	t_packet packet;

	if (!isNationManageServer()) return;

	packet.h.header.type=CMD_ANSWER_CHECK_WARNO;
	DWORD tempWarNo=g_pNation->GetWarCount();											// LTS NEW_NATION_WAR
	packet.u.NationWar.AnswerCheckWarNo.WarNo=(BYTE)tempWarNo;								// LTS NEW_NATION_WAR	
	packet.u.NationWar.AnswerCheckWarNo.ServerID=p->u.NationWar.RequestCheckWarNo.ServerID;
	packet.h.header.size=sizeof(t_AnswerCheckWarNo);	

	SendPacket2NWMap(p->u.NationWar.RequestCheckWarNo.Port,&packet);
}

void RecvCMD_ANSWER_CHECK_WARNO(t_packet* p,t_connection c[],const int cn)			// 011028 LTS
{// 包府辑滚俊辑 傈里锅龋啊 吭促.
	const int iUserCn	= p->u.NationWar.AnswerCheckWarNo.ServerID;
	const int iWarNo	= p->u.NationWar.AnswerCheckWarNo.WarNo;

	LPCHARLIST ch = ::CheckServerId(iUserCn);
	if(!ch)
	{
		::MyLog(0,"RecvCMD_ANSWER_CHECK_WARNO() Error WarNo[%d] CN[%d] ",iWarNo,iUserCn);
		return;

⌨️ 快捷键说明

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