Files
mir_server/sdk/commonLib/def/GuildDb.h

229 lines
5.6 KiB
C
Raw Normal View History

2025-01-09 17:45:40 +08:00
#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)