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

📄 nationsys.cpp

📁 DragonRaja Client source version 1.4+ this source allow players join in (Hades Warfield or Monsters
💻 CPP
📖 第 1 页 / 共 5 页
字号:
}

//何措 肺爹器牢飘狼 瘤沥 
//何措厘牢瘤 犬牢茄促.
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);
		//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)
				{	//< LTH-040316-KO 阁胶磐 傈里磐俊辑 老胶狼 侩捍曼咯 皋春 贸府
					if (!IsNeoWarfield(WarfieldNo))
						CallSmallMenu(MN_NATION_GUEST,MN_NATION_BATTLE_BBS);
					else
						CallOkCancelMessageBox(TRUE, 0,0, lan->OutputMessage(0,622), FALSE); //"阁胶磐 傈里磐俊辑 老胶绰 侩捍栏肺 曼咯窍瘤 臼嚼聪促"
				}	//> LTH-040316-KO
				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, la

⌨️ 快捷键说明

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