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

📄 packet.h

📁 决战帝王1.5武神降临对喜爱决战的玩家共享研究用
💻 H
📖 第 1 页 / 共 5 页
字号:
#ifndef _PACKET_H_
#define _PACKET_H_

#define ACCOUNT_LENGTH		12
#define PASSWORD_LENGTH		12
#define CHAR_NAME_LENGTH	30
#define	CHAR_NAME_LENGTH_CLIENT 16
#define GUILD_MARK_SIZE		384
#define GUILD_MAP_COUNT		40 //  40俺
#define TEL_NAME_LENGTH		20
#define SHOP_NAME_LENGTH	13

#define CLASS_NUM			4

#define SKILL_NUM			5
#define SKILL_LEVEL			41

//#define SKILL_NAME_LENGTH	14

#define EQUIP_ITEM_NUM		10
#define	INVENTORY_NUM		24
//#define QUICK_ITEM		5
#define EBODY_NUM			4
#define GUARDIAN_NUM		1
#define TOTAL_SKILL_NUM			(CLASS_NUM * SKILL_NUM)
//#define TOTAL_CLASS_SKILL_NUM	(SKILL_NUM * SKILL_LEVEL)

#define TOTAL_PSI_NUM		32

#define MAX_ITEM_NUM		255			// 窍唱狼 浇吩寸 家蜡且荐乐绰 弥措蔼
#define BANK_MAX_ITEM		1000		// 茄浇吩寸 家蜡且荐 乐绰 荐
#define ACCOUNT_BANK_MAX_ITEM	32767	// 拌沥 篮青俊 茄浇吩寸 家蜡且荐 乐绰 荐

#define TOTAL_BANK_ITEM_NUM 48
#define TOTAL_ACCOUNT_BANK_ITEM_NUM 150

#define TOTAL_PERSONALSHOP_ITEM_NUM 7

#define TOTAL_INVEN_MAX		((EQUIP_ITEM_NUM + INVENTORY_NUM))
#define TOTAL_ITEM_NUM		((EQUIP_ITEM_NUM + INVENTORY_NUM + EBODY_NUM + 1))
//#define TOTAL_ITEM_SLOT_NUM ((EQUIP_ITEM_NUM + INVENTORY_NUM + QUICK_ITEM))
//#define TOTAL_USER_ITEM_NUM	((TOTAL_ITEM_NUM + EBODY_ITEM))

#define _SKILL_SIZE			((sizeof(short) + sizeof(BYTE)))
#define _ITEM_SIZE			((sizeof(short) * 5) + (sizeof(BYTE) * 11) + (sizeof(BYTE)))
#define _PSI_SIZE			((sizeof(short) + sizeof(BYTE)))
#define _SKILLINFO_SIZE		((sizeof(BYTE) + sizeof(DWORD)))

#define USER_SKILL_LEN		(_SKILL_SIZE * TOTAL_SKILL_NUM)
#define USER_ITEM_LEN		(_ITEM_SIZE * TOTAL_ITEM_NUM)

#define USER_SKILLINFO_LEN	(_SKILLINFO_SIZE * TOTAL_SKILL_NUM)

#define EQUIP_SLOT			0
#define INVENTORY_SLOT		1
//#define QUICK_SLOT			2
#define TRADE_SLOT			3
#define BANK_SLOT			4
#define GUILD_SLOT			5
#define ACCOUNT_BANK_SLOT	6

#define BRAWL				0		// Character Making 矫 荤侩登绰 努贰胶 箭磊
#define STAFF				1
#define	EDGED				2
#define FIREARMS			3
#define NOCLASS				4

#define BRAWL_ITEM			8		// Item Table 俊 沥狼等 努贰胶 箭磊
#define STAFF_ITEM			4
#define	EDGED_ITEM			2
#define FIREARMS_ITEM		1

#define MAX_MOVE_TIME		100

#define ATTACK_UPGRADE_BAND		16	// 拱府单固瘤 公扁 诀弊饭捞靛矫 单固瘤 刘啊蔼
#define ATTACK_UPGRADE_PSI_BAND	4	// 荤捞坷葱 公扁 诀弊饭捞靛矫 单固瘤 刘啊蔼
#define DEFENSE_UPGRADE_BAND	4	// 规绢备 诀弊饭捞靛矫 规绢仿 刘啊蔼

const BYTE SUCCESS				=	1;
const BYTE FAIL					=	0;
const BYTE SUCCESS_ZONE_CHANGE	=	2;

const BYTE ERR_1				=	1;
const BYTE ERR_2				=	2;
const BYTE ERR_3				=	3;
const BYTE ERR_4				=	4;
const BYTE ERR_5				=	5;
const BYTE ERR_6				=	6;
const BYTE ERR_7				=	7;
const BYTE ERR_8				=	8;
const BYTE ERR_9				=	9;
const BYTE ERR_10				=	10;
const BYTE ERR_11				=	11;
const BYTE ERR_12				=	12;
const BYTE UNKNOWN_ERR			=	255;

const BYTE ERR_SHORT_ATTACK_DELAY	= 0;
const BYTE ERR_TOO_LONG_DISTANCE	= 1;
const BYTE ERR_BROKEN				= 2;
const BYTE ERR_EMPTY_BULLET			= 3;
const BYTE ERR_EMPTY_ENERGE			= 4;
const BYTE ERR_EMPTY_SP				= 5;

const BYTE INFO_MODIFY			=	1;
const BYTE INFO_DELETE			= 	2;
const BYTE INFO_TOWNPOTAL		=   3;
const BYTE INFO_TOWNPOTAL_DELETE=	4;

const BYTE ITEM_INFO_MODIFY		=	1;
const BYTE ITEM_INFO_DELETE		=	2;
const BYTE ITEM_INFO_PICKUP		=	3;

const BYTE NORMAL_CHAT			=	1;
const BYTE WHISPER_CHAT			=	2;
const BYTE SHOUT_CHAT			=	3;
const BYTE GUILD_CHAT			=	4;
const BYTE BUDDY_CHAT			=	5;
const BYTE BUDDY_INVITE			=	6;
const BYTE BUDDY_OFF			=	7;
const BYTE MOP_CHAT				=	10;
const BYTE WHISPER_OK			=	11;
const BYTE WHISPER_DENY			=	12;

const BYTE CALL_CHAT			=	15;		// 漂沥蜡历 家券
const BYTE REMOTE_CHAT			=	16;		// 漂沥蜡历 漂沥谅钎肺 碍力 捞悼
const BYTE MOP_CALL_CHAT		=	17;		// 漂沥各 漂沥谅钎肺 碍力 捞悼

const BYTE GUILD_INVITE			=	18;		// 辨靛 啊涝
const BYTE GUILD_DISPERSE		=	19;		// 辨靛 秦魂
const BYTE GUILD_OFF			=	20;		// 辨靛 呕硼
const BYTE GUILD_KICK_OUT		=	21;		// 辨付啊 辨靛盔 眠规

const BYTE ITEM_MODE_CHAT		=	22;		// 酒捞袍 罐扁 铰倡, 芭例甫 钎矫

const BYTE OP_CLOAK_ON			=	23;		// 款康磊 捧疙葛靛肺
const BYTE OP_CLOAK_OFF			=	24;		// 款康磊 捧疙葛靛 秦力肺...
const BYTE ALL_CHAT				=	25;		// 傈眉 立加磊俊霸 皋技瘤甫 焊辰促.
const BYTE GUILD_FIELD_WAR		=   26;		// 惑措 辨靛甫 惑措肺 鞘靛傈阑 脚没茄促.
const BYTE GUILD_SURRENDER		=   27;		// 惑措 辨靛甫 惑措肺 亲汗茄促.
const BYTE PK_COUNT_CHAT		=	28;
const BYTE COPY_TELEPORT		=	29;		// 瘤沥茄 惑措规苞 鞍捞 捞悼茄促.
const BYTE GUILD_USER_CHECK		=	30;		// 傈眉 辨靛盔 格废甫 焊咯霖促.
const BYTE GUILD_WAR_APPLY_LIST =	31;		// 辨傈阑 脚没茄 傈眉 辨靛 格废阑 焊咯霖促.
const BYTE GUILD_FORTRESS_DOOR	=	32;		// 器飘府胶 己巩阑 凯绊 摧绰促.
const BYTE GUILD_DEPUTE_POWER	=	33;		// 辨付 鼻茄阑 何辨付俊霸 困烙
const BYTE GUILD_STOP_POWER		=	34;		// 何辨付 鼻茄阑 沥瘤
const BYTE GUILD_USER_INFO_CALL =	35;		//yskang 0.2
const BYTE GUILD_CALL_CHAT		=	36;		//yskang 0.2 器飘府胶甫 啊瘤绊 乐绰 辨靛炉捞 漂沥 蜡历甫 家券茄促.

const BYTE SYSTEM_SPECIAL		=	0;		// 漂喊 沥焊
const BYTE SYSTEM_NORMAL		=	1;		// 老馆 沥焊
const BYTE SYSTEM_ERROR			=	2;		// 俊矾沥焊
const BYTE SYSTEM_NPC			=	3;		// NPC 措拳
const BYTE SYSTEM_ANNOUNCE		=	4;		// 款康磊 皋技瘤 沥焊
const BYTE SYSTEM_DISCONNECT	=	5;		// 矫埃 荤侩磊 辆丰沥焊	

// Hit Mark List (Skill List)
const BYTE HIT_NONE				=	0;
const BYTE HIT_DAMAGE_C			=	1;
const BYTE HIT_VITAL_C			=	2;
const BYTE HIT_DELAY_C			=	3;
const BYTE HIT_CONCENTRATE		=	4;
const BYTE HIT_PSY_ACCLIMATE	=	5;
const BYTE HIT_FAST_CAST		=	6;
const BYTE HIT_WEAPON_ACCLIMATE	=	7;
const BYTE HIT_FAST_ATTACK		=	8;
const BYTE HIT_OUT_RANGE		=	9;
const BYTE HIT_STRAFE			=	10;
const BYTE HIT_BROKEN			=	11;
const BYTE HIT_FIXED			=	12;
const BYTE HIT_OVERHIT			=	13;
const BYTE HIT_FIRE				=	14;
const BYTE HIT_ICE				=	15;
const BYTE HIT_LIGHT			=	16;
const BYTE HIT_NUMB				=	17;
const BYTE HIT_POISON			=	18;
const BYTE HIT_C_GUARD			=	19;

const BYTE PSI_TELEPORT			=	7;

const BYTE BBS_NOT_OWNER		=	2;
const BYTE BBS_CONTENTS_DELETE	=	3;

// 惑怕捞惑 沥焊
//#define _ABNORMAL_DB			5

const BYTE ABNORMAL_TIME			=	0;
const BYTE PSI_ONE_TIME				=	1;
const BYTE PSI_TWO_TIME				=	2;
const BYTE PSI_THREE_TIME			=	3;

const BYTE ABNORMAL_BYTE_NONE		=	0;
const BYTE ABNORMAL_BYTE_POISON		=	1;
const BYTE ABNORMAL_BYTE_CONFUSION	=	2;
const BYTE ABNORMAL_BYTE_PARALYSIS	=	3;
const BYTE ABNORMAL_BYTE_BLIND		=	4;
const BYTE ABNORMAL_BYTE_LIGHT		=	5;
const BYTE ABNORMAL_BYTE_FIRE		=	6;
const BYTE ABNORMAL_BYTE_COLD		=	7;

const DWORD ABNORMAL_NONE			=	0;
const DWORD ABNORMAL_POISON			=	1;
const DWORD ABNORMAL_CONFUSION		=	1 << 2;
const DWORD ABNORMAL_PARALYSIS		=	1 << 3;
const DWORD ABNORMAL_BLIND			=	1 << 4;
const DWORD ABNORMAL_LIGHT			=	1 << 5;
const DWORD ABNORMAL_FIRE			=	1 << 6;
const DWORD ABNORMAL_COLD			=	1 << 7;
const DWORD ABNORMAL_HASTE			=	1 << 8;
const DWORD ABNORMAL_SHIELD			=	1 << 9;
const DWORD ABNORMAL_HIDE			=	1 << 10;
const DWORD ABNORMAL_DEX_UP			=	1 << 11;
const DWORD ABNORMAL_MAX_HP_UP		=	1 << 12;
const DWORD ABNORMAL_ADAMANTINE		=	1 << 13;
const DWORD ABNORMAL_MIGHTYWEAPON	=	1 << 14;
const DWORD ABNORMAL_BERSERKER		=	1 << 15;
const DWORD ABNORMAL_HIEXP			=	1 << 16;
const DWORD ABNORMAL_MAGICFIND		=	1 << 17;
const DWORD ABNORMAL_NOCHAT			=	1 << 18;

const DWORD ABNORMAL_FASTRUN		=	1 << 19;
const DWORD ABNORMAL_MINDSHOCK		=	1 << 20;
const DWORD ABNORMAL_MINDGUARD		=	1 << 21;
const DWORD ABNORMAL_PSISHIELD		=	1 << 22;
const DWORD ABNORMAL_PIERCING_SHIELD=	1 << 23;
const DWORD ABNORMAL_BIGSHIELD			=	1 << 30;

const DWORD OPERATION_MODE			=	1 << 31;	// 款康磊 捧疙 可记

const DWORD ABNORMAL_CLEAR_STATUS	= (0xFFFFFFFF ^ (ABNORMAL_POISON | ABNORMAL_CONFUSION | ABNORMAL_PARALYSIS | ABNORMAL_BLIND | ABNORMAL_LIGHT | ABNORMAL_FIRE | ABNORMAL_COLD));
const DWORD	ABNORMAL_CLEAR_PSI_ONE	= (0xFFFFFFFF ^ (ABNORMAL_HASTE | ABNORMAL_SHIELD | ABNORMAL_HIDE | ABNORMAL_DEX_UP | ABNORMAL_MAX_HP_UP | ABNORMAL_FASTRUN | ABNORMAL_PSISHIELD | ABNORMAL_PIERCING_SHIELD | ABNORMAL_MINDSHOCK));
const DWORD ABNORMAL_CLEAR_PSI_TWO	= (0xFFFFFFFF ^ (ABNORMAL_ADAMANTINE | ABNORMAL_MIGHTYWEAPON | ABNORMAL_BERSERKER));
const DWORD ABNORMAL_CLEAR_PSI_THREE= (0xFFFFFFFF ^ (ABNORMAL_MINDGUARD));

const short TYPE_MONEY_SID		=	10000;	// 酒捞袍 苞 捣阑 备盒窍扁困秦 sid甫 农霸 棱疽促.

/*
BYTE	NORMAL_ITEM		= 0;
BYTE	REMODEL_ITEM	= 1;
BYTE	MAGIC_ITEM		= 2;
BYTE	RARE_ITEM		= 3;
BYTE	UNIQUE_ITEM		= 4;
BYTE	SET_ITEM		= 5;
BYTE	UPGRADE_ITEM	= 6;
*/

const BYTE HP_POTION			= 1;
const BYTE PP_POTION			= 2;
const BYTE SP_POTION			= 3;
const BYTE ALL_POTION			= 4;
const BYTE SALUTE				= 5;
const BYTE EXP_POTION			= 6;
const BYTE MAGIC_POTION			= 7;
const BYTE KILLREMOVE_POTION	= 8;
const BYTE DEAD_POTION			= 9;
const BYTE XMAS_SALUTE			= 10;
const BYTE YEAR_SALUTE			= 11;

//#################################################################
//	Zone Server
//#################################################################
const BYTE	SERVER_LOGIN_REQ			= 1;

const BYTE	SERVER_LOGIN_RESULT			= 2;

const BYTE	SERVER_USER_LOGIN_REQ		= 3;

const BYTE	SERVER_USER_LOGIN_RESULT	= 4;

const BYTE	SERVER_DOUBLE_ACCOUNT_CLOSE = 5;

const BYTE	SERVER_DOUBLE_ID_CLOSE		= 6;

const BYTE	SERVER_USER_LOGOUT_REQ		= 7;

const BYTE	SERVER_USER_ZONELOGIN_REQ	= 8;

const BYTE	SERVER_USER_ZONELOGIN_RESULT= 9;

const BYTE	SERVER_USER_WHISPER_ONOFF	= 10;

const BYTE	SERVER_USER_WHISPER_REQ		= 11;

const BYTE	SERVER_USER_WHISPER_RESULT	= 12;

const BYTE	SERVER_USER_GUILD_CHAT		= 13;

const BYTE	SERVER_GUILD_NEW			= 14;

const BYTE	SERVER_GUILD_DISPERSE		= 15;

const BYTE	SERVER_GUILD_INVITE			= 16;

const BYTE	SERVER_GUILD_OFF			= 17;

const BYTE	SERVER_GUILD_MARK			= 18;

const BYTE	SERVER_USER_RESTART			= 19;

const BYTE	SERVER_USER_ZONE_LOGOUT		= 20;

const BYTE	SERVER_ALIVE				= 21;

const BYTE	SERVER_ANNOUNCE				= 22;

const BYTE	SERVER_ARK_WINNER			= 23;

const BYTE  SERVER_GUILD_SUBMASTER_ON	= 24;

const BYTE  SERVER_GUILD_SUBMASTER_OFF	= 25;

const BYTE	ZONE_LOGIN_REQ				= 233;
/*
	(C -> S)	// 促弗 辑滚俊辑 淬寸窍绰 粮栏肺 粮眉牢瘤甫 且锭  (鞠龋拳 救窃)

	VarChar		id[ACCOUNT_LENGTH];				// Account ID
	VarChar		pass[PASSWORD_LENGTH];			// Account Password
	VarChar		szCharName[CHAR_NAME_LENGTH];	// CharName

	short		myserver;
*/

const BYTE	ZONE_LOGIN_RESULT			= 234;
/*
	(C <- S)	// Game Login Result  (鞠龋拳 救窃)

	BYTE		result;			// 01	: Login Success
								// else	: Login Fail

	// 角菩牢 版快 ------		// 01	: Invaild ID
								// 02	: DB俊 绝绰 ID
								// 03	: Invalid Zone Number
								// 04	: Invalid Position
								// 05	: 泅犁 ID 荤侩吝
								// ...
								// 255	: 舅 荐 绝绰 俊矾

	short		CurrZone;		// 泅犁 Zone Number
	int			uid;			// User Index
	short		PosX;			// Map 狼 X 谅钎
	short		PosY;			// Map 狼 Y 谅钎

	BYTE		tDir;			// 泅犁 焊绊乐绰 规氢

	BYTE		tTime;			// 矫埃(0~24)
	BYTE		tMinute;		// 盒  (0~60)


    Varchar		public_key;		// int64
	DWORD		dwSerial;		// 矫府倔 矫累 锅龋
*/


// CHAR INFO SERVER
const BYTE CIS_DISCONNECT				= 235;
/*
*/

//#################################################################
//	辑滚 抛胶飘 内靛烙 (2001-11-15)
//#################################################################
const BYTE CHECK_ALIVE_REQ		= 255;
/*
	(C -> S)
*/
const BYTE CHECK_ALIVE_RESULT	= 255;
/*
	(C <- S)
*/

const BYTE CLIENT_TICK			= 254;
/*
	(C -> S) // Speed Hack 阑 阜扁困秦 5檬付促 努扼捞攫飘俊辑 辑滚肺 焊郴绰 菩哦
*/

//const BYTE SERVER_TICK_RESULT	= 6;
/*
	(C <- S)
	DWORD	dwTick;				// Server狼 泅犁 Tick.
*/

const BYTE DB_USER_COUNT			= 253;
/*
	(S <- S)						//
*/

const BYTE DB_GUILD_WHEREHOUSE_EVENT_REQ = 252;
/*
	(S <- S)						//
*/

const BYTE DB_GUILD_ITEM_MOVE_REQ	= 251;
/*
	(S <- S)						//
*/

const BYTE ANNOUNCE_NOTICE			= 250;
/*
	(C -> S)						// 傈眉辑滚俊 老褒利牢 傍瘤甫困秦
	String		strMsg;
*/

const BYTE ENCRYPTION_PKT			= 249;
/*									// 鞠龋拳甫 狼固
*/

const BYTE DB_USER_DEAD				= 248;
/*									// 蜡历啊 磷菌阑锭 肺弊甫 巢辫
*/

//#################################################################
//	Information		(1 ~ 9)
//#################################################################

const BYTE USER_INFO			=	1;
/*
	(C <- S)		// Send User Info

	BYTE		Mode;			// 01(INFO_MODIFY)	: 蜡历沥焊 函版
								// 02(INFO_DELETE)	: 蜡历沥焊 昏力
								// 03(INFO_TOWNPOTAL)		 : 蜡历啊 鸥款器呕 荤侩 -> 付阑 柳涝
								// 04(INFO_TOWNPOTAL_DELETE) : 蜡历啊 鸥款器呕肺 捞悼, 蜡历 沥焊 昏力

	int			uid;			// User index

	// Mode 啊 INFO_MODIFY 牢 版快父 酒贰狼 单捞磐 傈价
	VarChar		szName;			// User Name
	short		nPosX;			// X Position
	short		nPosY;			// Y Position

	DWORD		dwSkin;			// 乔何祸(COLORREF)
	DWORD		dwHair;			// 赣府祸(COLORREF)
	BYTE		byGender;		// 巢, 咯

	char		szFace[10];		// 倔奔葛剧

⌨️ 快捷键说明

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