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

📄 nationsys.cpp

📁 国内著名网络游戏dragon的服务端完整源码 内附完整数据库结构
💻 CPP
📖 第 1 页 / 共 5 页
字号:
#include "..\stdafx.h"
#include "DefaultHeader.h"
#include "NationSys.h"
#include "..\LowerLayers\//MyLog.h"
#include "SealStone.h"
#include "..\LowerLayers\servertable.h"
#include "Scrp_exe.h"
#include "CItem.h"//020505 lsw
#include "LogManager.h"
#include "UserManager.h"

cWarfield*		g_pWarfield=NULL;
cNation*		g_pNation=NULL;
CNewWarfield*	g_pNewWarfield=NULL;
__int64			g_WarTime=0;		// 傈里矫埃			// 011015 LTS	// g_curr_time狼 滚弊肺 背眉 抗沥

WORD			g_wMapServerPort=0;

int				g_pLoadingPoint[NW_WARFIELD_COUNT][NW_SQUAD_MAX];			// g_pWarfield, g_pNation捞 绝绰 版快
t_Warfield		g_pWarfieldStatus[NW_WARFIELD_COUNT];						// g_pWarfield, g_pNation捞 绝绰 版快
int*			g_pNationWar_Exp=NULL;								// LTS NEW LOCALWAR
int				g_pNewWarfieldStatus[MAX_NEW_WARFIELD];
//int				bMoveLevelMax[MAX_NEW_WARFIELD];		// MAX_NEW_WARFIELD
//int				bMoveLevelMin[MAX_NEW_WARFIELD];		// MAX_NEW_WARFIELD
int				MoveLevelMax[MAX_NEW_WARFIELD];		// MAX_NEW_WARFIELD
int				MoveLevelMin[MAX_NEW_WARFIELD];		// MAX_NEW_WARFIELD



// Tile Concern__________________________________________________________________________________	
const POINTS		Map0_133[MAP0_133]={	// 010927 LTS
									{131,259},{131,260},{131,261},{131,262},{131,263},{131,264},{131,265},
									{131,266},{132,258},{132,259},{132,260},{132,261},{132,262},{132,263},
									{132,264},{132,265},{133,257},{133,258},{133,259},{133,260},{133,261},
									{133,262},{133,263},{133,264},{134,256},{134,257},{134,258},{134,259},
									{134,260},{134,261},{134,262},{134,263}		};

const POINTS		Map0_138[MAP0_138]={
									{135,255},{135,256},{135,257},{135,258},{135,259},{135,260},{135,261},
									{135,262},{136,255},{136,256},{136,257},{136,258},{136,259},{136,260},
									{136,261},{137,256},{137,257},{137,258},{137,259},{137,260},{138,257},
									{138,258},{138,259},{139,258}	};

const POINTS		Map0_203[MAP0_203] ={	
									{200,192},{200,193},{200,194},{200,195},{200,196},{200,197},{200,198},
									{200,199},{201,192},{201,193},{201,194},{201,195},{201,196},{201,197},
									{201,198},{202,193},{202,194},{202,195},{202,196},{202,197},{203,194},
									{203,195},{203,196},{204,195} 	};

const POINTS		Map0_198[MAP0_198] = {	
									{199,193},{199,194},{199,195},{199,196},{199,197},{199,198},{199,199},
									{199,200},{198,194},{198,195},{198,196},{198,197},{198,198},{198,199},
									{198,200},{198,201},{197,195},{197,196},{197,197},{197,198},{197,199},
									{197,200},{197,201},{197,202},{196,196},{196,197},{196,198},{196,199},
									{196,200},{196,201},{196,202},{196,203},{195,196},{195,197}				};

const POINTS		Map0_263[MAP0_263] ={	
									{261,133},{261,134},{261,135},{261,136},{261,137},{261,138},{261,139},
									{261,140},{262,132},{262,133},{262,134},{262,135},{262,136},{262,137},
									{262,138},{262,139},{263,131},{263,132},{263,133},{263,134},{263,135},
									{263,136},{263,137},{263,138},{264,130},{264,131},{264,132},{264,133},
									{264,134},{264,135},{264,136},{264,137}									};

const POINTS		Map0_268[MAP0_268] ={	// 010927 LTS
									{265,129},{265,130},{265,131},{265,132},{265,133},{265,134},{265,135},
									{265,136},{266,129},{266,130},{266,131},{266,132},{266,133},{266,134},
									{266,135},{267,130},{267,131},{267,132},{267,133},{267,134},{268,131},
									{268,132},{268,133}														};
//________________________________________________________________________________________________

const POINTS		Map1_450[MAP1_450]=
								{	{451,521},{451,522},{451,523},{451,524},{451,525},{451,526},
									{450,522},{450,523},{450,524},{450,525},{450,526},{450,527},
									{449,523},{449,524},{449,525},{449,526},{449,527},{449,528},
									{448,524},{448,525},{448,526},{448,527},{448,528},{448,529},
									{447,525},{447,526},{447,527},{447,528},{447,529},{446,526},
									{446,527},{446,527}											};

const POINTS		Map1_527[MAP1_527]=		// 010927 LTS
								{	{528,525},{528,526},{528,527},{528,528},{528,529},{528,530},
									{527,526},{527,527},{527,528},{527,529},{527,530},{527,531},
									{526,527},{526,528},{526,529},{526,530},{526,531},{526,532},
									{525,528},{525,529},{525,530},{525,531},{525,532},{525,533},
									{524,529},{524,530},{524,531},{524,532},{524,533},{523,530},
									{523,531},{523,532}											};

const POINTS		Map1_524[MAP1_524]=
								{	{525,451},{525,452},{525,453},{525,454},{525,455},{525,456},
									{524,452},{524,453},{524,454},{524,455},{524,456},{524,457},
									{523,453},{523,454},{523,455},{523,456},{523,457},{523,458},
									{522,454},{522,455},{522,456},{522,457},{522,458},{522,459},
									{521,455},{521,456},{521,457},{521,458},{521,459},{520,456},
									{520,457},{520,458}											};

const POINTS		Map1_E450[15]=
								{	{451,523},{451,524},{451,525},{450,524},{450,525},{450,526},
								    {449,525},{449,526},{449,527},{448,526},{448,527},{448,528},
									{447,527},{447,528},{447,529}								};
const POINTS		Map1_E527[15]=
								{	{528,527},{528,528},{528,529},{527,528},{527,529},{527,530},
									{526,529},{526,530},{526,531},{525,530},{525,531},{525,532},
									{524,531},{524,532},{524,533}								};
const POINTS		Map1_E524[15]=
								{   {525,453},{525,454},{525,455},{524,454},{524,455},{524,456},
									{523,455},{523,456},{523,457},{522,456},{522,457},{522,458},
									{521,457},{521,458},{521,459}								};
//________________________________________________________________________________________________
const POINTS		Map2_114[MAP2_114]=
								{	{112,166},{113,165},{114,164},{115,163},{112,165},{113,164},
									{114,163},{115,162},{112,164},{113,163},{114,162},{115,161},
									{112,163},{113,162},{114,161},{115,160},{112,163},{113,162},
									{114,161},{115,160},{112,162},{113,161},{114,160},{115,159},
									{112,161},{113,160},{114,159},{115,158},{111,160},{112,159},
									{113,158},{114,157}											};

const POINTS		Map2_119[MAP2_119]=
								{	{116,162},{117,161},{118,160},{119,159},{116,161},{117,160},
									{118,159},{119,158},{116,160},{117,159},{118,158},{116,159},
									{117,158},{118,157},{116,159},{117,158},{118,157},{116,158},
									{117,157},{118,156},{116,157},{117,156},{118,155},{115,156},
									{116,155},{117,154}											};

const POINTS		Map2_151[MAP2_151]=
								{	{149,130},{150,129},{151,128},{152,127},{149,129},{150,128},
									{151,127},{152,126},{149,128},{150,127},{151,126},{152,125},
									{149,127},{150,126},{151,125},{152,124},{149,126},{150,125},
									{151,124},{152,123},{149,125},{150,124},{151,123},{152,122},
									{149,124},{150,123},{151,122},{152,121}						};

const POINTS		Map2_156[MAP2_156]=
								{	{153,126},{154,127},{155,128},{156,127},{153,125},{154,124},
									{155,123},{156,122},{153,124},{154,123},{155,122},{153,123},
									{154,122},{155,121},{153,122},{154,121},{155,120},{153,121},
									{154,120},{155,119},{153,120},{154,119},{155,118}			};

const POINTS		Map2_274[MAP2_274]=
								{	{272,286},{273,285},{274,284},{275,283},{272,285},{273,284},
									{274,283},{275,282},{272,284},{273,283},{274,282},{275,281},
									{272,283},{273,282},{274,281},{275,280},{272,282},{273,281},
									{274,280},{275,279},{271,282},{272,281},{273,280},{274,279},
									{275,278},{271,281},{272,280},{273,279},{274,278},{275,277} };

const POINTS		Map2_279[MAP2_279]=
								{	{276,282},{277,281},{278,280},{279,279},{276,281},{277,280},
									{278,279},{279,278},{276,280},{277,279},{278,278},{276,279},
									{277,278},{278,277},{276,278},{277,277},{276,277},{277,276},
									{276,276}													};

const POINTS		Map2_E114[8]=
								{	{112,165},{113,164},{114,163},{115,162},{112,164},{113,163},
									{114,162},{115,161}											};

const POINTS		Map2_E119[8]=
								{	{116,161},{117,160},{118,159},{119,158},{116,160},{117,159},
									{118,158},{119,157}											};
const POINTS		Map2_E151[8]=
								{	{149,129},{150,128},{151,127},{152,126},{149,128},{150,127},
									{151,126},{152,125}											};

const POINTS		Map2_E156[9]=
								{	{153,125},{154,124},{155,123},{156,122},{157,121},{153,124},
									{154,123},{155,122},{156,121}								};

const POINTS		Map2_E274[8]=
								{	{272,285},{273,284},{274,283},{275,282},{272,284},{273,283},
									{274,282},{275,281}											};

const POINTS		Map2_E279[8]={	{276,281},{277,280},{278,279},{279,278},{276,280},{277,279},
									{278,278},{279,277}											};
// Tile Concern End_______________________________________________________________________________

const POINTS AttackPoint[3][4]	= { { {321,338}, {182,357}, {382,169}, {382,169} },		// Nation1
									{ {629,629}, {425,657}, {667,445}, {667,445} },		// Nation2
									{ {415,407}, {388,303}, { 11, 11}, { 16,126} } };	// Nation3
const POINTS DefencePoint[3]	= { {127,120},		// Nation1
									{449,456},		// Nation2
									{214,312}, };	// Nation3

const POINT  NEW_BYPoint={20,20};
const POINT  NEW_ZYPoint={231,20};
// Extern Function________________________________________________________________________________

extern tagNationInfo	NationInfo[MAX_NATION];			//惫啊沥焊 备炼眉..
extern bool			g_MainNationMap[MAX_NATION];			// 淬寸窍绰 唱扼 锅龋
extern void SaveNationInfo( int nation );		// 叼厚 单阁俊 历厘茄促.
extern int ExistHe( char *name );//020903 lsw
extern void MakeSealStoneNumber(char* SrcString,int SealNo[4]);		// LTS NEW LOCALWAR
extern void LoadAIConfig();										// LTS AI
extern int g_LocalWarBegin;
extern void SendCMD_LOCALWAR_BEGIN2Client();		// LTSSupport.cpp
extern void SendCMD_LOCALWAR_END2Client();
extern void SendCMD_LOCALWAR_RESULT();
extern void GiveLife2SealStone();
extern void CheckAndFreeLocalWar(int NationIndex,int Result);					// LTS NEW LOCALWAR
extern CHARLIST* CheckServerId(WORD id);
extern void			SendCharacterCondition( CHARLIST*, int);
extern bool			NewSendGameToLoginChangeMapData( short int cn, WORD wMyAgentServerID, WORD wTargetServerID);
extern inline void	CallClient( short int id, short int type );
extern void			tempCount( CHARLIST *ch, int send  );
extern void			SquadRareReSet(int iBattleType, int cn,int iSquadItemStatus);
extern void			MovePc( short int cn, int x, int y);				// 011015 LTS
extern void			GetSquadRare(char *Squadrare,int squadNo/*char [3]*/);
extern int			CheckHandleByLTSSupport( t_packet *p, t_connection c[], int cn );	// 011112 LTS
extern void			DecLocalWarfieldMemberCount(const int cn); 
extern void			SendCMD_LOCALWAR_END();
extern void ClearAIData();		// LTS NEW AI
extern void SendCMD_REQUEST_DELIVERY(const WORD Port,t_packet *p, t_connection c[], const int cn);//020903 lsw
extern void ProcessCMD_REQUEST_WARFIELD_STATUS(t_packet *ReturnPacket,t_packet* ReceivePacket);		// 关俊急攫 

extern int CheckMaxPoint(int nPoint1, int nPoint2); // 030506 kyo
extern int CheckMaxArrayPoint(int nIndex1, int nIndex2, unsigned short Array_1[3] ,unsigned short Array_2[3], unsigned short Array_3[3]);// 030506 kyo
extern cLocalWarfield* g_pLocalWarfield; // 030506 kyo
extern bool isLevelUp(CHARLIST*);

// Extern Function End____________________________________________________________________________


// Extern Variable _______________________________________________________________________________
extern HENV	hEnv;
extern HDBC hDBC;
// Extern Variable End____________________________________________________________________________

int NW_SQUADLEADER_LEVEL_MIN	=	60;
int NW_SQUADLEADER_LADDER_MIN	=	0;
int NW_COMMANDER_LEVEL_MIN		=	70;
int NW_COMMANDER_LADDER_MIN		=	2000;
int NW_COMMANDER_FAME_MIN		=	1200;

// Squad Condition
int NW_SQUAD1_LEVEL_MIN			=	60;
int NW_SQUAD1_LEVEL_MAX			=	255;
int NW_SQUAD2_LEVEL_MIN			=	60;
int NW_SQUAD2_LEVEL_MAX			=	255;
int NW_SQUAD3_LEVEL_MIN			=	60	;
int NW_SQUAD3_LEVEL_MAX			=	255	;
int NW_SQUAD4_LEVEL_MIN			=	60	;
int NW_SQUAD4_LEVEL_MAX			=	255	;

int NW_SQUAD1_MAN_MIN			=	5;
int NW_SQUAD1_MAN_MAX			=	70;
int NW_SQUAD2_MAN_MIN			=	5;
int NW_SQUAD2_MAN_MAX			=	70;
int NW_SQUAD3_MAN_MIN			=	5;
int NW_SQUAD3_MAN_MAX			=	70;
int NW_SQUAD4_MAN_MIN			=	5;
int NW_SQUAD4_MAN_MAX			=	70;

int NW_NATION_VOTE_MIN			=	0;

void InitNationValues()
{
	if(LocalMgr.IsFreeBeta())
	{
		NW_NATION_VOTE_MIN				=5;
	}
	else
	{
		NW_NATION_VOTE_MIN				=50;
	}

	if(LocalMgr.IsAbleNation(CHINA|TAIWAN|HONGKONG))
	{
		NW_SQUADLEADER_LEVEL_MIN	=	60;
		NW_SQUADLEADER_LADDER_MIN	=	0;
		NW_COMMANDER_LEVEL_MIN		=	70;
		NW_COMMANDER_LADDER_MIN		=	2000;
		NW_COMMANDER_FAME_MIN		=	1200;

		NW_SQUAD1_LEVEL_MIN			=	60;
		NW_SQUAD1_LEVEL_MAX			=	255;
		NW_SQUAD2_LEVEL_MIN			=	60;
		NW_SQUAD2_LEVEL_MAX			=	255;
		NW_SQUAD3_LEVEL_MIN			=	60	;
		NW_SQUAD3_LEVEL_MAX			=	255	;
		NW_SQUAD4_LEVEL_MIN			=	60	;
		NW_SQUAD4_LEVEL_MAX			=	255	;

		NW_SQUAD1_MAN_MIN			=	5;
		NW_SQUAD1_MAN_MAX			=	70;
		NW_SQUAD2_MAN_MIN			=	5;
		NW_SQUAD2_MAN_MAX			=	70;
		NW_SQUAD3_MAN_MIN			=	5;
		NW_SQUAD3_MAN_MAX			=	70;
		NW_SQUAD4_MAN_MIN			=	5;
		NW_SQUAD4_MAN_MAX			=	70;
	}
	//< BBD 031214 need thai seting
	else if(LocalMgr.IsAbleNation(THAI))
	{
		NW_SQUADLEADER_LEVEL_MIN	=	20;
		NW_SQUADLEADER_LADDER_MIN	=	0;
		NW_COMMANDER_LEVEL_MIN		=	70;
		NW_COMMANDER_LADDER_MIN		=	2000;
		NW_COMMANDER_FAME_MIN		=	1200;

		NW_SQUAD1_LEVEL_MIN			=	20;
		NW_SQUAD1_LEVEL_MAX			=	50;
		NW_SQUAD2_LEVEL_MIN			=	40;
		NW_SQUAD2_LEVEL_MAX			=	70;		
		NW_SQUAD3_LEVEL_MIN			=	60;		
		NW_SQUAD3_LEVEL_MAX			=	90;		
		NW_SQUAD4_LEVEL_MIN			=	80;		
		NW_SQUAD4_LEVEL_MAX			=	255;	

		NW_SQUAD1_MAN_MIN			=	5;
		NW_SQUAD1_MAN_MAX			=	30;		
		NW_SQUAD2_MAN_MIN			=	5;
		NW_SQUAD2_MAN_MAX			=	60;		
		NW_SQUAD3_MAN_MIN			=	5;
		NW_SQUAD3_MAN_MAX			=	80;		
		NW_SQUAD4_MAN_MIN			=	5;
		NW_SQUAD4_MAN_MAX			=	90;		
	}
	//> BBD 031214 need thai seting
	else
	{
		NW_SQUADLEADER_LEVEL_MIN	=	20;
		NW_SQUADLEADER_LADDER_MIN	=	0;
		NW_COMMANDER_LEVEL_MIN		=	70;
		NW_COMMANDER_LADDER_MIN		=	2000;
		NW_COMMANDER_FAME_MIN		=	1200;

		NW_SQUAD1_LEVEL_MIN			=	20;
		NW_SQUAD1_LEVEL_MAX			=	50;
		NW_SQUAD2_LEVEL_MIN			=	40;
		NW_SQUAD2_LEVEL_MAX			=	70;		
		NW_SQUAD3_LEVEL_MIN			=	60;		
		NW_SQUAD3_LEVEL_MAX			=	90;		
		NW_SQUAD4_LEVEL_MIN			=	80;		
		NW_SQUAD4_LEVEL_MAX			=	255;	

		NW_SQUAD1_MAN_MIN			=	5;
		NW_SQUAD1_MAN_MAX			=	80;		
		NW_SQUAD2_MAN_MIN			=	5;
		NW_SQUAD2_MAN_MAX			=	70;		
		NW_SQUAD3_MAN_MIN			=	5;
		NW_SQUAD3_MAN_MAX			=	60;		
		NW_SQUAD4_MAN_MIN			=	5;
		NW_SQUAD4_MAN_MAX			=	50;		
	}
}

// Usage : Checking Nation Server
bool isNationManageServer()
{
	if (g_wMapServerPort==NATION_MANAGE_SERVER) 
	{
		return true;
	}
	else 
	{
		return false;
	}
	return false;
}


int LoadNewWarMaxMin()
{
	// 030919 HK YGI
//	char	NetworkDir[MAX_PATH];
//	char	MapServerConfigFileName[MAX_PATH];
/*
	if (GetPrivateProfileString("Network","path","",NetworkDir,MAX_PATH,MAP_SERVER_INI_)<=0)
	{
		MyLog(0,"Error!! Check...  Mapserver.ini Path Setting..!!");
		return false;
	}
	sprintf(MapServerConfigFileName,"%s/data/MapServerConfig.ini",NetworkDir);
*/// 030919 HK YGI
	char tempString[MAX_PATH];

	for (int i=0;i<MAX_NEW_WARFIELD;i++)
	{
		sprintf(tempString,"LevelMin%d",i);
		MoveLevelMin[i]=GetPrivateProfileInt("NewWarMove",tempString,10,MapServerConfigFileName);
		sprintf(tempString,"LevelMax%d",i);
		MoveLevelMax[i]=GetPrivateProfileInt("NewWarMove",tempString,255,MapServerConfigFileName);
	}

	return true;
}

// Usage : Checking Nation Warfield Server

bool isNationWarfieldServer()
{
	if ((g_wMapServerPort==WARFIELD_PORT1)||
		(g_wMapServerPort==WARFIELD_PORT2)||
		(g_wMapServerPort==WARFIELD_PORT3)) 
	{
		return true;
	}
	else
	{
		return false;
	}
	return false;
}

bool isNewWarfieldServer()
{

⌨️ 快捷键说明

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