📄 base.h
字号:
#ifndef __BASE_H__
#define __BASE_H__
#include <time.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
///
/// Defines
///
#define VERSION "0.04a"
#define NUMVERSION 4#define CLIENT_VERSION 751
#define INVALID_ID 0
#define INVALID_CHARINDEX -1#define INVALID_SERVERINDEX 0xFF
#define MAX_TIMEOUT 30
typedef signed char s8;
typedef unsigned char u8;
typedef signed short s16;
typedef unsigned short u16;
typedef signed int s32;
typedef unsigned int u32;
typedef signed long long s64;
typedef unsigned long long u64;
///
/// Player
///
struct sStatus {
u16 Level;
u16 Defense;
u16 Attack;
union uMerchant {
unsigned char x;
struct sFlag {
u8 Merchant : 5;
u8 charDir : 3; /* Direcao que o personagem esta olhando */
} Flag;
} Merchant;
u8 MoveSpeed;
u16 mHP;
u16 mMP;
u16 cHP;
u16 cMP;
u16 STR;
u16 INT;
u16 DEX;
u16 CON;
u8 wMaster;
u8 fMaster;
u8 sMaster;
u8 tMaster;
};
struct sItem {
u16 ItemID;
u8 EF1;
u8 EFV1;
u8 EF2;
u8 EFV2;
u8 EF3;
u8 EFV3;
};
struct sPoint {
u16 X;
u16 Y;
};
struct sSkill { u8 Effect; u8 Master; u16 effVal; u32 sTime;};
struct sCharacter {
/* Info */
char Name[12]; u8 kPoint; u8 currentKill; u16 totalKill;
u8 Race; union uCity { u8 x; struct sFlag { u8 nop : 6; u8 ID : 2; } Flag; } City;
u16 charClass;
u16 Quest;
u32 Gold;
u32 Exp;
sPoint Last;
/* Status */
sStatus bStatus;
sStatus Status;
/* Items */
sItem Equip[16];
sItem Inventory[64];
/* Other Infos */
u32 sLearn;
u16 pStatus;
u16 pMaster;
u16 pSkill; u8 Critical;
u8 qSkillBar1[4];
u8 rHP;
u8 rMP; union uResist { u32 x; struct sFlag { u8 Resist3; u8 Resist4; u8 Resist1; u8 Resist2; } Flag; } Resist; u16 clientID; u8 qSkillBar2[16];
u32 Hold; /* Skills em uso */ sSkill Skill[16];
};
struct sAccount {
char Username[16];
char Password[12];
union uInfo {
u32 x;
struct sFlag {
u16 GMLevel;
u16 CharInfo;
} Flag;
} Info;
// Temp Data u32 errorLogin; time_t lasterror; time_t bantime;
u32 sGold; u32 accountID;
sItem Storage[126];
};
////// Packets///struct pHeader { u16 packetSize; u8 hash1; u8 hash2; u16 opCode; u16 clientID; u32 timeStamp;};////// Client///struct pCL_20Dh { pHeader Header; char userName[16]; char passWord[12]; u32 cliVer; u32 isClient; char Keys[16]; char pZero[52];};struct pCL_101h { pHeader Header; char strMessage[96];};////// DataServer (DB -> GS)////* Send Log */struct pGS_1h { pHeader Header; char strMessage[96];};/* Send Message */struct pGS_2h { pHeader Header; char strMessage[96];};/* Send Disconnect Client */struct pGS_3h { pHeader Header;};/* Send Account */struct pGS_4h { pHeader Header; sAccount account;};/* Send CharList */struct pGS_5h { pHeader Header; u32 isReSend; u32 charinfo; sCharacter Character[4];};/* Send Character */struct pGS_6h { pHeader Header; u32 charIndex; sCharacter Character;};////// GameServer (GS -> DB)////* Request Login */struct pDB_1h { pHeader Header; u32 isGameServer;};/* Send Ping */struct pDB_2h { pHeader Header;};/* Request Login */struct pDB_3h { pHeader Header; char username[16]; char password[12];};/* Request Save Account */struct pDB_4h { pHeader Header; sAccount account;};/* Request Create Char */struct pDB_5h { pHeader Header; u32 charinfo; u32 charindex; char username[16]; char charname[16]; u32 charclass;};/* Request Delete Char */struct pDB_6h { pHeader Header; u32 charinfo; u32 charindex; char username[16]; char charname[16];};/* Request Enter Game */struct pDB_7h { pHeader Header; u32 charinfo; u32 charindex; char username[16];};
/* Request Save Character */
struct pDB_8h {
pHeader Header;
char userName[16];
u32 charIndex;
sCharacter Character;
};
/* Request Save Account and Character */
struct pDB_9h {
pHeader Header;
sAccount account;
u32 charindex;
sCharacter character;
};
#endif // __BASE_H__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -