📄 protocols.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 + -