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

📄 my_server.h

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

#include <listener.h>
#include <socket.h>
#include <time.h>
#include <stdlib.h>
#include <stdio.h>
#include "m_GameServer.h"
#include "goods_obj.h"

#define MSG_SMILEY								50
#define		MSG_SMILEY_EXP						33
#define		MSG_SMILEY_STATE					34
#define		MSG_SMILEY_ASPECT					35


#define	MSG_GOODS									51
#define		MSG_GOODS_BODY_ADD				33
#define		MSG_GOODS_BODY_DROP				34
#define		MSG_GOODS_BODY_SHOW				35
#define		MSG_GOODS_BODY_SWAP_POS		36
#define		MSG_GOODS_BODY_USE				37

#define		MSG_GOODS_DUST_DROP				38
#define		MSG_GOODS_DUST_ADD				39
#define		MSG_GOODS_DUST_SHOW				40
#define		MSG_GOODS_DUST_TAKE				41

#define		MSG_GOODS_MARKET_ASK						42
#define		MSG_GOODS_MARKET_OK							43
#define		MSG_GOODS_MARKET_CANCEL					44
#define		MSG_GOODS_MARKET_NOTMOVE				45
#define		MSG_GOODS_MARKET_ADD						46
#define		MSG_GOODS_MARKET_DROP						47
#define		MSG_GOODS_MARKET_SWAP						48
#define		MSG_GOODS_MARKET_OTHER_NOTMOVE	50
#define		MSG_GOODS_MARKET_OTHER_ADD			51
#define		MSG_GOODS_MARKET_OTHER_DROP			52

#define		MSG_GOODS_BODY_SALE				53

#define		MSG_GOODS_STREET_MC				54


#define MSG_BODY_S								52
#define		MSG_BODY_MY_STATE					33
#define		MSG_BODY_OTHER_STATE			34


#define MSG_SHOP_S								53
#define		MSG_SHOP_SHOW_LIST				33
#define		MSG_SHOP_BUY_LIST				34
#define		MSG_SHOP_BUY_CANCEL				35

#define MSG_AIM_S									54
#define		MSG_AIM_SHOW_MONEY				33
#define		MSG_AIM_TAKE_MONEY				34
#define		MSG_AIM_SAVE_MONEY				35


//家明------战斗
#define MSG_BATTLE			55
#define		SUB_BATTLE_NPC			33
#define		SUB_BATTLE_USER			34
#define		SUB_BATTLE_ATTACK		35
#define		SUB_BATTLE_RECOVERY		36
#define		SUB_BATTLE_MAGIC		37
#define		SUB_BATTLE_AWAY			38
//家明


//	kbird
#define MSG_GM_CMD							70
#define		MSG_GM_CMD_BULLETIN					30				//		发公告


#define		MINUTE							60
#define		HOUR							3600
#define		MAXMSG							20




//--------宠物类
// 家明
class C_UserPet {

	public:
		
		 int exp_table[10];
		int m_id;			//宠物ID
		char m_name[12];	//宠物名称
		int m_exp;			//经验
		int m_level;		//级别
		int m_skill_point;	//剩下的技能点

		int m_lv_status;	//级别状态(一转,二转等)

		int m_str;			//攻击力	
		int m_vit;			//体力
		int m_agi;			//速度
		int m_dex;			//命中
		int m_int;			//魔法力

		int m_hp;			//血
		int m_mp;			//魔法容量
		int m_str_attach;	//物理攻击
		int m_str_recovery;	//物理防御
		int m_int_attach;	//魔法攻击
		int m_int_recovery;	//魔法防御
		int m_parry;		//回避
		int m_hit;			//命中

		int m_friend;		//亲密度

		char m_int_att[5];	//魔法属性	
		int m_goods[5][2];	//掉宝率		goods[n][0]	物品ID,goods[n][1] 机率


	public:
		C_UserPet();
		~C_UserPet();
		bool AddAttribPoint(int r_str, int r_vit, int r_agi, int r_dex, int r_int);
		int ExpOpt(int exp);	//返回增加级别

};
// 家明
//-------- end





//	kbird	CMessage 公告消息类
class CMessage
{
private:
	char	m_Msg[512] ;			//		公告内容
	int		m_Interval ;			//		时间间隔
	int		m_TimeCount ;			//		计算过去的时间
	int		m_SendCount ;			//		发了多少次
	int		m_Count ;				//		要发多少次
public:
			CMessage();
			CMessage( int tt,int cc, char *msg );
	bool	SetTime( int tt, int cc, char *msg ) ;
	bool	GetMsg( char * ) ;
	bool	CheckTime() ;
	bool	CheckCount() ;
};

class MyGameServer : public GameServer {
	public:
		Scene_Dust SceneDust[Dust_MAX];

		MyGameServer(void);
		void time_process(void);

		bool MarketHumanGoods(User_BOX *me,User_BOX *you);
		int Find_Empty_Dust(void);
		bool Add_Dust_TO_MAP(User_Goods_ST dust,int mapx,int mapy);
		bool Add_ExtMC_TO_MAP(int ext_id,int mapx,int mapy);
		void Get_Dust_All_Goods(int player_id);
		bool Take_Dust(int player_id,int dust_id,int mapx,int mapy);
		void GetHumanStates(int player_id,int target_id);
		bool MarketEvent_ASK(int player_id,int target_id);
		bool MarketEventS(int event,int player_id,int target_id,int body_st,int market_st,int money);
};

class MyGamePlayer : public GamePlayer {
	
	public:

		MyGamePlayer(void);
		User_BOX	UserBody;
		char		UserLevel[20] ;

		int Sale_Body_Goods(char *goodslist);
		bool Buy_Shop_Goods(int shop_id,char *goodslist);
		void Get_Shop_Goods(int shop_id);
		void init(unsigned int id,char *p_name);
		void GetBodyAllGoods(void);
		void GetBodyAllArm(void);
		bool UseBodyGoods(int st,int gid);
		bool DropBodyGoods(int st,int gid);
		bool SwapBodyGoods(int st1,int st2,int gid1,int gid2);
		void GetHumanStates(void);
		int AIMEventS(int event,int money);

//		void GetPlayerStatus(char *buf);
//		void SetData(unsigned int fd,char *ext);

};

class MyGameRoomServer : public GameRoomServer {  //游戏大厅类
private:
	CMessage *m_pMsg[MAXMSG] ;
	int id ;
public:
		MyGameRoomServer(int,int);	
		void my_process(char p_msg1,char p_msg2,char p_msg3,char *p_data,int player_id,int server_n);
		int CheckPlayerLogin(const char *u_name,const char *u_pass,const char *u_ext);
		int SavePlayerInfo(int player_id,const char *name);

		void time_process(void);
		bool GmCommand( int p_msg2, char *p_data ) ;				//		GM 命令
		bool CheckBull() ;							//		Check 公告

};

void mytrace(const char *str,int level);

extern DataSQL mysql;


#endif

⌨️ 快捷键说明

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