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

📄 nationsys.cpp

📁 网络游戏龙族 完整的登陆器 C++ 源代码
💻 CPP
📖 第 1 页 / 共 5 页
字号:
		//011008 lsw <
		Hero->NWCharacter.DoCommanderVote=true;
	}
}

void SendCMD_REQUEST_CHECK_WARFIELD_POSSESSION(int Type)
{
	t_packet packet;

	packet.h.header.type=CMD_REQUEST_CHECK_WARFIELD_POSSESSION;
	packet.u.NationWar.CommonDataC.Data=Type;
	packet.h.header.size=sizeof(t_CommonDataC);
	QueuePacket( &packet, 1 );
}

void SendCMD_REQUEST_WARFIELD_POSSESSION()
{
	t_packet packet;

	packet.h.header.type=CMD_REQUEST_WARFIELD_POSSESSION;
	packet.h.header.size=0;
	QueuePacket( &packet, 1 );
}

void SendCMD_FREELANCER_SQUAD_JOIN(int Nation)
{
	t_packet packet;

	Hero->NWCharacter.YL_JoinNation=Nation;		// 011020 LTS
	packet.h.header.type=CMD_FREELANCER_SQUAD_JOIN;
	packet.u.NationWar.CommonDataC.Data=Nation;
	packet.h.header.size=sizeof(t_CommonDataC);
	QueuePacket(&packet,1);

	PlayListAutoSounds(257,0,0,0);		// 010927 LTS

	switch (Nation)						// 010927 LTS
	{
	case NW_ZY : 
		CallOkCancelMessageBox(TRUE, 0,0, lan->OutputMessage(0,240), FALSE); //"捞锅 傈里俊辑 [磊捞戚] 侩捍栏肺 家加灯嚼聪促."
//		Hero->NWCharacter.YL_JoinNation=NW_ZY;	// 011020 LTS
		break;
	case NW_BY : 
		CallOkCancelMessageBox(TRUE, 0,0,lan->OutputMessage(0,241), FALSE); //"捞锅 傈里俊辑 [官捞辑胶] 侩捍栏肺 家加灯嚼聪促."
//		Hero->NWCharacter.YL_JoinNation=NW_BY;	// 011020 LTS
		break;
	}
}

void SendCMD_REQUEST_WARFIELD_WAR_DATA(int WarfieldNo)
{
	t_packet packet;

	packet.h.header.type=CMD_REQUEST_WARFIELD_WAR_DATA;
	packet.u.NationWar.CommonDataC.Data=WarfieldNo;
	packet.h.header.size=sizeof(t_CommonDataC);
	QueuePacket(&packet,1);
}

void SendCMD_REQUEST_NEW_WARFIELD_DATA(int WarfieldNo)
{
	t_packet packet;

	packet.h.header.type=CMD_REQUEST_NEW_WARFIELD_DATA;
	packet.u.NationWar.CommonDataC.Data=WarfieldNo;
	packet.h.header.size=sizeof(t_CommonDataC);

	QueuePacket(&packet,1);
}

void SendJoinNewWarfield(int Nation)
{
	if (Hero->NWCharacter.YL_JoinNation==NW_BY||Hero->NWCharacter.YL_JoinNation==NW_ZY)
	{
		CallOkCancelMessageBox(TRUE, 0,0,lan->OutputMessage(0,293),FALSE);   // "捞固 瘤盔焙 祈己登菌嚼聪促."
		return;
	}

	t_packet packet;
	packet.h.header.type=CMD_WAR_YL_JOIN;
	packet.u.NationWar.CommonDataC.Data=Nation;
	packet.h.header.size=sizeof(t_CommonDataC);

	QueuePacket(&packet,1);
}

void RecvCMD_ANSWER_WARFIELD_STATUS(t_packet* p)			// Answer from Nation Manage Server
{
	int  WarfieldNo=-1;

	//AddCurrentStatusMessage( 255,255,0, "CMD_ANS_WARFIELD_STATUS %d,%d,%d",p->u.NationWar.WarfieldStatus.Status[0],p->u.NationWar.WarfieldStatus.Status[1],p->u.NationWar.WarfieldStatus.Status[2] );
	g_pNation->SetStatus(0,p->u.NationWar.WarfieldStatus.Status[0]);
	g_pNation->SetStatus(1,p->u.NationWar.WarfieldStatus.Status[1]);
	g_pNation->SetStatus(2,p->u.NationWar.WarfieldStatus.Status[2]);

	SendCMD_REQUEST_WARFIELD_INFO();		//傈里磐狼 傍拜 惫啊客 规绢 惫啊甫 沥茄促. // 叼奇辑绰 舅荐乐瘤父.. 傍拜惫啊绰 急傈器绊 饶俊 舅荐 乐促. (老胶,官捞辑胶,磊捞戚 傈里急器甫 且 荐 乐促搁)

	switch (p->u.NationWar.WarfieldStatus.PacketStatus)
	{
	case BUTTON_NATION_JOIN :  //傈里曼咯包访 
		WarfieldNo=CheckNationStatus(NW_VOTE); //捧钎窍绰 惫啊犬牢  //眠饶 惫利犬牢 // 010715 LTS TEMP
        if (WarfieldNo>=0)
		{
			if (Hero->name_status.nation!=g_DefenceNation)		// 010927 LTS
			{
				if (Hero->name_status.nation!=NW_YL)
				{
					char msg[80];
					ReturnWarfieldName(WarfieldNo,msg);
					AddCurrentStatusMessage( 255,255,0,lan->OutputMessage(0,242),msg); //"[ %s ] 傈里 急器俊 措秦辑 惫刮甸狼 捧钎甫 罐绊 乐嚼聪促."
					SendCMD_REQUEST_VOTE_DATA(WarfieldNo);
				}
				else CallOkCancelMessageBox(TRUE, 0,0,lan->OutputMessage(0,243), FALSE); //"老胶 惫刮篮 傈里 曼咯 捧钎甫 且 荐 绝嚼聪促."
			}
			else CallOkCancelMessageBox(TRUE, 0,0,lan->OutputMessage(0,244), FALSE); //"规绢惫啊狼 惫刮篮 傈里 曼咯捧钎甫 且 荐 绝嚼聪促."
		}
		else CallOkCancelMessageBox(TRUE, 0,0,lan->OutputMessage(0,245), FALSE); //"傈里 曼咯 捧钎甫 罐绊 乐绰 傈里磐啊 绝嚼聪促."
		break;
	case BUTTON_NATION_SQUAD : //何措牢磐其捞胶 坷锹		// 010927 LTS
		if (Hero->name_status.nation==NW_YL) 
		{
			CallOkCancelMessageBox(TRUE, 0,0, 
				lan->OutputMessage(0,246), FALSE); // "老胶 惫刮篮 [侩捍祈己] 皋春甫 急琶秦辑 侩捍栏肺 傈里俊 曼咯秦具 钦聪促."
			return;
		}
		WarfieldNo=CheckNationStatus(NW_PREPARE);
		if (WarfieldNo>=0)
		{
			char msg[80];
			ReturnWarfieldName(WarfieldNo,msg);
			AddCurrentStatusMessage( 255,255,0,lan->OutputMessage(0,247),msg); //"[ %s ]狼 傈里俊 曼咯 且 何措甫 葛笼窍绊 乐嚼聪促."
			SendCMD_REQUEST_SQUAD_INFO(g_Squad);			// 牢磐其捞胶狼 拳混钎俊 狼秦 牢磊啊 搬沥等促.. 盖贸澜篮 0捞促.	
		}
		else 
		{
			WarfieldNo=CheckNationStatus(NW_WAR);
			if (WarfieldNo>=0)
			{
				SendCMD_REQUEST_SQUAD_INFO(g_Squad); // 喘矾瘤瘤 臼绰促.		 傍拜肺 瘤沥, 何措祈己, 荤飞包 殿废 
			}
			else CallOkCancelMessageBox(TRUE, 0,0,lan->OutputMessage(0,248), FALSE); //"[傈里霖厚吝], [傈里吝] 扁埃俊父 荤侩且 荐 乐嚼聪促."
		}
		break;
	case	BUTTON_NATION_CHECK_COMMANDER :
		if (g_bWarBegin) break;			// 010927 LTS		// 傈里吝捞搁 喘府瘤 臼绰促.
		WarfieldNo=CheckNationStatus(NW_PREPARE);
		if (WarfieldNo>=0)
		{
			SendCMD_REQUEST_COMMANDER_VOTE_DATA(g_Commander);  // 牢磐其捞胶狼 拳混钎俊 狼秦 牢磊啊 搬沥等促.. 盖贸澜篮 0捞促.
		}
		else CallOkCancelMessageBox(TRUE, 0,0,lan->OutputMessage(0,249), FALSE); //"[傈里霖厚吝] 扁埃俊父 荤侩且 荐 乐嚼聪促."
		
		break;
	case	BUTTON_COMMANDER_REG :
		WarfieldNo=CheckNationStatus(NW_PREPARE);
		if (WarfieldNo>=0)
		{
			SendCMD_COMMANDER_REG_DATA(g_Commander);  //烙矫 // 牢磐其捞胶狼 拳混钎俊 狼秦 牢磊啊 搬沥等促.. 盖贸澜篮 0捞促.
		}
		else CallOkCancelMessageBox(TRUE, 0,0,lan->OutputMessage(0,250), FALSE); //"[荤飞包 捧钎] 扁埃捞 酒凑聪促."

		break;
	case	BUTTON_COMMANDER_VOTE :
		WarfieldNo=CheckNationStatus(NW_PREPARE);
		if (WarfieldNo>=0)
		{
			if (g_CommanderCandidaterLevel==0) 
				CallOkCancelMessageBox(TRUE, 0,0,lan->OutputMessage(0,251), FALSE); //"[荤飞包 饶焊]啊 殿废 登瘤 臼疽嚼聪促."
			else SendCMD_COMMANDER_VOTING_DATA(g_Commander);				// 牢磐其捞胶狼 拳混钎俊 狼秦 牢磊啊 搬沥等促.. 盖贸澜篮 0捞促.
		}
		else CallOkCancelMessageBox(TRUE, 0,0,lan->OutputMessage(0,252), FALSE); //"捧钎啊 救 灯嚼聪促."
		break;

	case	BUTTON_SQUAD_JOIN :
		if (g_bWarBegin) break;			// 010927 LTS		// 傈里吝捞搁 喘府瘤 臼绰促.
		WarfieldNo=CheckNationStatus(NW_PREPARE);
		if (WarfieldNo>=0)
		{
			SendCMD_CHANGE_SQUAD(g_Squad);				// 牢磐其捞胶狼 拳混钎俊 狼秦 牢磊啊 搬沥等促.. 盖贸澜篮 0捞促.
		}
		else CallOkCancelMessageBox(TRUE, 0,0,lan->OutputMessage(0,253), FALSE); //"何措俊 殿废捞 救 灯嚼聪促."
		break;
	case	BUTTON_SQUAD_LODINGPOINT :
		if (g_bWarBegin) break;			// 010927 LTS		// 傈里吝捞搁 喘府瘤 臼绰促.
		WarfieldNo=CheckNationStatus(NW_PREPARE);
		if (WarfieldNo>=0)
		{
			if (Hero->name_status.nation==g_DefenceNation) 
				CallOkCancelMessageBox(TRUE, 0,0,lan->OutputMessage(0,254), FALSE); //"何措狼 傍拜芭痢捞 沥秦瘤瘤 臼疽嚼聪促."
			else SendCMD_SET_SQUAD_LODING_POINT(g_Squad,1);	// 牢磐其捞胶狼 拳混钎俊 狼秦 牢磊啊 搬沥等促.. 盖贸澜篮 0捞促.
		}
		else CallOkCancelMessageBox(TRUE, 0,0, lan->OutputMessage(0,255), FALSE); //"老胶 惫刮父 荤侩且 荐 乐嚼聪促."
		break;
	case	BUTTON_JOIN_FREELANCER :
		if (Hero->name_status.nation==NW_YL)  // 010927 LTS
		{
			WarfieldNo=CheckNationStatus(NW_PREPARE);
			if (WarfieldNo>=0)	CallSmallMenu(MN_NATION_GUEST,MN_NATION_BATTLE_BBS);
			else 
			{
				WarfieldNo=CheckNationStatus(NW_WAR);
				if (WarfieldNo>=3)
				{
					CallSmallMenu(MN_NATION_GUEST,MN_NATION_BATTLE_BBS);
				}
				else
					CallOkCancelMessageBox(TRUE, 0,0, lan->OutputMessage(0,249), FALSE); //"[傈里霖厚吝] 扁埃俊父 荤侩且 荐 乐嚼聪促."
			}
		}
		else CallOkCancelMessageBox(TRUE, 0,0, lan->OutputMessage(0,255), FALSE); //"老胶 惫刮父 荤侩且 荐 乐嚼聪促."

		break;
	case	BUTTON_FREELANCER_SQUAD :
		WarfieldNo=CheckNationStatus(NW_PREPARE);
		if (WarfieldNo>=0)
		{
			//CallOkCancelMessageBox(TRUE, 0,0, "基敲甘俊辑绰 瘤盔登瘤 臼绰 扁瓷涝聪促.", FALSE);
			SendCMD_REQUEST_CHECK_WARFIELD_POSSESSION(1);  //老胶 何措 祈己
		} else CallOkCancelMessageBox(TRUE, 0,0, lan->OutputMessage(0,256), FALSE); //"侩捍何措甫 祈己且 荐 乐绰 惑炔捞 酒凑聪促."
		break;
	case	BUTTON_BY_JOIN :
		WarfieldNo=CheckNationStatus(NW_PREPARE);
		if (WarfieldNo>=0)
		{
			SendCMD_REQUEST_CHECK_WARFIELD_POSSESSION(4); // 官捞炼牢..		// 011020 LTS
			//if (Hero->NWCharacter.YL_JoinNation==0) SendCMD_FREELANCER_SQUAD_JOIN(NW_BY);  // define
			//else CallOkCancelMessageBox(TRUE, 0,0, lan->OutputMessage(0,257), FALSE); //"捞固 侩捍栏肺 瘤盔且 惫啊甫 急琶沁嚼聪促."
		} 
		else 
		{
			WarfieldNo=CheckNationStatus(NW_WAR);
			if (WarfieldNo>=3)
			{
				SendJoinNewWarfield(NW_BY);
				CallOkCancelMessageBox(TRUE, 0,0,lan->OutputMessage(0,294),FALSE);	// "官捞辑胶 瘤盔焙栏肺 祈己登菌嚼聪促."
			}
			else
				CallOkCancelMessageBox(TRUE, 0,0, lan->OutputMessage(0,249), FALSE); //"[傈里霖厚吝] 扁埃俊父 荤侩且 荐 乐嚼聪促."
		}
		break;
	case	BUTTON_ZY_JOIN :
		WarfieldNo=CheckNationStatus(NW_PREPARE);
		if (WarfieldNo>=0)
		{
			SendCMD_REQUEST_CHECK_WARFIELD_POSSESSION(5); // 磊捞炼牢..		// 011020 LTS
			//if (Hero->NWCharacter.YL_JoinNation==0) SendCMD_FREELANCER_SQUAD_JOIN(NW_BY);  // define
			//else CallOkCancelMessageBox(TRUE, 0,0, lan->OutputMessage(0,257), FALSE); //"捞固 侩捍栏肺 瘤盔且 惫啊甫 急琶沁嚼聪促."
		} 
		else 
		{
			WarfieldNo=CheckNationStatus(NW_WAR);
			if (WarfieldNo>=3)
			{
				SendJoinNewWarfield(NW_ZY);
				CallOkCancelMessageBox(TRUE, 0,0,lan->OutputMessage(0,295),FALSE);		//  "磊捞戚 瘤盔焙栏肺 祈己登菌嚼聪促."
			}
			else
				CallOkCancelMessageBox(TRUE, 0,0,lan->OutputMessage(0,249), FALSE); //"[傈里霖厚吝] 扁埃俊父 荤侩且 荐 乐嚼聪促."
		}
		break;
	case	BUTTON_NATION_STATUS :
		WarfieldNo=CheckNationStatus(NW_WAR);
		if (WarfieldNo>=0)
		{
			if (WarfieldNo>=3)
			{
				SendCMD_REQUEST_NEW_WARFIELD_DATA(WarfieldNo);
			}
			else
				SendCMD_REQUEST_WARFIELD_WAR_DATA(WarfieldNo);
		} 
		else 
		{
			SendCMD_LOCALWAR_STATUS();
			//CallOkCancelMessageBox(TRUE, 0,0, lan->OutputMessage(0,258), FALSE); //"[傈里吝] 扁埃俊父 荤侩且 荐 乐嚼聪促."
		}
		break;
	case BUTTON_NATION_NOTICE :
		SendCMD_REQUEST_CHECK_WARFIELD_POSSESSION(2);  //惫啊 傍瘤 

		break;
	case BUTTON_NATIONWAR_JOIN_VOTE :
		SendCMD_VOTING_DATA();
		break;
	}
}

//011008 lsw  >
void 	SendCMD_GET_LOADING_POINT(int type)
{
	SMenu[MN_NATION_INFO].nField[7].nWillDo=0;

	//咯扁 构 罐酒 棵芭 乐栏搁 罐酒 坷技夸 
	if(Hero->NWCharacter.isSquadLeader)
	{
		if(Hero->NWCharacter.SquadNo==g_SquadNum)
		{
			switch(CheckNationStatus(NW_PREPARE))
			{
			case 0: //魂吝
				/*
				[142.216]-2锅傍拜版肺
				[221.202]-1锅傍拜版肺
				[251.103]-3锅傍拜版肺
				*/
				SMenu[MN_NATION_INFO].nField[0].nImageNumber = 4;
				//1 锅 瘤沥
				SMenu[MN_NATION_INFO].nField[1].nType = FT_HIDE_SPECIAL_WILLDO_AUTO_PUT;
				SMenu[MN_NATION_INFO].nField[1].x = 18+221;
				SMenu[MN_NATION_INFO].nField[1].y = 27+202;
				
				//2 锅 瘤沥
				SMenu[MN_NATION_INFO].nField[2].nType = FT_HIDE_SPECIAL_WILLDO_AUTO_PUT;
				SMenu[MN_NATION_INFO].nField[2].x = 18+142;
				SMenu[MN_NATION_INFO].nField[2].y = 27+216;
				
				//3 锅 瘤沥
				SMenu[MN_NATION_INFO].nField[3].nType = FT_HIDE_SPECIAL_WILLDO_AUTO_PUT;
				SMenu[MN_NATION_INFO].nField[3].x = 18+251;
				SMenu[MN_NATION_INFO].nField[3].y = 27+103;
				
				SMenu[MN_NATION_INFO].nField[4].nType = 0;
				break;
			case 1: //乞盔
				/*
				[227.200]-1锅傍拜版肺
				[225.70]-3锅傍拜版肺
				[83.218]-2锅傍拜版肺
				*/
				SMenu[MN_NATION_INFO].nField[0].nImageNumber = 6;
				//1 锅 瘤沥
				SMenu[MN_NATION_INFO].nField[1].nType = FT_HIDE_SPECIAL_WILLDO_AUTO_PUT;
				SMenu[MN_NATION_INFO].nField[1].x = 18+227;
				SMenu[MN_NATION_INFO].nField[1].y = 27+200;
				
				//2 锅 瘤沥
				SMenu[MN_NATION_INFO].nField[2].nType = FT_HIDE_SPECIAL_WILLDO_AUTO_PUT;
				SMenu[MN_NATION_INFO].nField[2].x = 18+83 ;
				SMenu[MN_NATION_INFO].nField[2].y = 27+218;
				
				//3 锅 瘤沥
				SMenu[MN_NATION_INFO].nField[3].nType = FT_HIDE_SPECIAL_WILLDO_AUTO_PUT;
				SMenu[MN_NATION_INFO].nField[3].x = 18+225;
				SMenu[MN_NATION_INFO].nField[3].y = 27+70 ;

				SMenu[MN_NATION_INFO].nField[4].nType = 0;

				break;
			case 2: //级
				/*
				[29.67] - 4锅傍拜版肺
				[29.7] - 3锅傍

⌨️ 快捷键说明

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