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

📄 protocols.h

📁 混乱竞技场的全套代码,客户端资源可以网上搜
💻 H
字号:
                             // protocol.h: interface for the net_lib class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_PROTOCOL_H__F914925A_07DE_4EBB_B14C_2E787759E3D5__INCLUDED_)
#define AFX_PROTOCOL_H__F914925A_07DE_4EBB_B14C_2E787759E3D5__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "net_lib\\net_lib.h"

//协议定义											数据内容说明

#define GSP_CONNECT			0x1001					//无
#define GSP_LOGIN			0x1002					//账号,密码
#define GSP_LOGOUT			0x1003					//id
#define GSP_TALK			0x1004					//来源,对方id,对话文本
#define GSP_SPEEK			0x1005					//来源,说话者id,说话文本

#define GSP_ADD_UNIT		0x1011					//id
		struct STRUCT_ADD_UNIT {
			uint32	uid;
			uint16	unit_flag;
			uint16	unit_type;
			LONG pos_x;
			LONG pos_y;
			LONG pos_h;
			float face_to;
			//name
			char	str_name[20];
			//base
			short			base_level;
			int				base_experience;
			int				base_life;
			int				base_mana;
			short			base_damage;
			short			base_strength;
			short			base_agility;
			short			base_magic;
			//state
			float			life;
			float			mana;
			uint32			status;
			int				count_pk;
			int				count_hunter;
			int				count_die;
			//extern
			int				exp_level;
			int				exp_level_up;
		};
#define GSP_DEL_UNIT		0x1012					//id
		struct STRUCT_DEL_UNIT {
			uint32	uid;
		};

#define GSP_UPDATE_STATE	0x1020
		struct STRUCT_UPDATE_STATE {
			uint32	uid;
			LONG	src_x;
			LONG	src_y;
			LONG	src_h;
			float	face_to;
		};
		

#define	GSP_HANDLE_PLACE	0x1021
			struct STRUCT_HANDLE_POSITION
			{//操作位置
				LONG	src_x;
				LONG	src_y;
				LONG	src_h;
				LONG	dest_x;
				LONG	dest_y;
				LONG	dest_h;
			};
		struct STRUCT_HANDLE_PLACE {
			uint32	uid;					//发指令的角色id
			uint16	action;					//请求做的操作类型
			STRUCT_HANDLE_POSITION	pos;
		};
#define GSP_HANDLE_UNIT		0x1022
			//攻击效果
			struct STRUCT_EFFECT_SPECIFIC {
				uint32	uid_victim;
				float	life_alter;
				float	mana_alter;
				float	life_alter_obj;
				float	mana_alter_obj;
				short	experience_alter;
				uint32	flag_special;
				float	value_special;
				uint32	uid_action_type;
			};
		struct STRUCT_HANDLE_UNIT {
			uint32	uid;					//发指令的角色id
			uint16	action;					//请求做的操作类型
			uint32	uid_obj;				//目标角色的id
			uint32	uid_action_type;		//具体的动作id
			union	
			{
				//客户端-->服务器端
				STRUCT_HANDLE_POSITION pos;
				//服务器端-->客户端
				STRUCT_EFFECT_SPECIFIC effect_specific;
				
			};
		};

//-------------攻击的实现方式---------------------
//1.客户端向服务器端发送攻击和攻击类型的请求(GSP_HANDLE_UNIT),服务器端做位置较验和攻击类型的较验,确认后算出攻击效果,然后广播到周围的客户端,客户端执行动作
//2.客户端进行攻击的打击检测,确认击中目标后把效果后显示伤害效果(冒数字),然后由当事的客户端把效果传回到服务器端,服务器端更新单位属性
//action定义
#define GSACT_AIM_OBJECT	0x1001					//选定目标
#define GSACT_ATTACK		0x1002					//攻击
#define GSACT_SPELL			0x1003					//魔法
#define GSACT_REVIVE		0x1101

//文件传输
#define FTP_				0x1700
#define FTP_SEND_QUERY		0x1701					//传输线号,传输线总数,起始位置
#define FTP_SEND_PART		0x1702					//传输线,文件位置,文件数据
#define FTP_SEND_REPLY		0x1703					//传输线,传输总长度
#define FTP_RESULT			0x1704					//传输耗时,传输的字节数量,文件总字节数,文件名

#define FTP_QUERY_PATCH		0x1710		//补包		//文件名,文件位置

#define FTP_FILE_QUERY		0x1750					//文件名
#define FTP_FILE_REPLY		0x1751					//文件名,文件大小

#define FTP_UPDATE_RESULT	0x1790					//文件更新

#define IS_PROTOCOL(p,pkind)	(p & 0xff00)==pkind



#endif // !defined(AFX_PROTOCOL_H__F914925A_07DE_4EBB_B14C_2E787759E3D5__INCLUDED_)

⌨️ 快捷键说明

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