📄 rpgdatabasetables.h
字号:
//RPGDatabaseDefine.h
/*/////////////////////////////////////////////////////////////////
李亦
liease@163.com 4040719
2006-7-20
/*/////////////////////////////////////////////////////////////////
#ifndef _RPG__RPGDATABASETABLES_H_
#define _RPG__RPGDATABASETABLES_H_
#ifndef _RPG__RPGDEFINE_H_
#include "rpg/RPGDefine.h"
#endif
#ifndef _RPG__GPLAYER_H_
#include "rpg/gobjects/GPlayer.h"
#endif
#ifndef _RPG__GGOODSDEFINE_H_
#include "rpg/gobjects/ggoodsDefine.h"
#endif
#ifndef _RPG__GDIALOG_H_
#include "rpg/gobjects/GDialog.h"
#endif
#ifndef _RPG__GNPC_H_
#include "rpg/gobjects/GNpc.h"
#endif
#ifndef _RPG__GSCENE_H_
#include "rpg/gobjects/GScene.h"
#endif
namespace RPG
{
namespace DB
{
#define DBNUL (U32)-1
/////////////////////////////////////////////
//功效数据定义
typedef struct tagGEfficacy
{
U32 dwID;
RPG::GEFFICACY data;
}GEFFICACY;
typedef struct tagGEfficacySelf
{
U32 dwID;
U32 dwSelfID;
U32 dwEfficacyID;
}GEFFICACYSELF;
/////////////////////////////////////////////
//任务数据定义
typedef struct tagGPlayerTaskState
{
U32 dwID;
STE sPlayerName;
U32 dwTaskStateID;
}GPLAYERTASKSTATE;
typedef struct tagGTaskState
{
U32 dwID;
STE sNpcName;
U32 dwTaskID;
EGTaskStates nState;
EGTaskStates arPieceStates[16];
}GTASKSTATE;
typedef struct tagGTaskBase
{
U32 dwID;
U32 dwRequireID;
U32 dwGoalID;
U32 dwPremiumID;
U32 dwGoalObjectID;
U32 dwReserved;//dwGoalResultID;
STE sFromNpcName;
STE sToNpcName;
U32 arDialogsID[GTS_AMOUNT];
RPG::GTASKBASE data;
}GTASKBASE;
typedef struct tagGTask
{
U32 dwID;
U32 dwTaskBaseID;
RPG::GTASK data;
}GTASK;
typedef struct tagGTaskTaskPiece
{
U32 dwID;
U32 dwTaskID;
U32 dwTaskPieceID;
U32 nOrder;
}GTASKTASKPIECE;
typedef struct tagGTaskPiece
{
U32 dwID;
U32 dwTaskBaseID;
RPG::GTASKPIECE data;
}GTASKPIECE;
/////////////////////////////////////////////
//场景数据定义
typedef struct tagGScene
{
U32 dwID; //编号
RPG::GSCENE data;
}GSCENE;
typedef struct tagGSceneNpc
{
U32 dwID;
//U32 dwSceneID;
//U32 dwNpcID;
STE sSceneIDName;
STE sNpcName;
}GSCENENPC;
typedef struct tagGScenePlayer
{
U32 dwID;
//U32 dwSceneID;
//U32 dwPlayerID;
STE sSceneIDName;
STE sPlayerName;
}GSCENEPLAYER;
/////////////////////////////////////////////
//对话片段定义
typedef struct tagGDlgPiece
{
U32 dwID; //编号
U32 dwCmdID;
U32 arAnswerIDs[GDLG_ANSWER_NUM];
U32 arNextIDs[GDLG_ANSWER_NUM];
U32 arNext2IDs[GDLG_ANSWER_NUM];
RPG::GDLGPIECE data;
}GDLGPIECE;
typedef struct tagGDlgAnswer
{
U32 dwID; //编号
U32 dwCmdID;
RPG::GDLGANSWER data;
}GDLGANSWER;
typedef struct tagGDialog
{
U32 dwID; //编号
U32 dwRequireID;//
U32 dwPieceID;
RPG::GDIALOG data;
}GDIALOG;
/////////////////////////////////////////////
//物品定义
typedef struct tagGGoodsDefine
{
U32 dwID;
RPG::GGOODSDEFINE data;
}GGOODSDEFINE;
typedef struct tagGGoods
{
U32 dwID;
U32 dwEfficacyID;
U32 dwRequireID;
STE sToNpc;
STE sFromNpc;
RPG::GGOODS data;
}GGOODS;
//////////////////////////////////////////////////
//人物数据
typedef struct tagGCharacter
{
U32 dwID; //编号
RPG::GCHARACTER data;
}GCHARACTER;
//////////////////////////////////////////////////
//NPC数据定义
typedef struct tagGNPC
{
U32 dwID; //编号
RPG::GCHARACTER dataChar;
RPG::GNPC data;
U32 dwEquipmentsID;
U32 dwBagGoodsID;
}GNPC;
//NPC对话关联
typedef struct tagGNPCDialog
{
U32 dwID;
//U32 dwNpcID;
STE sNpcName;
U32 dwDialogID;
}GNPCDIALOG;
//NPC任务关联
typedef struct tagGNpcTask
{
U32 dwID;
//U32 dwNpcID;
STE sNpcName;
U32 dwTaskID;
}GNPCTASK;
//////////////////////////////////////////////////
//玩家数据
typedef struct tagGPlayer
{
U32 dwID; //编号
//U32 dwCharacterID;
RPG::GCHARACTER dataChar;
RPG::GPLAYER data;
U32 dwEquipmentsID;
U32 dwBagGoodsID;
U32 dwSkillsID;
U32 dwActionsID;
U32 dwKeyCellsID;
}GPLAYER;
///////////////////////////
typedef struct tagGEquipments
{
U32 dwID;
U32 arUnits[EQUIP_SLOTNUM]; //装备槽
}GEQUIPMENTS;
///////////////////////////
typedef struct tagGBagGoods
{
U32 dwID;
U32 arUnits[BAG_SLOTNUM]; //背包槽
}GBAGGOODS;
///////////////////////////
typedef struct tagGSkills
{
U32 dwID;
U32 arUnits[SKILL_SLOTNUM]; //技能槽
}GSKILLS;
typedef struct tagGActions
{
U32 dwID;
U32 arUnits[ACTION_AMOUNT];
}GACTIONS;
typedef struct tagGKeyCells
{
U32 dwID;
U32 arUnits[KEY_CELL_AMOUNT];
}GKEYCELLS;
////////////////////////////////////////////////////
//通行证数据
typedef struct tagGPassport
{
U32 dwID;
STE pAccount;
STE pPassword;
//最多5个可玩人物
STE arPCs[RPG_PC_MAX];
}GPASSPORT;
/////////////////////////////////////////////////////////////////
//数据表模拟
#define DECLARE_DBTABLE(TYPE,Name)\
static TYPE ms_ar##Name##s[];\
static const U32 ms_n##Name##RecordNum
#define BEGIN_DBTABLE(TYPE,Name)\
TYPE Tables::ms_ar##Name##s[]={
#define END_DBTABLE(TYPE,Name)\
};\
const U32 Tables::ms_n##Name##RecordNum = sizeof(ms_ar##Name##s) / sizeof(TYPE);
#define DB_RECORDNUM(Name) DB::Tables::ms_n##Name##RecordNum
#define DB_TABLE(Name) DB::Tables::ms_ar##Name##s
#define DB_RECORD(Name,n) DB::Tables::ms_ar##Name##s[n]
#define DB_RECDAT(Name,n) DB::Tables::ms_ar##Name##s[n].data
#define DB_RECCHAR(Name,n) DB::Tables::ms_ar##Name##s[n].dataChar
/////////////////////////////////////
//数据表
class Tables
{
public:
DECLARE_DBTABLE( GEFFICACY, Efficacy);
DECLARE_DBTABLE( GEFFICACYSELF, EfficacySelf);
//DECLARE_DBTABLE( GREQUIRE, Require);
DECLARE_DBTABLE( GSCENE, Scene);
DECLARE_DBTABLE( GSCENENPC, SceneNpc);
DECLARE_DBTABLE( GSCENEPLAYER, ScenePlayer);
DECLARE_DBTABLE( GNPC, Npc);
DECLARE_DBTABLE( GNPCDIALOG, NpcDialog);
DECLARE_DBTABLE( GNPCTASK, NpcTask);
DECLARE_DBTABLE( GPLAYERTASKSTATE, PlayerTaskState);
DECLARE_DBTABLE( GTASKSTATE, TaskState);
DECLARE_DBTABLE( GTASKBASE, TaskBase);
DECLARE_DBTABLE( GTASK, Task);
DECLARE_DBTABLE( GTASKTASKPIECE, TaskTaskPiece);
DECLARE_DBTABLE( GTASKPIECE, TaskPiece);
DECLARE_DBTABLE( GDIALOG, Dialog);
DECLARE_DBTABLE( GDLGPIECE, DlgPiece);
DECLARE_DBTABLE( GDLGANSWER, DlgAnswer);
DECLARE_DBTABLE( GPASSPORT, Passport);
DECLARE_DBTABLE( GPLAYER, Player);
DECLARE_DBTABLE( GEQUIPMENTS, Equipments);
DECLARE_DBTABLE( GBAGGOODS, BagGoods);
DECLARE_DBTABLE( GSKILLS, Skills);
DECLARE_DBTABLE( GKEYCELLS, KeyCells);
DECLARE_DBTABLE( GACTIONS, Actions);
DECLARE_DBTABLE( GGOODSDEFINE, GoodsDefine);
DECLARE_DBTABLE( GGOODS, Goods);
};
};//namespace DB
};//namespace RPG
#endif //_RPG__RPGDATABASETABLES_H_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -