229 lines
5.6 KiB
C
229 lines
5.6 KiB
C
|
|
#pragma once
|
|||
|
|
#define MAX_EVENTCOUNT 50 //200 行会日志最大条数
|
|||
|
|
#define MAX_GUILDDEPOTBAG 24
|
|||
|
|
#define MAX_GUILDDEPOTRECOUD 100
|
|||
|
|
#define MAX_GUILDTITLENUM 2000
|
|||
|
|
|
|||
|
|
#define GUILDDEPOT_PAGE_GRIDS 30 //行会仓库每页有42个格子
|
|||
|
|
#define GUILDDEPOT_PAGE_GRIDS_CHECK 12 //需要审核行会仓库每页有12个格子
|
|||
|
|
|
|||
|
|
|
|||
|
|
class EntityHandle;
|
|||
|
|
#include "UserItem.h"
|
|||
|
|
|
|||
|
|
//禁止编译器对此结构进行字节对齐
|
|||
|
|
#pragma pack (push, 1)
|
|||
|
|
typedef struct tagActorNodeSimple
|
|||
|
|
{
|
|||
|
|
unsigned int nActorId;
|
|||
|
|
INT64 nGuildGX; //个人的贡献值
|
|||
|
|
unsigned int nVipGrade;
|
|||
|
|
BYTE nSex;
|
|||
|
|
BYTE nLevel;
|
|||
|
|
BYTE nCircle; //转数
|
|||
|
|
BYTE nJob;
|
|||
|
|
BYTE nMenPai;
|
|||
|
|
BYTE nType; //地位
|
|||
|
|
BYTE nTK; //堂口
|
|||
|
|
UINT nZzNext; //在职时间
|
|||
|
|
UINT nZjNext;
|
|||
|
|
int nGuildTiTle; //封号序号
|
|||
|
|
int nTime; //最近登陆的时间
|
|||
|
|
int nTotalGx; //在本行会的贡献值
|
|||
|
|
int nIcon; //头像id
|
|||
|
|
int nBattleValue; //战力
|
|||
|
|
int nGuildCityPos; //皇城职位(攻城)(已经不用)
|
|||
|
|
int nModelId; //模型id
|
|||
|
|
int nWeaponId; //武器外观
|
|||
|
|
int nSwingId; //翅膀外观
|
|||
|
|
int nJoinTime; //加入行会的时间
|
|||
|
|
}ActorNodeSimple;
|
|||
|
|
|
|||
|
|
typedef struct tagActorNode
|
|||
|
|
{
|
|||
|
|
tagActorNodeSimple BasicData;
|
|||
|
|
ACTORNAME sActorName;
|
|||
|
|
EntityHandle hActorHandle;
|
|||
|
|
//bool boStatus;//这个角色是否已删号
|
|||
|
|
tagActorNode()
|
|||
|
|
{
|
|||
|
|
ZeroMemory(this,sizeof(*this));
|
|||
|
|
//boStatus = TRUE;
|
|||
|
|
}
|
|||
|
|
//DECLARE_OBJECT_COUNTER(tagActorNode)
|
|||
|
|
}ActorCommonNode;
|
|||
|
|
|
|||
|
|
typedef struct tagWarGuildHistory
|
|||
|
|
{
|
|||
|
|
int nGid; //对方帮派的id
|
|||
|
|
int nPkCount; //杀敌数
|
|||
|
|
int nDieCount; //己方被杀数量
|
|||
|
|
char sEndTime[20]; //下次变化状态的时间
|
|||
|
|
char sGuildName[32]; //对方帮派的名称
|
|||
|
|
|
|||
|
|
tagWarGuildHistory()
|
|||
|
|
{
|
|||
|
|
sGuildName[0] = 0;
|
|||
|
|
}
|
|||
|
|
//DECLARE_OBJECT_COUNTER(tagWarGuildHistory)
|
|||
|
|
}WarGuildHistory;
|
|||
|
|
|
|||
|
|
//帮派技能
|
|||
|
|
typedef struct tagGuildSkill
|
|||
|
|
{
|
|||
|
|
int nSkillId; //帮派技能的id
|
|||
|
|
int nLevel; //帮派技能的等级
|
|||
|
|
tagGuildSkill()
|
|||
|
|
{
|
|||
|
|
memset(this,0,sizeof(*this));
|
|||
|
|
}
|
|||
|
|
}GUILDSKILLS,*PGUILDSKILLS;
|
|||
|
|
|
|||
|
|
typedef struct tagEventMsg
|
|||
|
|
{
|
|||
|
|
int aTime; //事件发生的时间
|
|||
|
|
char nEventMsg[512]; //发生的事件
|
|||
|
|
int mEventId; //事件id
|
|||
|
|
int mParam1; //参数1
|
|||
|
|
int mParam2; //参数2
|
|||
|
|
int mParam3; //参数3
|
|||
|
|
char mParam4[32]; //参数4
|
|||
|
|
char mParam5[32]; //参数5
|
|||
|
|
tagEventMsg()
|
|||
|
|
{
|
|||
|
|
memset(this,0,sizeof(*this));
|
|||
|
|
}
|
|||
|
|
}GUILDEVENTRECOUD;
|
|||
|
|
|
|||
|
|
class CGuild;
|
|||
|
|
|
|||
|
|
typedef struct tagGuildTitle
|
|||
|
|
{
|
|||
|
|
char nTitleName[32]; //行会封号
|
|||
|
|
}GUIlDTITLES;
|
|||
|
|
|
|||
|
|
//行会沙巴克战是的命令
|
|||
|
|
typedef struct tagGuildCmdStr
|
|||
|
|
{
|
|||
|
|
BYTE bCmdId; //1 集合 2 进攻 3 收兵
|
|||
|
|
char strCmd[32]; //行会封号
|
|||
|
|
}GUILDCMDSTR;
|
|||
|
|
|
|||
|
|
//请求成为联盟
|
|||
|
|
typedef struct tagInterRelationMsg
|
|||
|
|
{
|
|||
|
|
unsigned int nGuildId; //行会id
|
|||
|
|
}INTERRELATIONMSG;
|
|||
|
|
|
|||
|
|
//行会仓库
|
|||
|
|
typedef struct tagGuildDepotItem
|
|||
|
|
{
|
|||
|
|
unsigned int nActorId; //玩家的id
|
|||
|
|
int nCoinType; //存入的物品,需要取出消耗的钱的类型 1 金币 2 元宝
|
|||
|
|
int nCoinNum; //取出物品需要的钱的数量
|
|||
|
|
|
|||
|
|
int nExitFlag; //0存在,1被取出了(似乎已经不使用了)
|
|||
|
|
unsigned int nExchangeActorId; //0-未被申请兑换,>0,有人申请兑换
|
|||
|
|
ACTORNAME szExchangeActorName; //申请兑换的玩家Name
|
|||
|
|
unsigned int nExchangeTime; //申请兑换时间
|
|||
|
|
|
|||
|
|
CUserItem* nUserItem;
|
|||
|
|
tagGuildDepotItem()
|
|||
|
|
{
|
|||
|
|
memset(this,0,sizeof(*this));
|
|||
|
|
}
|
|||
|
|
}GUILDDEPOTITEM;
|
|||
|
|
|
|||
|
|
//行会仓库操作记录
|
|||
|
|
typedef struct tagGuildDepotMsg
|
|||
|
|
{
|
|||
|
|
BYTE nType; //类型 1 存入 2 取出 3 收回
|
|||
|
|
int nTime; //操作的时间
|
|||
|
|
char nActorName[32]; //操作人的姓名
|
|||
|
|
char nItemName[32]; //操作的物品名字
|
|||
|
|
int nNum; //物品数量
|
|||
|
|
int nCoinType; //钱的类型 1 金币 2 元宝
|
|||
|
|
int nCoinNum; //钱的数量
|
|||
|
|
tagGuildDepotMsg()
|
|||
|
|
{
|
|||
|
|
memset(this,0,sizeof(*this));
|
|||
|
|
}
|
|||
|
|
}GUILDDEPOTMSG;
|
|||
|
|
|
|||
|
|
typedef struct tagWarDbData
|
|||
|
|
{
|
|||
|
|
int nRelationShip; //0 无 1 联盟 2 敌对
|
|||
|
|
int nState; //1 宣战状态 0 正常
|
|||
|
|
int nPkCount; //杀敌数
|
|||
|
|
int nDieCount; //己方被杀数量
|
|||
|
|
int nNext; //下次可以宣战的时间
|
|||
|
|
|
|||
|
|
bool boSaveHistory;//是否需要保存到历史记录表中,默认是false,只有当状态从敌对到和平的时候,才改为true,保存后,又改成false
|
|||
|
|
|
|||
|
|
tagWarDbData()
|
|||
|
|
{
|
|||
|
|
memset(this,0,sizeof(*this));
|
|||
|
|
}
|
|||
|
|
} WarDbData;
|
|||
|
|
|
|||
|
|
//行会之间的关系、状态处理
|
|||
|
|
typedef struct tagWarRelationData
|
|||
|
|
{
|
|||
|
|
unsigned int nGuildId; //行会id
|
|||
|
|
WarDbData m_WarData;
|
|||
|
|
}WarRelationData;
|
|||
|
|
|
|||
|
|
typedef struct tagWarGuild
|
|||
|
|
{
|
|||
|
|
enum tagWarStatus
|
|||
|
|
{
|
|||
|
|
wsDeclareWar = 0, //宣战
|
|||
|
|
wsOnWar = 1,
|
|||
|
|
wsPeaceful = 2,
|
|||
|
|
};
|
|||
|
|
CGuild* m_pGuild;
|
|||
|
|
WarDbData m_WarData;
|
|||
|
|
|
|||
|
|
tagWarGuild()
|
|||
|
|
{
|
|||
|
|
m_WarData.boSaveHistory = false;
|
|||
|
|
m_pGuild = NULL;
|
|||
|
|
}
|
|||
|
|
/*
|
|||
|
|
* Comments:检查当前时间,并且返回当前的状态
|
|||
|
|
* UINT nWarTime:敌对的持续时间
|
|||
|
|
* UINT nDecTime:宣战的持续时间
|
|||
|
|
* bool boChange:是否有状态改变
|
|||
|
|
* @Return int:
|
|||
|
|
*/
|
|||
|
|
int checkStatus(UINT nNow,UINT nWarTime,UINT nDecTime,bool& boChange)
|
|||
|
|
{
|
|||
|
|
//if (nNow > m_WarData.nNext) //可以改变状态了
|
|||
|
|
// {
|
|||
|
|
// m_WarData.nRelationShip = wsPeaceful;//可以宣战
|
|||
|
|
// boChange = true;
|
|||
|
|
// }
|
|||
|
|
return m_WarData.nRelationShip;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
VOID Declare(CGuild* pWarGuild,UINT nNow,UINT nDecTime)
|
|||
|
|
{
|
|||
|
|
if (pWarGuild == NULL) return;
|
|||
|
|
m_pGuild = pWarGuild;
|
|||
|
|
m_WarData.nPkCount = 0;
|
|||
|
|
m_WarData.nDieCount = 0;
|
|||
|
|
m_WarData.nNext = nNow + nDecTime;
|
|||
|
|
m_WarData.nRelationShip = wsDeclareWar;
|
|||
|
|
m_WarData.boSaveHistory = false;
|
|||
|
|
}
|
|||
|
|
}WarGuild;
|
|||
|
|
|
|||
|
|
//行会贡献排名列表
|
|||
|
|
typedef struct tagGuildMemGxList
|
|||
|
|
{
|
|||
|
|
unsigned int nActorId; //成员的id
|
|||
|
|
int nGx; //行会贡献
|
|||
|
|
}GUILDMEMGXLIST;
|
|||
|
|
|
|||
|
|
#pragma pack(pop)
|