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

📄 teambattle.h

📁 网络游戏龙族 完整的登陆器 C++ 源代码
💻 H
字号:
#ifndef __teambattle_h__
#define __teambattle_h__

class CBattleTeam 
{
public : 
	int count;
	k_team_member_info_unit member[MAX_TEAM_MEMBER];

public :
	CBattleTeam();
	void ReSetClass();
	int AddMember( k_team_member_info_unit *info );
	int DeleteMember( char *name );
};

class CBattleZone
{
public : 
	CBattleTeam		m_team[ATI_MAX_TEAM];			// 弥措 4评

public : 
	CBattleZone();
	void ReSetClass();
	int SetAllInfo( k_team_member_info_all *info );
	int AddMember( int team, k_team_member_info_unit *info );
	int GetCount( int team );
	int IsExist( char *name );
};


//////////////////////////////////////////////////////////////

#define MAX_FIGHT_MAP_CH	20

struct WINLOSEPOINT
{
	DWORD win			: 13;
	DWORD defeat		: 12;
	DWORD disconnect	: 7 ;
};

class CFightMapCharInfo
{
public :
	DWORD				m_TotalId;
	WINLOSEPOINT		m_WinDefeat;
	DWORD				m_dwLadderScore;
	int					type;
	char				m_szCallLevel[20];
	WORD				m_wColor;


	CFightMapCharInfo	*next;

public :
	CFightMapCharInfo() { m_TotalId=0, next = 0; }
	~CFightMapCharInfo() { if( next ) delete next; }

	// 咯扁辑 type篮 辑滚 傈价阑 罐扁 傈 罐篮 饶甫 唱鸥辰促.
	void AddCharInfo( DWORD total_id, DWORD win_defeat, DWORD ladder, int level, int Class, int type, int dual_cls, int cls_step );
	CFightMapCharInfo *GetFightMapCharInfo( DWORD total_id );
	void DeleteAll() { m_TotalId = 0; delete next; next = 0; }


	
};

////////////////////////////////////////////////////////////////////




//////////////////////////////////////////////////////////
// 辨靛 汲疙 皋春 龋免矫 荤侩窍绰 define
#define GE_REGIST_IMSI_GUILD		1		// 烙矫 辨靛 殿废 汲疙
#define GE_REGIST_GUILD_MARK		2		// 辨靛 付农 殿废俊 包茄 汲疙
#define GE_REGIST_GUILD_MENUAL		3		// 辨靛 殿废俊 包茄 傈馆利牢 汲疙 皋春
#define GE_REGIST_GUILD				4		// 沥侥 臂靛 殿废
#define GM_INPUT_SUB_MASTER			5		// 何辨付 涝仿鄂
#define GM_CHANGE_INFO_MENUAL		6		// 辨靛 沥焊 函版 汲疙




class CGuildBasic
{
public :
	int  m_bInfo;			// 辑滚肺 弊 辨靛狼 沥焊甫 夸没茄 利捞 乐促 绝促狼 敲饭弊
	int	 m_bActive;			// 绝绰 辨靛捞促 酒聪促.
	int	 m_nCode;				// 辨靛 内靛
	char m_szName[20];			// 辨靛 疙
	char m_szGuldMasterName[20];			// 辨付 捞抚
	char m_szSubGuldMasterName[20];			// 辑宏 辨付 捞抚
	char m_aDegree[5][20];		// 流氓	1: 辨付 ~ 0 : 老馆

public :
	CGuildBasic()
	{
		InitData();
	}
	char *CallGuildDegreeName( int nDegree )
	{
		if( nDegree <0 || nDegree >= 5 ) return NULL;
		return m_aDegree[nDegree];
	}
	int InitData();
};

class CGuild : public CGuildBasic		// text肺 鞘夸茄 巴父 肺爹秦棵锭.. 父距 bin俊辑 肺爹 且 版快浚 促福霸.....
{
public :
	int m_nLevel;				// 辨靛 殿鞭

	int	first;
	int mark_num;
	int make;
	int info_num;

	int m_nAllianceGuildCode;	// 悼竿 辨靛 内靛	
	int m_nHostilityGuildCode;	// 利措 辨靛 内靛

	int m_nRader;				// 饭歹 痢荐
	int m_nWin;				// 辨靛傈 捞变 荐
	int m_nLoss;				// 辨靛傈俊辑 柳 荐 

	bool save_flag;
	Spr m_Spr;					// 辨靛 付农
	Spr m_Spr_save;					// 辨靛 付农

	char *m_szExplain;			// 辨靛 汲疙

public : 
	CGuild(){ InitData(); }		// 檬扁拳
	~CGuild(){ if( m_szExplain ) delete m_szExplain; }
	int InitData();
};

// thai2 YGI
#include "kein_stl.h" // CSD-030324
extern TKeinGuildMap< CGuild > g_GuildMgr; // CSD-030324

// 辨靛 努饭胶客 包访等 窃荐甸
extern char *CallGuildDegreeName( int guild_num, int degree_num );		// 辨靛 流氓阑 府畔...
extern char *GetGuildName( int guild_num );
extern int GetGuildCode( LPCHARACTER ch );

///////////////////////////////////////////////////////////////////////////////////////////////////
// 辨靛 家俺 且锭 荤侩且 惫啊喊 辨靛 沥焊

class CGuildIntroductionGuild
{
public : 
	int x;
	BYTE line;
	BYTE page;
	BYTE size;

	RECT rect;
	int	 m_nCode;				// 辨靛 内靛
	char m_szName[20];			// 辨靛 疙
};

class CGuildIntroduction
{	//< CSD-030324
public :
	int m_Nation;
	int m_Count;
	TKeinGuildMap < CGuildIntroductionGuild > m_Guild;
public :
	CGuildIntroduction()
	{
		m_Count = 0;
	}
};	//> CSD-030324

//< soto-030312
#define		MAX_GUARDIAN_GUILD	3

#define		GUARDIAN_GUILD_1ST_TEST	379		//官捞辑胶(弥辆捍扁 弊赤)		辨付 : DR己流磊 030318泅犁
#define		GUARDIAN_GUILD_2ST_TEST	197		//老胶(丑缴货快兵)				辨付 : 傈汲狼 付泵荐 030318泅犁
#define		GUARDIAN_GUILD_3ST_TEST	241		//磊捞戚(Glory of Streak)		辨付 : 捞酱府唱

#define		GUARDIAN_GUILD_1ST	27		//官捞辑胶 : 秦红					辨付 : 广狼措烹飞3   	GuildCode : 27
#define		GUARDIAN_GUILD_2ST	343		//磊捞戚 : 磊捞戚楷钦				辨付 : 何扒傈荤  	GuildCode : 343
#define		GUARDIAN_GUILD_3ST	9		//老胶 : 廉胶萍胶  扁荤窜			辨付 : 叼瘤呕		GuildCode : 9


// 瘤虐固 辨靛. // 汗厘捞 官差绰 辨靛绰 1困辨靛父 官诧促.
class CGuardianGuild
{
private:
	int m_nGuildCount; // 泅犁 瘤虐固 辨靛狼 荐甫 唱鸥辰促.
	int	m_n1stGuildCode; // 1困牢 辨靛 内靛甫 舅酒辰促.
	vector<int>m_vtGuildList;
	
	// 救狼内靛甫 八荤窍瘤 臼绊 辨靛 内靛甫 殿废茄促.(吝汗狼 困氰捞 乐促)
	int	ForcingAddGuild(int nGuildCode)
	{		
		m_vtGuildList.push_back(nGuildCode);
		return ++m_nGuildCount;
	}
public:
	CGuardianGuild() //积己磊
	{ 
		m_vtGuildList.reserve(MAX_GUARDIAN_GUILD);
		m_nGuildCount = 0;
		m_n1stGuildCode = -1; 
	} // 积己磊.
	
	bool IsGuardianGuild(int nGuildCode)// 捞 辨靛内靛啊 瘤虐固 辨靛狼 内靛捞衬?
	{
		for(int i = 0;i < m_nGuildCount;i++)
		{
			if(m_vtGuildList[i] == nGuildCode) return true;
		}
		return false;
	}	
	
	int AddGuild(int nGuildCode)//吝汗登瘤 臼霸 眠啊 矫挪促.
	{
		if(!IsGuardianGuild(nGuildCode))
		{
			m_nGuildCount = ForcingAddGuild(nGuildCode);
		}

		return m_nGuildCount;
	}
	
	int FirstGuild()//1殿 辨靛内靛甫 舅酒辰促.// 绝阑锭绰 -1阑 府畔.
	{
		if(!m_nGuildCount)return -1;

		return m_n1stGuildCode;
	}

	int GetCount()
	{
		return m_vtGuildList.size();
	}

	int	GetGuildCode(int nIndex)
	{
		if(nIndex < m_nGuildCount)
			return m_vtGuildList[nIndex];
		return -1;
	}

	// 老殿牢 辨靛绰 窍唱啊 酒聪扼.. 阿惫啊喊肺 窍唱肺 官差菌促. 寸辟 3俺瘤.
	bool	Is1StGuild(int nGuildCode){ return IsGuardianGuild(nGuildCode); }// soto-030318

	void Set1stGuild(int nGuildCode)//1殿牢 辨靛甫 殿废茄促.
	{
		if(!m_nGuildCount)//泅犁 辨靛啊 酒公档 殿废 登绢 乐瘤 臼阑锭.
		{
			ForcingAddGuild(nGuildCode);
			m_n1stGuildCode = nGuildCode;
		}
		else // 窍唱 捞惑狼 辨靛啊 殿废登绢 乐阑锭.
		{
			if(IsGuardianGuild(nGuildCode)) // 府胶飘俊 殿废等 内靛牢啊?
			{
				m_n1stGuildCode = nGuildCode;
			}
			else
			{
				ForcingAddGuild(nGuildCode);
				m_n1stGuildCode = nGuildCode;
			}
		}
	}

	void ClearGuild()
	{ 
		m_vtGuildList.clear();
		m_n1stGuildCode = -1;
		m_nGuildCount = 0;
	}
};


extern bool	CheckGuardianGuildWear();// 矫具狼 荤恩甸狼 渴阑眉农 窍咯 辨靛汗栏肺 哎酒 涝腮促.


#define		GUILD_WEAR01		102//瘤虐固 辨靛汗

extern CGuardianGuild	g_CGuardianGuild; // 瘤虐固 辨靛 包府 傈开 努贰胶. // soto
extern CBattleZone	g_BattleZone;
extern void RecvAllTeamInfo( t_packet *p );
extern void SendAddMeOfTeamBattle( int team );
extern void RecvAddMemberInfo( t_packet *p );

extern bool	g_FightMapStart;
extern void StartTembattleWaitMenu(int nGame); // CSD-030506
extern void ViewFightMapCharInfo( char *name, DWORD total_id, int x, int y );
extern void ChangeEquipForFightMapStart();
extern void RecvFightRemainTime( t_packet *p );
extern void FighMapReset();
extern void ResetMagicFlag( LPCHARACTER ch );
extern int g_save_load_flag;
extern void LoadGuildMarkEx();
extern CGuildIntroduction *g_Guild_Introduction;


// 弊 胶沛阑 绢蠢评捞 茫捞 沁绰啊?
#define STONE_SCORE_FIRST	IA2_NOTMOVE		//  1: 檬扁 老锭 
#define STONE_SCORE_2	IA2_OPENED			//	2: 磊府
#define STONE_SCORE_1	IA2_BROKEN			// 霉掳磊府


#define GetAttr2( attr2, a )		((attr2) & (a))
#define SetAttr2( attr2, b )		{(attr2) |=(b);}
extern int GetTeamByStone( DWORD attr );
extern WORD GetRGBByTeam( int team, int &r, int &g, int &b );

extern int GetArenaObserverTarget();
extern int GetArenaBettingTarget();
extern void SetArenaObserverTarget(const int iTeamType);
extern void SetArenaBettingTarget(const int iTeamType);
extern void SendObserverTeamSelect();
extern void SendMyArenaBettingMoney(const DWORD dwMoney);

extern DWORD GetTeamBettingMoney(const int iTeamType);//评俊 吧赴 捣
extern float GetTeamWinRate(const int iTeamType);//评俊 吧赴 捣
extern DWORD GetMyBettingMoney();//硅泼陛
extern DWORD GetMyBettingResult();//硅寸陛
extern DWORD GetAreanWaitTime();
extern bool CanCallBettingMenu();
extern bool CanCallObserverMenu();
#endif

⌨️ 快捷键说明

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