📄 tgabase.h
字号:
////////////////////////////////////////////////////////////////////////////////////////
//
//
//
//
////////////////////////////////////////////////////////////////////////////////////////
#ifndef __TGABASE__H__
#define __TGABASE__H__
#define MAGIC_NUM 5857027 // Error Checking Number
//Jason 2004-08-20
#define MAX_ALLOWED_MOVE 400 //4鸥老
#define MAX_ALLOWED_ATTACK 500 //5鸥老
#define MAX_ALLOWED_PICKUP 300
// kuma add 2004 - 11 -18
//DEF_CHECKATTAKRANGE_MORE
#ifdef CHINESE_VERSION
#define MAX_ALLOWED_MOVEINAOI 1500
#define MAX_ALLOWED_ATTACKINAOI 800
#else // CHINESE_VERSION
#define MAX_ALLOWED_MOVEINAOI 2000 //MAX_AOITILE_SIZE / 2 * 100
#define MAX_ALLOWED_ATTACKINAOI 2000 //MAX_AOITILE_SIZE / 2 * 100
#endif // CHINESE_VERSION
#define OFFSET_ALLOWED_RANGE 100
#define MAX_ALLOWED_MISSILEATTACK 800
#define MAX_ALLOWED_HACK 10
#define MAX_ALLOWED_ATTACKHACK 10
class PlayerInfo;
////////////////////////////////////////////////////////////////////////////////////////
// IO Operation 惑怕
////////////////////////////////////////////////////////////////////////////////////////
typedef enum {
WRITE,
READ
}_IO_TYPE, *_LPIO_TYPE;
#define DBSOCKET_TYPE 0
#define MAPSOCKET_TYPE 1
typedef class {
public:
WSAOVERLAPPED ov; // 20
_IO_TYPE io; // 4
DWORD dwTransBytes; // :
DWORD dwTotalBytes;
LPVOID lpSocketContext;
bool bIsUse;
DWORD dwMagicNum; // Error Checking侩
BYTE nType ; // DB Socket or Map Socket
#if defined(DEF_SPEEDHACK) || defined(DEF_KORSPEEDHACK)
//Jason 2004-08-23-china
//胶乔靛 琴阑 棱绊磊 TICK阑 眠啊. ZEMIPACKET俊 眠啊 窍绊磊 沁栏唱
//备炼啊 函版 登扁 锭巩俊 咯扁俊 历厘饶 府矫宏矫 ZEMIPACKET狼 SEQ俊 颗变促.
DWORD dwCurrentSpeedTick;
#endif
} WSACORE , * _LPWSACORE ;
typedef class WSAMAP : public WSACORE {
public:
char buf[MAX_BUF_SIZE]; // 1024
}_PER_IO_CONTEXT,*_LPPER_IO_CONTEXT;
////////////////////////////////////////////////////////////////////////////////////////
// NOTENOTE: World Server 眠啊
////////////////////////////////////////////////////////////////////////////////////////
typedef class WSADB : public WSACORE {
public:
char buf[MAX_BULKBUF_SIZE]; // 1024 * 10
}_PER_BULK_IO_CONTEXT,*_LPPER_BULK_IO_CONTEXT;
////////////////////////////////////////////////////////////////////////////////////////
// 立加 Client包府 socket
//
// - SOCKET FD客 PLAYER INFO Class甫 烹钦矫糯
////////////////////////////////////////////////////////////////////////////////////////
typedef struct {
SOCKET socket; // Socket FD
DWORD nSeq; // SEQ 逞滚
DWORD nIO; // IO count
int nSendIO; // Send IO Count
bool bClose; // 秦寸 Sokcet狼 馆券 咯何 (true:馆券 false:荤侩吝)
bool bShutdown; // 秦寸 Sokcet狼 馆券吝 眉农 (true:馆券 false:荤侩吝)
DWORD dwMagicNum; // Error Checking侩
CRITICAL_SECTION SendCS;
struct sockaddr_in clientAddr; // Client IP Address
PlayerInfo *pPlayer; // Player 沥焊 包府 Class
BYTE PlayerStatus; // Player Status (READY/START/STOP)
// Jason 2004-07-22
bool bLog; // false - none
// true - normal
#if defined(DEF_SPEEDHACK) || defined(DEF_KORSPEEDHACK)
// badajoa 扁粮狼 何盒篮 昏力窃
// Jason 2004-08-16-china
DWORD dwStartSpeedTick[MAX_PACKETTYPE]; // Speed Hack Checking 阑 困茄 鸥烙
DWORD dwInitSpeedTick [MAX_PACKETTYPE]; // 捞矫埃 付促 檬扁拳甫 茄促.
DWORD dwOldSpeedTick [MAX_PACKETTYPE];
FLOAT nPacketCount [MAX_PACKETTYPE]; // Speed Hack Checking 阑 困茄 菩哦 肮荐 // 付过荤 扁甫 葛栏绰 矫埃 眉农甫 困秦 float肺
WORD nHackCount [MAX_PACKETTYPE]; // Hacking Count甫 扁废.
#ifdef DEF_SKILLHACK_CHANGEJOB
WORD nReactCount [MAX_PACKETTYPE]; // 府竣飘 倾侩 肮荐
#endif
WORD nWarningCount;
DWORD nSkillIndex; // 荤侩 SKILL INDEX (Duke Kim 2005.1.31)
#endif
//
// #ifdef DEF_AUTHCODE
//
// Jason 2004-10-06
DWORD dwAuthCode; // 牢刘 内靛
BYTE nMenuStatus; // 皋春 凯扁 惑怕
// #endif
#ifdef DEF_PACKETSIZEDOWN_BADAJOA20041011
DWORD dwMoveAOISendTime;
WORD wOldMoveX;
WORD wOldMoveY;
#endif
#ifdef DEF_FULLGUAGEHACK
DWORD dwSkillReadyTime;
DWORD dwSkillUseTime;
#endif
} _SOCKET_FD,*_LPSOCKET_FD;
////////////////////////////////////////////////////////////////////////////////////////
// DB包访 socket
////////////////////////////////////////////////////////////////////////////////////////
typedef struct {
SOCKET socket; // Socket FD
DWORD nIO; // IO count
struct sockaddr_in clientAddr; // Client IP Address
bool bClose; // 秦寸 Sokcet狼 馆券 咯何 (true:馆券 false:荤侩吝)
CRITICAL_SECTION SendCS;
} _DBSOCKET_FD,*_LPDBSOCKET_FD;
////////////////////////////////////////////////////////////////////////////////////////
// NPC 包访 困摹 沥焊甫 Memory俊 Load矫糯
//
////////////////////////////////////////////////////////////////////////////////////////
typedef struct
{
// BYTE nMapIndex; // Map Layer
BYTE nMapLayer; // Map Layer Duke Kim捞抚 函版
int nIndex; // DB狼 NPC狼 SEQ (Index)
int nRotation; // 积己 阿档 (NPC牢 版快 荤侩) 0~360
_POINT StartPoint; // 檬扁 积己 困摹
int nStrategy; // 捞悼 傈帆 锅龋
_POINT_TILE point[4]; // Point狼 X,Y困摹 Array
int nTargetIndex; // 捞悼 傈帆 吝 PURSUIT,PROTECT阑 急琶茄 版快 措惑 NPC Index
} _NPC_;
#endif // __TGABASE__H__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -