📄 packet.h
字号:
#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 + -