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

📄 px_ls_battle_guid.h

📁 MMORPG游戏服务器端架构及函数
💻 H
字号:
#pragma	  once

/* must been first include begin */
#include "..\ProjectX_Common\ProjectX_Copyright.h"
#include "..\ProjectX_Common\ProjectX_Common.h"
/* must been first include end */

/* std and common include */
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>


//血盟
/************************************************************************
约定:
由于血盟数量在单一服务器内部很少,固采用动态链表实现,相关char不再单独
拥有一个血盟指针,而取而代之的是拥有一个血盟id
************************************************************************/
//定义血盟状态
#define STATE_BATTLE_GUID_NO_INIT				0
#define STATE_BATTLE_GUID_REQUEST_CREATE		1
#define STATE_BATTLE_GUID_CREATE_SUCC			2
#define STATE_BATTLE_GUID_CREATE_FAIL			3
#define STATE_BATTLE_GUID_REQUEST_DELETE		4
#define STATE_BATTLE_GUID_DELETE_SUCC			5
#define STATE_BATTLE_GUID_DELETE_FAIL			6
#define STATE_BATTLE_GUID_REUSE_PROCESS			7
#define STATE_BATTLE_GUID_FREEUSE				8

//定义血盟成员状态
#define STATE_BATTLE_GUID_MEMBER_REQUEST_JOIN			1
#define STATE_BATTLE_GUID_MEMBER_JOIN_SUCC				2
#define STATE_BATTLE_GUID_MEMBER_JOIN_FAIL				3
#define STATE_BATTLE_GUID_MEMBER_REQUEST_QUIT			4
#define STATE_BATTLE_GUID_MEMBER_QUIT_SUCC				5
#define STATE_BATTLE_GUID_MEMBER_QUIT_FAIL				6
#define STATE_BATTLE_GUID_MEMBER_INACTIVE				7
#define STATE_BATTLE_GUID_MEMBER_WARNING				8

//血盟成员链表
typedef struct tagBattle_Guid_Member {
	int		memberid;							//成员id
	int		sessionid;
	byte	job_level;							//等级或者在血盟里面的职位
	int		contribute;							//贡献度
	byte	state;								//状态
	struct tagBattle_Guid_Member * pNext;
}BATTLE_GUID_MEMBER, * LPBATTLE_GUID_MEMBER;

typedef struct tagBattle_Guid {
	int		sessionid;
	int		battle_guid_uid;					//血盟uid
	int		leaderid;							//建立者或者盟主id
	int		num_member;							//当前成员数量
	int		max_num_member;						//血盟最大允许拥有的数量
	int		last_save_frame;
	int		last_handled_frame;
	int		level;								//血盟等级
	int		contribute;							//血盟贡献度,类似exp等数值表示
	byte	state;								//状态
	byte	check_code;
	char	name[MAX_BATTLE_GUID_NAME_LEN];		//名称
	BATTLE_GUID_MEMBER	*	pmember;			//成员
}BATTLE_GUID, * LPBATTLE_GUID;


typedef struct tagBattle_Guid_Key {
	byte			state;
	BATTLE_GUID *	pbattle_guid;
}BATTLE_GUID_KEY, * LPBATTLE_GUID_KEY;















⌨️ 快捷键说明

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