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

📄 goods_obj.h

📁 多人走路RPG服务器 c++ socket
💻 H
字号:
#ifndef GAMECITY_GOODS_OBJ_H

#define NONE								-1
#define Shop_MAX						50
#define User_name_size			20
#define GoodsObj_name_size	40
#define Words_name_size			30
#define	Goods_st_size				30
#define Body_st_size				10
#define Market_st_size			8
#define Goods_MAX						1550
#define Words_MAX						80
#define Goods_Box_size			60
#define Map_Human_MAX				10
#define Dust_MAX						50
#define Dust_TimeLife				90
#define Dust_Ran_MAX				5

class GoodsShop{
	public:

		int			m_id;
		char		m_GoodsList[4089];

		void init(int id,char *goodslist){
			m_id=id;
			strcpy(m_GoodsList,goodslist);
		}
};

class GoodsAtt{

	public:

		int attend;
		int magic;
		int sinew;
		int dexterity;
		int adroit;
		int luck;

		GoodsAtt();
		void init(void){
			GoodsAtt();
		}
};


struct GoodsEffect{
	int m_HP;
	int m_MP;
	int m_SP;
};


class GoodsWord{

	public:
		int id;
		char ahead[Words_name_size+1];
		char after[Words_name_size+1];
		GoodsAtt att;

		GoodsWord(){
			id=NONE;
			ahead[0]='\0';
			after[0]='\0';
		}
};

class GoodsObj {

	public:
		unsigned int		m_gid;
		char						m_name[GoodsObj_name_size+1];
		unsigned int		m_money;
		int							m_use_flag;
		int							m_market_flag;
		int							m_sell_flag;
		unsigned int		m_level;
		unsigned int		m_pattern;
		bool						m_ext;
		GoodsEffect			m_effect;
		GoodsAtt				m_att;
		GoodsAtt				m_confine;

		void				init(char **row);
};


class User_Goods_ST {

	public:
		
		int						m_gid;
		char					m_ext_name[User_name_size+1];
		char					m_color[10];
		int						m_ahead;
		int						m_after;
		unsigned int	m_lag;
		GoodsAtt			m_att;
		GoodsAtt			m_this_att;
		int						m_x;
		char					m_this_name[200];  //返回name
		char					m_this_full_att[400];

		void SetGoods(int gid,const char *ext_name,char *color,int lag,int ahead,int after,int x,GoodsAtt att);
		void SetFullName(void);
		void SetFullATT(void);
		void Get_Goods_Full_ATT(void);
		void init(void);
		User_Goods_ST(){
			init();
		}
};

class User_BOX {
	
	public:

		int							id;
		unsigned int		user_id;
		char						user_name[User_name_size+1];
		char						nick_name[Words_name_size+1];
		char						m_Sex[5] ;
		unsigned int		Level;
		unsigned int		Exp;
		bool						Vip_flag;
		int							HP;
		int							MP;
		int							SP;
		int							Money;
		int							State;
		int							Today_flag;
		bool						MarketOK;
		bool						SwapOK;					//		kbird
		char						MarketPlayer[User_name_size+1];
		int							MarketBOX[Market_st_size+1];
		int							time_SP ;
		GoodsAtt				baseAtt;
		GoodsAtt				addAtt;
		User_Goods_ST		m_body[Body_st_size];
		User_Goods_ST		m_st[Goods_st_size];

		void init(int sid,int userid,const char *username,const char *nickname,bool vipflag,char *mysex,char **row);
		int Find_Empty_ST(void);
		int Empty_ST_Count(void);
		bool Use_Goods(int st);
		bool Drop_Goods(int st);
		bool Add_Goods(int gid,const char *ext_name,int lag,char *color,int ahead,int after,int x,GoodsAtt att);
		bool Swap_Goods(int st1,int st2);
		bool Move_Goods_TO_Empty(User_Goods_ST tmpST);
		bool Move_Goods_TO_Site(User_Goods_ST tmpST,int st);
		int MoneyOperate(int money);
		int Change_Body_State(int state);
		void UnDefine_Emend(char *goodstr);
		void MarketBoxInit(void);
};

class Scene_Dust {

	public:

		bool show_flag;
		unsigned int mapX;
		unsigned int mapY;
		unsigned int lifetime;
		User_Goods_ST dust;

		void init(void);
		Scene_Dust(){
			init();
		}
};

void Define_Emend(char *emend,GoodsAtt *att);
void Define_Goods_Lib(char *goods,User_Goods_ST lib[],int size);
void Define_OLD_Body_Goods_Lib(char *goods,User_Goods_ST lib[]);
void Define_OLD_Goods_Att(char *var1,char *var2,User_Goods_ST *lib);
void mytrace(const char *str,int level);

extern GoodsObj GoodsDB[];
extern GoodsWord GoodsWordS[];
extern GoodsShop GoodsShopS[];

#endif

⌨️ 快捷键说明

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