📄 commoninclude.h
字号:
#pragma once
#ifndef _COMMON_INCLUDE_
#define _COMMON_INCLUDE_
#include <string>
using namespace std;
#pragma warning(disable: 4996)
#define SKILLNUM 7
#define OBJECTNUM 10
#define EQUIPNUM 3
//命令类型
enum CMD{
//游戏命令
CMD_AUTHEN=1, //验证
CMD_REGISTER, //注册
CMD_CREATEROLE, //创建角色
CMD_GETOBJLIST, //获取npc物品列表
CMD_SELLOBJ, //买东西
CMD_GETOLLIST, //获取在线列表
CMD_GETROLEINFO,//获取角色信息
CMD_GETOBJECTINFO,//获取物品资源信息
CMD_GETNPCINFO,//获取npc信息
CMD_CHECKHASNPC,//核实是否有npc
CMD_GETLEVELINFO,//获取等级信息
CMD_GETMONSTERINFO,//获取怪物信息
CMD_GETSKILLINFO,//获取技能信息
CMD_NOTICE,//宝物通知
//发话命令
CMD_SPEAK,
CMD_GETMESSAGE,
//更新数据部分命令
CMD_UPDATE,//更新
CMD_UPDATEROLEINFO//战斗后角色信息更新
};
//命令结构
typedef struct tagCommand
{
CMD CommandID;//命令类型
int DataSize;//后续数据大小
}SCommand;
//当前操作:接收命令,接收数据,执行命令
enum SCurrOp
{recvCmd,recvData,execCmd};
//物品类型:防具,武器,鞋子,药品(具体类型)
enum objectType
{OT_ARMOUR=1,OT_ARM,OT_SHOE,OT_HP,OT_MP};
//技能
struct skill
{
char skillName[20];//技能名称
int damage;//伤害
int needmp;//消耗的mp
//int needlevel;//需要等级
};
//物品,包括:装备,武器,药品,
struct Myobject
{
char objectName[20];//物品名称
objectType moType;//物品类型
int value;//物品值
int buy;//物品够买价格
int needLevel;//需要等级
};
typedef struct tagPackage
{
string ownObjectName;
int num;
}Package;
//经验
struct exp
{
int currLevel;
int needExp;
};
//怪物数据
struct monster
{
char monsterName[20];
int hp;
int mp;
int attack;
int defence;
int hasmoney;
int hasexp;
int ct;//敏捷
int prob;
char skillName[20];
int skilldamage;
int needmp;
};
//npc信息
struct npc
{
char npcName[20];
char item1[16];//所卖东西名称
char item2[16];
char item3[16];
char item4[16];
char item5[16];
};
//地图信息结构
struct tagmapinfo
{
char mapName[20];
};
//在线玩家数据
struct OnLineList
{
char uName[20];//用户名
char nName[20];//昵称
int pos[2];//地图位置
};
//角色职业
enum occupation
{OC_WARRIOR,OC_RABBI,OC_DOCTOR};
//性别
enum sex
{FEMALE,MALE};
struct LevelInfo
{
int curlv;
int hp;
int mp;
int attack;
int defendence;
int celerity;
int needexp;
char hasskill[20];
};
//角色信息
struct player
{
char nickName[20];//昵称
int hp;//hp值
int mp;//mp值
int attack;//攻击
int defendence;//防御
int celerity;//敏捷
int money;//金钱
int exp;//经验
occupation ownOccup;//职业
sex ownSex;//性别
string ownEquip[EQUIPNUM];//身上装备名称(目前只有防具,武器,鞋子3种装备可以装备)
string ownSkill[SKILLNUM];//技能数组(最多只支持7个技能)
Package ownObject[OBJECTNUM];//包裹物品信息(最多只能带10类物品)
int pos[2];//地图位置,[0]row,[1]vol
int level;//等级
};
//消息结构
struct GameMessage
{
char message[512];//信息体
char recver[20];//接收人
};
//数据操作类型
enum dbOpType
{DBOP_TYPE_NUM=1,DBOP_TYPE_STRING,DBOP_TYPE_ALL};
//新的更新数据结构
struct updateNewDS
{
char op[40];//更新的操作项
dbOpType opType;//操作类型
char item[20];//更新信息
int num;//数目
};
//客户端数据定义
#ifdef _CLIENT_INCLUDE_
const int mapCow=4;
const int mapVol=4;
//地图描述
char* map[mapCow][mapVol]={
"落云村","十里坡","枫叶古道","侠客岛",
"龙门小镇","乐山大佛","幽冥谷","苍茫山",
"未名湖","洛阳集镇","黄山镇","桃花岛",
"苍凉荒漠","西海草原","玄冰宫","天山天池"
};
//特殊装备
char* spEquip[5]={
"龙之伏魔剑",
"虎之天魔锤",
"凤之五彩衣",
"风之踏燕履",
"火之烈焰甲"
};
//npc物品栏数目
#define GOODSNUM 5
enum dir
{EAST,SOUTH,WEST,NORTH};
#endif
//服务器端函数
#ifdef _SERVER_INCLUDE_
#import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename("EOF", "adoEOF")
//封装的套接字结构,
typedef struct tagSocketInfo
{
SOCKET socket;
char username[20];
bool isAuthen;
SCurrOp scurrop;
SCommand scmd;
char * data;
}SocketInfo;
enum DBopCmd
{DB_ADD=1,DB_UPDATE,DB_CMP};
#endif
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -