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

📄 nationsys.cpp

📁 网络游戏龙族 完整的登陆器 C++ 源代码
💻 CPP
📖 第 1 页 / 共 5 页
字号:
			QueuePacket( &p, 1 );
		
			char msg[80],msg2[200];
			ReturnWarfieldName(WarfieldNo,msg);
			sprintf(msg2,lan->OutputMessage(0,222),msg); //"利惫狼 [ %s ] 肺 傈里俊 悼曼 狼荤甫 灌躯嚼聪促."
			CallOkCancelMessageBox(TRUE, 0,0, msg2, FALSE);
			Hero->NWCharacter.DoWarJoinVote=true;
		}
		else
		{
			CallOkCancelMessageBox(TRUE, 0,0,lan->OutputMessage(0,223), FALSE); //"规绢惫啊狼 惫刮篮 傈里曼咯捧钎甫 且 荐 绝嚼聪促."
		}
	}
}

void SendCMD_REQUEST_SQUAD_INFO(int SquadNo)				// Request Warfield Squad Information
{															// Open Turn of Squad Menu
	t_packet p;												// Interface Click -> CMD_REQUEST_WARFIELD_STATUS ->
	int WarfieldNo=CheckNationStatus(NW_PREPARE);						// CMD_ANSWER_WARFIELD_STATUS -> CMD_REQUEST_SQUAD_INFO ->
	if (WarfieldNo<0) WarfieldNo=CheckNationStatus(NW_WAR);		// 010927 LTS
	if (WarfieldNo>=3)
	{
		CallOkCancelMessageBox(TRUE, 0,0,lan->OutputMessage(0,292), FALSE);  //"何措沥焊甫 荤侩且荐 绝嚼聪促."
		return;
	}
															// CMD_ANSWER_SQUAD_INFO -> CallOkCancelMessageBox(TRUE()

	if (SquadNo<1)											// 何措 锅龋 0篮 何措 祈己捞 登瘤 臼篮 蜡历狼 葛烙捞促.
	{
		SquadNo=1;
		g_Squad=1;
	}
	if (SquadNo>4)
	{
		SquadNo=4;
		g_Squad=4;
	}
	if (WarfieldNo>=0)
	{
		p.h.header.type=CMD_REQUEST_SQUAD_INFO;
		p.u.NationWar.RequestSquadInfo.Nation=Hero->name_status.nation;		// 老胶牢版快... 锅龋啊 甸绢埃促.
		p.u.NationWar.RequestSquadInfo.WarfieldNo=WarfieldNo;
		p.u.NationWar.RequestSquadInfo.SquadNo=SquadNo;
		p.h.header.size=sizeof(t_RequestSquadInfo);
		QueuePacket( &p, 1 );
		//AddCurrentStatusMessage( 255,255,0, "何措祈己 单捞磐甫 夸没窍看嚼聪促. 何措锅龋:%d",g_Squad);
	}
}

void RecvCMD_ANSWER_SQUAD_INFO(t_packet* p)					// Squad Information Packet process
{
	//MN 何措 牢磐 其捞胶
	g_SquadLoadingPoint	=	p->u.NationWar.SquadInfo.LoadingPoint;
	g_SquadNum = p->u.NationWar.SquadInfo.SquadNo;

	NationSupportNationSquadLeader( p);//010910 lsw
}

void RecvCMD_ANSWER_SQUAD_INFO2(t_packet* p)
{
	NationSupportNationSquadLeader2( p);//010910 lsw
}

//荤飞包 捧钎单捞鸥 夸没
void SendCMD_REQUEST_COMMANDER_VOTE_DATA(int CandidaterNo)	// Request Commander Candidater Information, Parameter : Candidater No
{
	t_packet p;
	int WarfieldNo=CheckNationStatus(NW_PREPARE);

	if (CandidaterNo<0)								// 荤飞包 锅龋狼 眉农..
	{
		g_Commander=0;
		CandidaterNo=0;
	}
	if (CandidaterNo>5)
	{
		g_Commander=5;
		CandidaterNo=5;
	}

	if (WarfieldNo>=0)
	{
		p.h.header.type=CMD_REQUEST_COMMANDER_VOTE_DATA;
		p.u.NationWar.RequestCommanderVoteData.Nation=Hero->name_status.nation;
		p.u.NationWar.RequestCommanderVoteData.WarfieldNo=WarfieldNo;
		p.u.NationWar.RequestCommanderVoteData.CandidaterNo=CandidaterNo;
		p.h.header.size=sizeof(t_RequestCommanderVoteData);
		QueuePacket( &p, 1 );
		//AddCurrentStatusMessage( 255,255,0, "荤飞包 捧钎磊丰甫 夸没窍看嚼聪促. 惫啊锅龋:%d, 荤飞包 捧钎磊丰:%d",WarfieldNo,CandidaterNo);
	}
}
void RecvCMD_ANSWER_COMMANDER_VOTE_DATA(t_packet* p)		// Answer Commander Candidater Information
{
	//捞芭档 官层具 凳 父甸绢 初疽澜
//	AddCurrentStatusMessage( 255,255,0, "荤飞包 饶焊 %d狼 单捞磐涝聪促.",p->u.NationWar.CommanderVoteData.VoteNo);
//	AddCurrentStatusMessage( 255,255,0, "饶焊ID : %d, 饶焊捞抚 : %s",p->u.NationWar.CommanderVoteData.CandidaterID,p->u.NationWar.CommanderVoteData.Name);
//	AddCurrentStatusMessage( 255,255,0, "饭骇 : %d, 疙己摹 : %d, 瘤瘤钎 :%d",p->u.NationWar.CommanderVoteData.Level,p->u.NationWar.CommanderVoteData.Fame,p->u.NationWar.CommanderVoteData.VoteCount);
	g_CommanderCandidaterLevel = p->u.NationWar.CommanderVoteData.Level;
	
	if(p->u.NationWar.CommanderVoteData.CandidaterID != 0)
	{
	sprintf(SMenu[MN_NATION_VOTE].nField[5].temp,"%d",SHideNomal[HN_MAKECHARACTER_CLASS_TEXT][p->u.NationWar.CommanderVoteData.VoteCount]);
	sprintf(SMenu[MN_NATION_VOTE].nField[6].temp,"%s",p->u.NationWar.CommanderVoteData.Name);
  const __int8 nBefore = p->u.NationWar.CommanderVoteData.Class;	// 努贰胶		// 011020 LTS
  const __int8 nAfter = p->u.NationWar.CommanderVoteData.nDual;	// 掂倔..		// 011020 LTS
	const __int8 nStep = p->u.NationWar.CommanderVoteData.nStep;	// 胶跑			// 011020 LTS
  const string strName = g_mgrDual.GetClassName(nBefore, nAfter, nStep, g_CommanderCandidaterLevel);
	sprintf(SMenu[MN_NATION_VOTE].nField[7].temp,"%s", strName.c_str() );
	sprintf(SMenu[MN_NATION_VOTE].nField[8].temp,"%d",p->u.NationWar.CommanderVoteData.Fame);
	sprintf(SMenu[MN_NATION_VOTE].nField[9].temp,"%d",p->u.NationWar.CommanderVoteData.LadderScore);
	SMenu[MN_NATION_VOTE].nField[10].nWillDo = 1;//倔奔 捞固瘤 难扁
	SMenu[MN_NATION_VOTE].nField[10].nImageType = p->u.NationWar.CommanderVoteData.Gender;
	SMenu[MN_NATION_VOTE].nField[10].nRectImage = p->u.NationWar.CommanderVoteData.Face;
	}
	else
	{
	SMenu[MN_NATION_VOTE].nField[10].nWillDo = 0;
	sprintf(SMenu[MN_NATION_VOTE].nField[5].temp,lan->OutputMessage(0,224)); //"殿废措扁"
	sprintf(SMenu[MN_NATION_VOTE].nField[6].temp,lan->OutputMessage(0,224)); //"殿废措扁"
	sprintf(SMenu[MN_NATION_VOTE].nField[7].temp,lan->OutputMessage(0,224)); //"殿废措扁"
	sprintf(SMenu[MN_NATION_VOTE].nField[8].temp,lan->OutputMessage(0,224)); //"殿废措扁"
	sprintf(SMenu[MN_NATION_VOTE].nField[9].temp,lan->OutputMessage(0,224)); //"殿废措扁"
	}
}

void RecvCMD_ANSWER_COMMANDER_VOTE_DATA2(t_packet* p)
{
	char msg[200];
	memset(msg,0,200);
	
	for ( int i = 0 ; i < 6 ; i++)//011001 lsw
	{
		sprintf(msg,"%s\n   [%d]",p->u.NationWar.CommanderVoteData2.CandidaterName[i],p->u.NationWar.CommanderVoteData2.VoteCount[i]);
		strcpy(SMenu[MN_NATION_VOTE].nField[11+i].temp, msg);
	}
	
	//011005 lsw >
	CallSmallMenu(MN_NATION_VOTE,MN_NATION_BATTLE_BBS);	// Commander Candidater Interface Open
	//011005 lsw <
}


bool CheckJoinLevel(int SquadNo)	// 011015 LTS
{
	switch (SquadNo)
	{
	case 1 :
		if (Hero->lv>=NW_SQUAD1_LEVEL_MIN&&Hero->lv<=NW_SQUAD1_LEVEL_MAX) return true;
		return false;
	case 2 :
		if (Hero->lv>=NW_SQUAD2_LEVEL_MIN&&Hero->lv<=NW_SQUAD2_LEVEL_MAX) return true;
		return false;
	case 3 :
		if (Hero->lv>=NW_SQUAD3_LEVEL_MIN&&Hero->lv<=NW_SQUAD3_LEVEL_MAX) return true;
		return false;
	case 4 :
		if (Hero->lv>=NW_SQUAD4_LEVEL_MIN&&Hero->lv<=NW_SQUAD4_LEVEL_MAX) return true;
		return false;
	}
	return true;

}
//何措甫 函版 茄促.. 
//何措锅龋绰 傈里锅龋客 窃膊 DB俊 历厘登绢具 茄促.
//捞固 何措啊 乐绰版快... //傈里锅龋客 厚背甫 茄促. // 浆婆 何措厘捞搁.. 救等促..
//捞固 何措啊 乐绰 版快  
//捞傈 何措狼 锅龋  //某腐磐 府胶飘俊 眠啊登绢具 窍绰 荤亲 
//何措俊 货肺 炼牢窍绰 版快 
//捞傈 何措狼 锅龋  //某腐磐 府胶飘俊 眠啊登绢具 窍绰 荤亲 
void SendCMD_CHANGE_SQUAD(int SquadNo)						// Squad Registration Change 
{
	t_packet p;
	int WarfieldNo=CheckNationStatus(NW_PREPARE);    

	if (Hero->NWCharacter.isSquadLeader) 
	{
		CallOkCancelMessageBox(TRUE, 0,0,lan->OutputMessage(0,225), FALSE); //"何措厘篮 何措甫 官操角 荐 绝嚼聪促."
		return;
	}

	if (Hero->NWCharacter.SquadNo) //巩力 檬扁蔼栏肺 0捞酒囱 蔼捞 乐绢具 茄促. // If Hero Have Old Squad No
	{														// Send CMD_CHANGE_SQUAD Packet to Manage Server
		CallOkCancelMessageBox(TRUE, 0,0,lan->OutputMessage(0,226), FALSE); //"促弗 何措肺 殿废窍角 荐 绝嚼聪促."
	}
	else													// Hero Does Not Have Old Squad No
	{														// Send CMD_JOIN_SQUAD Packet to Manage Server
		if (CheckJoinLevel(SquadNo))						// 011015 LTS
		{
			p.h.header.type=CMD_JOIN_SQUAD;						// Answer was CMD_JOIN_SQUAD or CMD_YOU_ARE_SQUAD_LEADER
			p.u.NationWar.JoinSquad.Nation=Hero->name_status.nation;
			p.u.NationWar.JoinSquad.WarfieldNo=WarfieldNo;    
			p.u.NationWar.JoinSquad.SquadNo=g_Squad; //官诧促.. 牢磐其捞胶 蔼...
			p.h.header.size=sizeof(t_JoinSquad);
			QueuePacket( &p, 1 );

			char msg[80],msg2[200];
			ReturnWarfieldName(p.u.NationWar.JoinSquad.WarfieldNo,msg);
			sprintf(msg2,lan->OutputMessage(0,227),msg, p.u.NationWar.JoinSquad.SquadNo); //"[ %s ]狼 [力 %d 何措] 何措盔栏肺 殿废灯嚼聪促."
			PlayListAutoSounds(257,0,0,0);
			CallOkCancelMessageBox(TRUE, 0,0, msg2, FALSE);
		}
		else CallOkCancelMessageBox(TRUE, 0,0, lan->OutputMessage(0,228), FALSE); //"秦寸 何措俊 殿废窍扁俊 嘎瘤 臼篮 饭骇涝聪促."
	}
}

void RecvCMD_YOU_ARE_SQUAD_LEADER(t_packet *p)
{
	//何措厘捞骨肺.. 包访等 单捞鸥甫 技飘茄促.. ぬ.ぬ
	if (Hero->name_status.nation==NW_YL) Hero->NWCharacter.YL_JoinNation=p->u.NationWar.JoinSquad.Nation;
	Hero->NWCharacter.WarfieldNo=p->u.NationWar.JoinSquad.WarfieldNo;
	Hero->NWCharacter.SquadNo=p->u.NationWar.JoinSquad.SquadNo;
	Hero->NWCharacter.isSquadLeader=1;
	char msg[80],msg2[200];
	ReturnWarfieldName(Hero->NWCharacter.WarfieldNo,msg);
	sprintf(msg2,lan->OutputMessage(0,229),msg,Hero->NWCharacter.SquadNo); //"[ %s ]狼 [力 %d 何措] 何措厘俊 殿废灯嚼聪促."

	CallOkCancelMessageBox(TRUE, 0,0, msg2, FALSE);
}

void RecvCMD_JOIN_SQUAD(t_packet *p)
{
	if (Hero->name_status.nation==NW_YL) Hero->NWCharacter.YL_JoinNation=p->u.NationWar.JoinSquad.Nation;
	Hero->NWCharacter.WarfieldNo=p->u.NationWar.JoinSquad.WarfieldNo;
	Hero->NWCharacter.SquadNo=p->u.NationWar.JoinSquad.SquadNo;
	char msg[80],msg2[200];
	ReturnWarfieldName(Hero->NWCharacter.WarfieldNo,msg);
	sprintf(msg2,lan->OutputMessage(0,227),msg,Hero->NWCharacter.SquadNo); //"[ %s ]狼 [力 %d 何措] 何措盔栏肺 殿废灯嚼聪促."

	CallOkCancelMessageBox(TRUE, 0,0, msg2, FALSE);

}

//何措 肺爹器牢飘狼 瘤沥 
//何措厘牢瘤 犬牢茄促.
void SendCMD_SET_SQUAD_LODING_POINT(int SquadNo,int LoadingPoint) 
{
	t_packet p;

	if (Hero->name_status.nation==g_DefenceNation)
	{
		CallOkCancelMessageBox(TRUE, 0,0, lan->OutputMessage(0,230), FALSE); //"[规绢惫啊]绰 傍拜芭痢阑 瘤沥窍瘤 臼栏寂档 邓聪促."
		return;
	}

	if (!Hero->NWCharacter.isSquadLeader)
	{
		CallOkCancelMessageBox(TRUE, 0,0, lan->OutputMessage(0,231), FALSE); //"[何措厘]捞 酒聪搁 傍拜芭痢阑 瘤沥且 荐 绝嚼聪促."
		return;
	}

	int WarfieldNo=CheckNationStatus(NW_PREPARE);   

	if (WarfieldNo>=0)
	{
		p.h.header.type=CMD_SET_SQUAD_LOADING_POINT;
		p.u.NationWar.SetLoadingPoint.Nation=Hero->name_status.nation;
		p.u.NationWar.SetLoadingPoint.WarfieldNo=WarfieldNo;
		p.u.NationWar.SetLoadingPoint.SquadNo=SquadNo;
		p.u.NationWar.SetLoadingPoint.LoadingPoint=LoadingPoint;
		p.h.header.size=sizeof(t_SetLoadingPoint);
		QueuePacket( &p, 1 );
		
		//011010 lsw >
		char msg[80];
		ReturnWarfieldName(WarfieldNo,msg);
		char msgbody[160];
		sprintf(msgbody, lan->OutputMessage(0,232),msg,SquadNo,LoadingPoint); //"[ %s ]狼 [力 %d 何措] 傍拜肺甫 [ %d 锅 ]瘤开栏肺 沥沁嚼聪促."
		CallOkCancelMessageBox(TRUE, 0,0, msgbody, TRUE);
		
		SMenu[MN_NATION_INFO].nField[7].nWillDo=1;
		SMenu[MN_NATION_INFO].nField[7].x = SMenu[MN_NATION_INFO].nField[LoadingPoint].x;
		SMenu[MN_NATION_INFO].nField[7].y = SMenu[MN_NATION_INFO].nField[LoadingPoint].y;
		//011010 lsw <

		Hero->NWCharacter.WarfieldNo=WarfieldNo;
		Hero->NWCharacter.SquadNo=SquadNo;				//磊脚狼 何措锅龋甫 历厘茄促.   // 辑滚肺 何磐 犬牢 皋矫瘤 坷瘤 臼澜 

		
	}

	g_SquadLoadingPoint = LoadingPoint;//010901 lsw
}

void SendCMD_COMMANDER_REG_DATA(int CandidaterNo) //荤飞包 殿废 
{
	//磊扁磊脚阑 饶焊肺 贸府茄促... //力茄炼扒阑 八荤饶.. 焊郴瘤 臼阑 荐档 乐促.
	t_packet p;
	int WarfieldNo=CheckNationStatus(NW_PREPARE);
	if (WarfieldNo>=0)
	{
		if (!Hero->NWCharacter.isCommanderCandidater)
		{
			if ((Hero->lv>=NW_COMMANDER_LEVEL_MIN)&&(Hero->fame>=NW_COMMANDER_FAME_MIN)) // 010927 LTS
			{
				p.h.header.type=CMD_REQUEST_COMMANDER_REG_DATA;
				p.u.NationWar.RequestCommanderVoteData.Nation=Hero->name_status.nation;
				p.u.NationWar.RequestCommanderVoteData.WarfieldNo=WarfieldNo;
				p.u.NationWar.RequestCommanderVoteData.CandidaterNo=CandidaterNo;
				p.h.header.size=sizeof(t_RequestCommanderVoteData);
				QueuePacket( &p, 1 );
				char msg[80];
				ReturnWarfieldName(WarfieldNo,msg);
				AddCurrentStatusMessage( 255,255,0, 
				lan->OutputMessage(0,233),msg,CandidaterNo); //"[ %s ]狼 [ %d锅 ] 饶焊肺 殿废 夸没 窍继嚼聪促."
			}
			else CallOkCancelMessageBox(TRUE, 0,0, lan->OutputMessage(0,234), FALSE); //"荤飞包 饶焊肺 殿废登扁俊绰 瓷仿捞 何练钦聪促."
		}
		else AddCurrentStatusMessage( 255,255,0, lan->OutputMessage(0,235)); //"捞固 荤飞包 饶焊俊 殿废阑 窍继嚼聪促."
	}
}

void RecvCMD_ANSWER_COMMANDER_REG_DATA(t_packet* p)
{
	switch (p->u.NationWar.CommonDataC.Data)
	{
	case 0 :
		CallOkCancelMessageBox(TRUE, 0,0,lan->OutputMessage(0,236), FALSE); //"荤飞包 饶焊俊 殿废登瘤 给沁嚼聪促."
		break;
	case 1 :
		Hero->NWCharacter.isCommanderCandidater=1;
		CallOkCancelMessageBox(TRUE, 0,0,lan->OutputMessage(0,237), FALSE); //"[荤飞包] 饶焊俊 殿废阑 窍继嚼聪促."
		break;
	case 2 :
		CallOkCancelMessageBox(TRUE, 0,0,lan->OutputMessage(0,234), FALSE); //"荤飞包 饶焊肺 殿废登扁俊绰 瓷仿捞 何练钦聪促."
		break;
	}
}


void SendCMD_COMMANDER_VOTING_DATA(int CandidaterNo) //荤飞包 捧钎 
{
	t_packet p;

	if (Hero->NWCharacter.DoCommanderVote)
	{
		CallOkCancelMessageBox(TRUE, 0,0,lan->OutputMessage(0,238), FALSE); //"捞固 荤飞包 捧钎甫 沁嚼聪促."
		return;
	}
	int WarfieldNo=CheckNationStatus(NW_PREPARE);
	
	if (WarfieldNo>=0)
	{
		p.h.header.type=CMD_COMMANDER_VOTING_DATA;
		p.u.NationWar.RequestCommanderVoteData.Nation=Hero->name_status.nation;
		p.u.NationWar.RequestCommanderVoteData.WarfieldNo=WarfieldNo;
		p.u.NationWar.RequestCommanderVoteData.CandidaterNo=CandidaterNo;
		p.h.header.size=sizeof(t_RequestCommanderVoteData);
		QueuePacket( &p, 1 );
		char msg[80];
		ReturnWarfieldName(WarfieldNo,msg);
		//011008 lsw >
		char msgbody[120];
		sprintf(msgbody,lan->OutputMessage(0,239),msg,CandidaterNo+1); //"[ %s ]狼 荤飞包栏肺 [ %d锅 ] 饶焊甫 瘤瘤沁嚼聪促." // 011020 LTS
		CallOkCancelMessageBox(FALSE, 0, 0, msgbody, TRUE);

⌨️ 快捷键说明

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