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

📄 nationsys.cpp

📁 网络游戏龙族 完整的登陆器 C++ 源代码
💻 CPP
📖 第 1 页 / 共 5 页
字号:
	QueuePacket(&packet,1);
}


void ChangeClothe(int type)			// 渴 函版 抛胶飘 窃荐, 荤侩窍瘤 臼绰促.
{
	static int i=0;

	Hero->accessory[0] = fight_map_acc_num[i];
	Hero->accessory[1] = 1;		// 酒公巴档 救嘛阑锭
	LoadHeroClothAccessoryDataOne( Hero->sprno, Hero->accessory[0] );
	LoadHeroClothAccessoryDataOne( Hero->sprno, Hero->accessory[1] ); 
	AddCurrentStatusMessage( 255,255,0, lan->OutputMessage(0,215),i); //"泅犁 渴锅龋绰 %d涝聪促."
	if (i>3) i=0;
	else i++;
}

void ChangeClothe2()
{
	LPCHARACTER	ch=Hero;			// 矫具狼 葛电 荤恩狼 渴阑 官槽促.

	while (ch!=NULL)
	{
		if (ch->sprno<=1)
		{
			if (ch->name_status.nation==NW_BY)
			{
				if (ch->NWCharacter.isCommander||ch->NWCharacter.isSquadLeader)	
					ch->accessory[0] = fight_map_acc_num[3];
				else ch->accessory[0] = fight_map_acc_num[1];
				ch->accessory[1] = 1;		// 酒公巴档 救嘛阑锭
			}
			if (ch->name_status.nation==NW_ZY)
			{
				if (ch->NWCharacter.isCommander||ch->NWCharacter.isSquadLeader)	
					ch->accessory[0] = fight_map_acc_num[2];
				else ch->accessory[0] = fight_map_acc_num[0];
				ch->accessory[1] = 1;		// 酒公巴档 救嘛阑锭
			}
			if (ch->name_status.nation==NW_YL)
			{
				if (ch->NWCharacter.YL_JoinNation==NW_BY)			// 官捞辑胶肺 瘤盔焙 曼咯
				{
					if (ch->NWCharacter.isCommander||ch->NWCharacter.isSquadLeader)	
						ch->accessory[0] = fight_map_acc_num[3];
					else ch->accessory[0] = fight_map_acc_num[1];
					ch->accessory[1] = 1;		// 酒公巴档 救嘛阑锭
				}
				else
				{
					if (ch->NWCharacter.isCommander||ch->NWCharacter.isSquadLeader)	
						ch->accessory[0] = fight_map_acc_num[2];
					else ch->accessory[0] = fight_map_acc_num[0];
					ch->accessory[1] = 1;		// 酒公巴档 救嘛阑锭
				}
			}
			LoadHeroClothAccessoryDataOne( ch->sprno, ch->accessory[0] );
			LoadHeroClothAccessoryDataOne( ch->sprno, ch->accessory[1] ); 
		}
		ch=ch->lpNext;
	}
}


void RecvCMD_WAR_BEGIN(t_packet* p)
{
	g_bWarBegin=true;
	ChangeClothe2();  //傈里磐俊 甸绢吭阑锭..
}

void RecvCMD_WAR_END(t_packet* p)
{
	g_bWarBegin=false;	//傈里磐俊辑 唱哎锭.. 辑滚啊 舅酒辑 渴阑 官操绢 霖促.. 傈里捞 场唱搁..
}

void SetWarArmor(t_server_change_equip *p,LPCHARACTER ch)		// NetWork.cpp RecvChangeEquip() Call
{
	if (isNationWarfieldServer())
	{
		if (ch->name_status.nation==NW_BY)
		{
			if (ch->NWCharacter.isCommander||ch->NWCharacter.isSquadLeader)	p->equip[0]=fight_map_acc_num[3];
			else p->equip[0]=fight_map_acc_num[1];
			p->equip[1]=1;
		}
		if (ch->name_status.nation==NW_ZY)
		{
			if (ch->NWCharacter.isCommander||ch->NWCharacter.isSquadLeader)	p->equip[0]=fight_map_acc_num[2];
			else p->equip[0]=fight_map_acc_num[0];
			p->equip[1]=1;
		}
		if (ch->name_status.nation==NW_YL)
		{
			if (ch->NWCharacter.YL_JoinNation==NW_BY)			// 官捞辑胶肺 瘤盔焙 曼咯
			{
				if (ch->NWCharacter.isCommander||ch->NWCharacter.isSquadLeader)	p->equip[0] = fight_map_acc_num[3];
				else p->equip[0] = fight_map_acc_num[1];
				p->equip[1] = 1;		// 酒公巴档 救嘛阑锭
			}
			else
			{
				if (ch->NWCharacter.isCommander||ch->NWCharacter.isSquadLeader)	p->equip[0] = fight_map_acc_num[2];
				else p->equip[0] = fight_map_acc_num[0];
				p->equip[1] = 1;		// 酒公巴档 救嘛阑锭
			}
		}
	}

	if (isNewWarfieldServer())
	{
		switch (ch->name_status.nation)
		{
		case NW_BY :
			{
				p->equip[0]=fight_map_acc_num[1];
				p->equip[1]=1;
			}
			break;
		case NW_ZY :
			{
				p->equip[0]=fight_map_acc_num[0];
				p->equip[1]=1;
			}
			break;
		case NW_YL :
			{
				if (ch->NWCharacter.YL_JoinNation==NW_BY)
				{
					p->equip[0]=fight_map_acc_num[1];
					p->equip[1]=1;
				}
				else
				{
					p->equip[0]=fight_map_acc_num[0];
					p->equip[1]=1;
				}
			}
			break;
		}
	}
}

void SetWarArmor(t_server_user_add *c)		// NetWork.cpp	RecvUserAdd() Call
{
	if (isNationWarfieldServer())
	{
		if (c->nation==NW_BY)
		{
			if (c->isCommander||c->isSquadLeader) c->equip0=fight_map_acc_num[3];
			else c->equip0=fight_map_acc_num[1];
			c->equip1=1;
		}
		if (c->nation==NW_ZY)
		{
			if (c->isCommander||c->isSquadLeader) c->equip0=fight_map_acc_num[2];
			else c->equip0=fight_map_acc_num[0];
			c->equip1=1;
		}
		if (c->nation==NW_YL)
		{
			if (c->YL_JoinNation==NW_BY)			// 官捞辑胶肺 瘤盔焙 曼咯
			{
				if (c->isCommander||c->isSquadLeader)	c->equip0 = fight_map_acc_num[3];
				else c->equip0 = fight_map_acc_num[1];
				c->equip1 = 1;		// 酒公巴档 救嘛阑锭
			}
			else
			{
				if (c->isCommander||c->isSquadLeader)	c->equip0 = fight_map_acc_num[2];
				else c->equip0 = fight_map_acc_num[0];
				c->equip1 = 1;		// 酒公巴档 救嘛阑锭
			}
		}
	}

	if (isNewWarfieldServer())
	{
		switch (c->nation)
		{
		case NW_BY :
			c->equip0=fight_map_acc_num[1];
			c->equip1=1;
			break;
		case NW_ZY :
			c->equip0=fight_map_acc_num[0];
			c->equip1 = 1;
			break;
		case NW_YL :
			if (c->YL_JoinNation==NW_BY)
			{
				c->equip0=fight_map_acc_num[1];
				c->equip1=1;
			}
			else
			{
				c->equip0=fight_map_acc_num[0];
				c->equip1 = 1;
			}
			break;
		}
	}
}


// LineCommand.cpp , Squad Chat Message 
void SendSquadChatMessage(int type,char* Message)
{
	switch(type)
	{
	case LC_SQUAD_LEADER				:	SendCMD_SQUAD_CHAT(0,Message);	break;
	case LC_SQUAD						:	SendCMD_SQUAD_CHAT(1,Message);	break;
	case LC_SQUAD_MEMBER				:	SendCMD_SQUAD_CHAT(2,Message);	break;
	case LC_SQUAD_MEMBER_TO_MEMBER		:	SendCMD_SQUAD_CHAT(3,Message);	break;
	case LC_SQUAD_CHAT					:	SendCMD_SQUAD_CHAT(4,Message);	break;
	}
}

// LineCommand.cpp, War Give Life
void WarGiveLife()
{
	t_packet p;

	if (!isNationWarfieldServer()&&!isNewWarfieldServer()) { AddCurrentStatusMessage( 255,255,0, lan->OutputMessage(0,216));return;} //"[傈里磐]俊辑父 荤侩且 荐 乐绰 疙飞绢 涝聪促."
	if (!g_bWarBegin) {AddCurrentStatusMessage( 255,255,0, lan->OutputMessage(0,217));return;} //"[傈里吝]俊父 荤侩且 荐 乐绰 疙飞绢 涝聪促."
	if (Hero->hp>0) {AddCurrentStatusMessage( 255,255,0, lan->OutputMessage(0,218)); return;} //"[蜡飞] 惑怕俊辑父 荤侩且 荐 乐绰 疙飞绢 涝聪促."

	p.h.header.type=CMD_REQUEST_WAR_GIVE_LIFE;
	p.h.header.size=0;

	QueuePacket(&p,1);
	AddCurrentStatusMessage( 255,255,0, lan->OutputMessage(0,219)); //"弧府 雀汗窍扁 困秦辑绰 澜侥苞 器记阑 冈栏寂具 钦聪促."
}

void WarGiveLife2(char* Arg)
{
	t_packet packet;
	int GiveLifePoint=Arg[0]-48;			// 48 ASCII '0'
	if (GiveLifePoint<0||GiveLifePoint>3)  { AddCurrentStatusMessage( 255,255,0,lan->OutputMessage(0,328));  return; }
	if (!isNationWarfieldServer()) { AddCurrentStatusMessage( 255,255,0, lan->OutputMessage(0,216));return;} //"[傈里磐]俊辑父 荤侩且 荐 乐绰 疙飞绢 涝聪促."
	if (!g_bWarBegin) {AddCurrentStatusMessage( 255,255,0, lan->OutputMessage(0,217));return;} //"[傈里吝]俊父 荤侩且 荐 乐绰 疙飞绢 涝聪促."
	if (Hero->hp>0) {AddCurrentStatusMessage( 255,255,0, lan->OutputMessage(0,218)); return;} //"[蜡飞] 惑怕俊辑父 荤侩且 荐 乐绰 疙飞绢 涝聪促."

	packet.h.header.type=CMD_WAR_GIVE_LIFE2;
	packet.u.NationWar.CommonDataC.Data=GiveLifePoint;
	packet.h.header.size=sizeof(t_CommonDataC);
	QueuePacket(&packet,1);
	AddCurrentStatusMessage( 255,255,0, lan->OutputMessage(0,219)); //"弧府 雀汗窍扁 困秦辑绰 澜侥苞 器记阑 冈栏寂具 钦聪促."
}
// Interface Concern Packet Send Function

void SendCMD_REQUEST_WARFIELD_STATUS(int RequestType)		// Request Warfield Status , Parameter : Button No
{
	t_packet p;

	p.h.header.type=CMD_REQUEST_WARFIELD_STATUS;
	p.u.NationWar.CommonDataC.Data=RequestType;				// Just Checking Warfield Status
	p.h.header.size=sizeof(t_CommonDataC);
	QueuePacket( &p, 1 );
}

int CheckWarfieldLoop()
{
	if (g_pNation->GetStatus(0)>=2) return 0;
	if (g_pNation->GetStatus(1)>=2) return 1;
	if (g_pNation->GetStatus(2)>=2) return 2;
	return -1;
}

void SendCMD_REQUEST_WARFIELD_INFO()
{
	t_packet p;

	int WarfieldNo=CheckWarfieldLoop();

	if (WarfieldNo>=0)
	{
		p.h.header.type=CMD_REQUEST_WARFIELD_INFO;
		p.u.NationWar.CommonDataC.Data=WarfieldNo;
		p.h.header.size=sizeof(t_CommonDataC);
		QueuePacket( &p, 1 );
	}
}

void SendCMD_REQUEST_VOTE_DATA(int WarfieldNo)				// Request Vote Data
{															// CMD_REQUEST_WARFIELD_STATUS -> CMD_ANSWER_WARFIELD_STATUS
	t_packet p;												// CMD_REQUEST_VOTE_DATA -> CMD_ANSWER_VOTE_DATA	
	p.h.header.type=CMD_REQUEST_VOTE_DATA;					// RecvCMD_ANSWER_VOTE_DATA() -> CallSmallMenu()
	p.u.NationWar.CommonDataC.Data=WarfieldNo;
	p.h.header.size=sizeof(t_CommonDataC);
	QueuePacket( &p, 1 );
}

void RecvCMD_ANSWER_VOTE_DATA(t_packet* p)					// Nation War Join Interface Open
{															// Display Data	
	if (p->u.NationWar.VoteData.WarfieldNo>=0)
	{
		//弊贰橇肺 弊府扁
//		p->u.NationWar.VoteData.WarfieldNo, ->傈里磐 逞滚

		switch(p->u.NationWar.VoteData.WarfieldNo)
		{
		case 0: //魂吝
			SMenu[MN_NATION_JOIN].nField[2].nImageNumber = 1;
			break;
		case 1: //乞盔
			SMenu[MN_NATION_JOIN].nField[2].nImageNumber = 3;
			break;
		case 2: //级
			SMenu[MN_NATION_JOIN].nField[2].nImageNumber = 2;
			break;
		}
		//010927 lsw
		char msg[10];
		sprintf(msg,"%d",p->u.NationWar.VoteData.VoteCount);
		strcpy(SMenu[MN_NATION_JOIN].nField[5].temp, msg );
		SMenu[MN_NATION_JOIN].nField[4].nWillDo =p->u.NationWar.VoteData.VoteCount ;

		char msg2[20];
		ReturnNationName(g_DefenceNation,msg2);
		char msg3[20];
		ReturnWarfieldName(p->u.NationWar.VoteData.WarfieldNo,msg3);
		//010928 lsw
		sprintf(SMenu[MN_NATION_JOIN].nField[3].temp,lan->OutputMessage(0,142), msg2,msg3 ); //" [ %s ]惫啊肺何磐 [ %s ]甫 呕券窍扁 困秦 傈里 急器 咯何甫 捧钎窍绰 镑涝聪促.\n 捧钎 扁埃篮 5盒捞 林绢瘤哥 弊 扁埃 救俊 5疙捞 逞霸 登搁 磊悼栏肺 傈里 急器啊 捞凤笼聪促.\n 傈里篮 傈里 急器 饶 20盒 饶俊 国绢瘤霸 邓聪促." 
		
		CallSmallMenu(MN_NATION_JOIN,MN_NATION_BATTLE_BBS);
	}
	else
	{
		CallOkCancelMessageBox(TRUE, 0,0, lan->OutputMessage(0,220), FALSE); //"傈里曼咯 捧钎甫 且 荐 绝嚼聪促."
	}
}

//傈里曼咯 捧钎
//牢磐其捞胶 啊 凯妨乐绰瘤 犬牢 茄促.. 掉饭捞 鸥烙俊 狼秦 急芭扁埃捞 瘤车绰单档 捧钎甫 茄促搁.. 
//捧钎甫 给沁促绰 菩哦捞 朝酒柯促..酒聪 朝酒客具 茄促.
//某腐磐 府胶飘 棺 DB俊 历厘秦具 茄促.
void SendCMD_VOTING_DATA()									// Send Nation War Join Data
{															// Ack Does Not Retrun
	t_packet p;	
	
	if (Hero->NWCharacter.DoWarJoinVote) 
	{
		CallOkCancelMessageBox(TRUE, 0,0, lan->OutputMessage(0,221), FALSE); //"捞固 傈里 曼咯 捧钎甫 窍继嚼聪促."
		return;
	}

	int WarfieldNo=CheckNationStatus(NW_VOTE);			
    if (WarfieldNo>=0) 
	{
		if (Hero->name_status.nation!=g_DefenceNation)
		{
			p.h.header.type=CMD_VOTING_DATA;
			p.u.NationWar.CommonDataC.Data=WarfieldNo;
			p.h.header.size=sizeof(t_CommonDataC);

⌨️ 快捷键说明

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