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

📄 ltssupprot.cpp

📁 国内著名网络游戏dragon的客户端登陆用完整源码 配套一起上传的服务端部分可开服 无说明文档
💻 CPP
📖 第 1 页 / 共 4 页
字号:
		Arg.BreathArg.StartLocation.y=100;
		Arg.BreathArg.DestLocation.x=100;
		Arg.BreathArg.DestLocation.y=600;
		Arg.BreathArg.Direction=GetDirection(Arg.BreathArg.StartLocation,Arg.BreathArg.DestLocation);
		Arg.BreathArg.Power=5+rand()%10;
		Arg.BreathArg.StartTime=g_ClientTime+rand()%3000;
		cBreath* tempBreath=new cBreath(&Arg);
		g_ParticleManager.Insert(tempBreath);
	}*/
/*	t_CommonArg Arg;
		Arg.BreathArg.SpriteIndex=Index;								// Packet Receive
		Arg.BreathArg.StartLocation.x=x;
		Arg.BreathArg.StartLocation.y=y;
		Arg.BreathArg.DestLocation.x=100;
		Arg.BreathArg.DestLocation.y=600;
		Arg.BreathArg.Direction=GetDirection(Arg.BreathArg.StartLocation,Arg.BreathArg.DestLocation);
		Arg.BreathArg.Power=90;
//		Arg.BreathArg.StartTime=g_ClientTime+rand()%3000;
		cBreath* tempBreath=new cBreath(&Arg);
		g_ParticleManager.SetContinueParticle(tempBreath,Count);*/

}

void RecvBreath(int x,int y)
{
/*	g_EffectSpriteManager.CheckAndLoadSpriteData(9);	// Packet Receive

	MakeBreathData(1,26,x,y);*/
}

void MakeFogData(int Index,int Count)
{
/*	t_CommonArg Arg;
	for (int i=0;i<Count;i++)
	{
		Arg.FogArg.SpriteIndex=Index;								// Packet Receive
		Arg.FogArg.StartTime=g_curr_time+rand()%20;
		Arg.FogArg.DelayTime=Arg.FogArg.StartTime+50+rand()%5;				// Packet Receive
		Arg.FogArg.Location.x=rand()%800;					// Packet Receive
		Arg.FogArg.Location.y=rand()%600;
		cFog* tempFog=new cFog(&Arg);
		g_ParticleManager.Insert(tempFog);
	}*/
}

void RecvFog()					// Effect temp
{
/*	g_EffectSpriteManager.CheckAndLoadSpriteData(6);	// Packet Receive
	g_EffectSpriteManager.CheckAndLoadSpriteData(7);	// Packet Receive
	g_EffectSpriteManager.CheckAndLoadSpriteData(8);	// Packet Receive

	MakeFogData(6,20);
	MakeFogData(7,20);
	MakeFogData(8,40);

//		RecvBreath();*/
}

void RecvCMD_AI_FOG(t_packet* p)		// LTS NEW AI	// LTS DRAGON MODIFY	
{
	t_CommonArg Arg;
	t_AIFog* AIFog=&p->u.LocalWar.AIFog;

	switch (AIFog->Type)
	{
	case 0 : return;
	case 1 :
		g_EffectSpriteManager.CheckAndLoadSpriteData(0);
		g_EffectSpriteManager.CheckAndLoadSpriteData(1);
		g_EffectSpriteManager.CheckAndLoadSpriteData(2);
		break;
	case 2 :
		g_EffectSpriteManager.CheckAndLoadSpriteData(3);
		g_EffectSpriteManager.CheckAndLoadSpriteData(4);
		g_EffectSpriteManager.CheckAndLoadSpriteData(5);
		break;
	case 3 :
		g_EffectSpriteManager.CheckAndLoadSpriteData(6);
		g_EffectSpriteManager.CheckAndLoadSpriteData(7);
		g_EffectSpriteManager.CheckAndLoadSpriteData(8);
		break;
	}

	for (int i=0;i<FOG_MAX;i++)
	{
		switch(AIFog->Type)
		{
		case 0 :									break;	//八沥祸
		case 1 : Arg.FogArg.SpriteIndex=rand()%3;   break;	//弧埃祸				// Packet Receive
		case 2 : Arg.FogArg.SpriteIndex=3+rand()%3;	break;							// Packet Receive
		case 3 : Arg.FogArg.SpriteIndex=6+rand()%3;	break;							// Packet Receive
		}
		Arg.FogArg.StartTime=g_curr_time+rand()%5;
		Arg.FogArg.DelayTime=Arg.FogArg.StartTime+AIFog->Delay;				// Packet Receive
		Arg.FogArg.Location.x=AIFog->Location[i].x;					// Packet Receive
		Arg.FogArg.Location.y=AIFog->Location[i].y;
		cFog* tempFog=new cFog(&Arg);
		g_ParticleManager.Insert(tempFog);
	}
}

void PrintMessage(int Index)			// LTS NEW AI
{
	if( !GetSysInfo(SI_GAME_MAKE_MODE ) ) return;		// 020925 YGI
#ifdef _DEBUG
	switch(Index)
	{
	case 1 : AddCurrentStatusMessage( 255,255,0,"雀乔风凭阑 龋免窍看嚼聪促.");			break;
	case 2 : AddCurrentStatusMessage( 255,255,0,"府目滚府 风凭阑 龋免窍看嚼聪促.");		break;
	case 3 : AddCurrentStatusMessage( 255,255,0,"堡气 风凭阑 龋免窍看嚼聪促.");			break;
	case 4 : AddCurrentStatusMessage( 255,255,0,"救俺 风凭阑 龋免窍看嚼聪促.");			break;
	case 5 : AddCurrentStatusMessage( 255,255,0,"措扁 风凭阑 龋免窍看嚼聪促.");			break;
	case 6 : AddCurrentStatusMessage( 255,255,0,"荤款靛 风凭阑 龋免窍看嚼聪促.");		break;	
	case 7 : AddCurrentStatusMessage( 255,255,0,"家券 风凭阑 龋免窍看嚼聪促.");			break;
	case 8 : AddCurrentStatusMessage( 255,255,0,"瘤柳 风凭阑 龋免窍看嚼聪促.");		break;
	case 9 : AddCurrentStatusMessage( 255,255,0,"殿厘包访 风凭阑 龋免窍看嚼聪促.");		break;	
	case 10 : AddCurrentStatusMessage( 255,255,0,"家券2 风凭阑 龋免窍看嚼聪促.");		break;
	case 11 : AddCurrentStatusMessage( 255,255,0,"靛贰帮炮饭器飘 风凭阑 龋免窍看嚼聪促.");		break;
	case 12 : AddCurrentStatusMessage( 255,255,0,"靛贰帮器弊 风凭阑 龋免窍看嚼聪促.");			break;
	}
#endif
}
void RecvCMD_AI_ACTION_TEST(t_packet* p)		// LTS NEW AI
{
   PrintMessage(p->u.LocalWar.ActionTest.Action[0]);
   PrintMessage(p->u.LocalWar.ActionTest.Action[1]);
   PrintMessage(p->u.LocalWar.ActionTest.Action[2]);
}

void RecvCMD_AI_MOVE(t_packet* p)		// LTS NEW AI
{
	LPCHARACTER ch=FindHim(p->u.LocalWar.AIMove.ID+10000);
	if (NULL!=ch) 
	{
		ch->x=p->u.LocalWar.AIMove.X;
		ch->y=p->u.LocalWar.AIMove.Y;
	}
}

void RecvCMD_AI_SOUND(t_packet* p)
{
	PlayListAutoSounds(62,0,0,FALSE);					// 020115 LTS
}

void RecvCMD_AI_NPC_ACTION(t_packet* p)	// LTS NEW AI
{
	LPCHARACTER ch=FindHim(p->u.LocalWar.AINPCAction.ID+10000);
	if (!ch) return;

	ch->nCurrentAction=p->u.LocalWar.AINPCAction.Action;
	ch->nCurrentFrame=0;
	ch->direction=DIRECTION_LEFTDOWN;

	if (p->u.LocalWar.AINPCAction.Action==4)
	{
		//RecvBreath(ch->x,ch->y);
	}
#ifdef _DEBUG
	if( GetSysInfo(SI_GAME_MAKE_MODE ) )	// 020925 YGI
	AddCurrentStatusMessage( 255,255,0,"菩哦俊狼茄 咀记阑 函版窍看嚼聪促. 咀记 : %d",ch->nCurrentAction);
#endif
}

void RecvCMD_AI_EARTHQUAKE(t_packet* p)					// LTS DRAGON MODIFY
{
	MakeEarthQuake(p->u.LocalWar.CommonDataC.Data*10);
}

void SendCMD_SET_QUESTMODE(char* Arg)					// LTS DRAGON MODIFY
{
	t_packet packet;
	packet.h.header.type=CMD_SET_QUESTMODE;
	if (strcmp("ON",Arg)==0) packet.u.LocalWar.CommonDataC.Data=true;
	else packet.u.LocalWar.CommonDataC.Data=false;
	packet.h.header.size=sizeof(t_CommonDataC);
	QueuePacket(&packet,1);
	if (packet.u.LocalWar.CommonDataC.Data)
		AddCurrentStatusMessage( 255,255,0,lan->OutputMessage(0,373));	//"QUEST MODE [ON], 涅胶飘甫 荐青窍角荐 乐绰 葛靛涝聪促.");
	else
		AddCurrentStatusMessage( 255,255,0,lan->OutputMessage(0,374));	//"QUEST MODE [OFF], 涅胶飘甫 荐青窍角荐 绝绰 葛靛涝聪促.");

}

void SendAction(int i,int Direction)			// LTS ACTION 
{
	if (Hero->hp<=0)
	{
		return;
	}// LTS ACTION BUG
	if (Hero->HorseNo>0) // LTS ACTION BUG
	{
		return;
	}
  if (Hero->nCurrentAction==ACTION_SITDOWN)   // LTS ACTION BUG
    return;
	if (!Hero->peacests)
	{
		t_packet packet;
		packet.h.header.type=CMD_COMMUNITY_ACTION;
		packet.u.LocalWar.CommunityActionS.Action=i;
		packet.u.LocalWar.CommunityActionS.Direction=Direction;
		packet.h.header.size=sizeof(t_CommunityActionS);
		
		QueuePacket(&packet,1);
	}
	else
		AddCurrentStatusMessage( 255,255,0,lan->OutputMessage(0,375)); //"傈捧葛靛俊辑绰 悼累阑 荐青且 荐 绝嚼聪促.");
}

void RecvCMD_COMMUNITY_ACTION(t_packet* p)			// LTS ACTION
{
	if (p->u.LocalWar.CommunityAction.Result)
	{
		LPCHARACTER ch=FindHim(p->u.LocalWar.CommunityAction.ID);
		if (NULL!=ch) 
		{
			ch->nCurrentAction=p->u.LocalWar.CommunityAction.Action;
			ch->direction=(DIRECTION)p->u.LocalWar.CommunityAction.Direction;
			ch->nCurrentFrame=0;
		}
	}
	else
	{
		switch(p->u.LocalWar.CommunityAction.Action)
		{
		case ACTION_VICTORY	: AddCurrentStatusMessage( 255,255,0,lan->OutputMessage(0,376)); break; //"铰府器令绰 饭骇捞 登绢具 荤侩且荐 乐嚼聪促."); break;
		case ACTION_ANGER	: AddCurrentStatusMessage( 255,255,0,lan->OutputMessage(0,377)); break;//"拳郴扁绰 饭骇捞 登绢具 荤侩且荐 乐嚼聪促."); break;
		}
	}
}

void SetDragonLordWarArmor(t_server_user_add *c)				// LTS DRAGONLORD
{
	switch(c->DragonLordWarTeam)
	{
	case BLUETEAM : c->equip0=fight_map_acc_num[1];	break;
	case REDTEAM  : c->equip0=fight_map_acc_num[0];	break;
	}
	c->equip1=1;
	LoadHeroClothAccessoryDataOne( c->spr_no, c->equip0 );
	LoadHeroClothAccessoryDataOne( c->spr_no, c->equip1 ); 
}

void SetDragonLordWarArmor(t_server_change_equip *p,LPCHARACTER ch)		// LTS DRAGONLORD
{
	switch(ch->DragonLordWarTeam)
	{
	case BLUETEAM : p->equip[0]=fight_map_acc_num[1];	break;
	case REDTEAM : p->equip[0]=fight_map_acc_num[0];	break;
	}
	p->equip[1]=1;
	LoadHeroClothAccessoryDataOne( ch->sprno, p->equip[0] );
	LoadHeroClothAccessoryDataOne( ch->sprno, p->equip[1] ); 
}

void SendActiveDragonLordWar()
{
	t_packet packet;

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

void RecvCMD_DRAGONLORDWAR_TEAM_CHANGE(t_packet* p)
{
	LPCHARACTER	ch=FindHim(p->u.LocalWar.LordWarTeamChange.ID);
	if (!ch) return;

	ch->DragonLordWarTeam=p->u.LocalWar.LordWarTeamChange.TeamNo;
}

void SendCheckDualFame()    // LTS DUAL FAME
{
	t_packet packet;

	packet.h.header.type=CMD_REQUEST_CHECK_DUAL_FAME;
	packet.h.header.size=0;

	QueuePacket(&packet,1);
}

void RecvCMD_ANSWER_CHECK_DUAL_FAME(t_packet* p)  // LTS DUAL FAME
{
	AddCurrentStatusMessage(255,255,0,lan->OutputMessage(0,202),p->u.LocalWar.CommonDataDw.Data);	
	// "泅犁 掂倔疙己篮 [%d]涝聪促. 掂倔疙己篮 掂倔牢 版快俊父 利侩邓聪促."
}

int CheckHandleByLTSSupport(t_packet* p)
{
	switch (p->h.header.type)
	{
	case CMD_CHECK_ABILITY_CHANGE_MONEY :
											RecvCMD_CHECK_ABILITY_CHANGE_MONEY(p);
											break;
	case CMD_LOCALWAR_STATUS :
											RecvCMD_LOCALWAR_STATUS(p);
											break;
	case CMD_ANSWER_LOCALWAR_INFO :
											RecvCMD_ANSWER_LOCALWAR_INFO(p);
											break;
	case CMD_LOCALWAR_JOIN_RESULT :
											RecvCMD_LOCALWAR_JOIN_RESULT(p);
											break;
	case CMD_USER_JOIN_LOCALWAR :
											RecvCMD_USER_JOIN_LOCALWAR(p);
											break;
	case CMD_LOCALWAR_BEGIN :
											RecvCMD_LOCALWAR_BEGIN(p);
											break;
	case CMD_LOCALWAR_END :
											RecvCMD_LOCALWAR_END(p);
											break;
	case CMD_SEALSTONE_BROKED :
											RecvCMD_SEALSTONE_BROKED(p);
											break;
	case CMD_SEALSTONE_ATTACKED :
											RecvCMD_SEALSTONE_ATTACKED(p);
											break;
	case CMD_LOCALWAR_POINT_BBS :
											RecvCMD_LOCALWAR_POINT_BBS(p);
											break;
	case CMD_ACTION_STATUS :
											RecvCMD_ACTION_STATUS(p);
											break;
	case CMD_SITDOWN_DIRECTION_CHANGED :
											RecvCMD_SITDOWN_DIRECTION_CHANGED(p);
											break;
	case CMD_LOCALWAR_STARTUP_STATUS :
											RecvCMD_LOCALWAR_STARTUP_STATUS(p);
											break;
/*	case CMD_EVENT_LOCALWAR_STATUS_CHANGE :
											RecvCMD_EVENT_LOCALWAR_STATUS_CHANGE(p);
											break;*/
/*	case CMD_EVENT_LOCALWAR_REMAIN_TIME :
											RecvCMD_EVENT_LOCALWAR_REMAIN_TIME(p);
											break;*/
	case CMD_EVENT_LOCALWAR_JOIN_RESULT :
											RecvCMD_EVENT_LOCALWAR_JOIN_RESULT(p);
											break;
	case CMD_EVENT_LOCALWAR_MOVE_RESULT :
											RecvCMD_EVENT_LOCALWAR_MOVE_RESULT(p);
											break;
	case CMD_EVENT_LOCALWAR_MESSAGE :
											RecvCMD_EVENT_LOCALWAR_MESSAGE(p);
											break;
	case CMD_EVENT_POINT_CHANGE :
											RecvCMD_EVENT_POINT_CHANGE(p);
											break;
	case CMD_EVENT_REMAIN_TIME :												// LTS BUG
											RecvCMD_EVENT_REMAIN_TIME(p);
											break;
	case CMD_EVENT_MONSTER_CREATED :											// LTS AI2
											RecvCMD_EVENT_MONSTER_CREATED(p);
											break;
	case CMD_LOCALWAR_NATION_RESULT :											// LTS NEW LOCALWAR	
											RecvCMD_LOCALWAR_NATION_RESULT(p);
											break;
	case CMD_LOCALWAR_MAPMOVE_RESULT :
											RecvCMD_LOCALWAR_MAPMOVE_RESULT(p);	// LTS NEW LOCALWAR	
											break;
	case CMD_LOCALWAR_FAME_EXP :												// LTS NEW LOCALWAR
											RecvCMD_LOCALWAR_FAME_EXP(p);
											break;
	case CMD_LOCALWAR_DEFENCE_POINT :											// LTS NEW LOCALWAR	
											RecvCMD_LOCALWAR_DEFENCE_POINT(p);
											break;
	case CMD_LOCALWAR_CHAT :
											RecvCMD_LOCALWAR_CHAT(p);
											break;
	case CMD_AI_FOG :															// LTS NEW AI	
											RecvCMD_AI_FOG(p);
											break;
	case CMD_AI_SOUND :															// LTS NEW AI	
											RecvCMD_AI_SOUND(p);
											break;
	case CMD_AI_ACTION_TEST :													// LTS NEW AI	
											RecvCMD_AI_ACTION_TEST(p);
											break;
	case CMD_AI_MOVE :															// LTS NEW AI	
											RecvCMD_AI_MOVE(p);
											break;
	case CMD_GOTO_GUILD_HOUSE_RESULT :											//辫康林		
											RecvCMD_GOTO_GUILD_HOUSE_RESULT(p);
											break;
	case CMD_CHECK_GUILD_HOUSE_RESULT :											// 辫康林
											RecvCMD_CHECK_GUILD_HOUSE_RESULT(p);
											break;
	case CMD_AI_NPC_ACTION :													// LTS NEW AI
											RecvCMD_AI_NPC_ACTION(p);
											break;
	case CMD_AI_EARTHQUAKE :
											RecvCMD_AI_EARTHQUAKE(p);			// LTS DRAGON MODIFY
											break;	
	case CMD_COMMUNITY_ACTION :
											RecvCMD_COMMUNITY_ACTION(p);		// LTS ACTION
											break;
	case CMD_DRAGONLORDWAR_TEAM_CHANGE :
											RecvCMD_DRAGONLORDWAR_TEAM_CHANGE(p);	// LTS DRAGONLORD
											break;
  case CMD_ANSWER_CHECK_DUAL_FAME :                         // LTS DUAL FAME
											RecvCMD_ANSWER_CHECK_DUAL_FAME(p);
											break;

	default : return -31;
	}
	return 1;
}

⌨️ 快捷键说明

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