?? char.h
字號:
#ifndef __CHAR_H__#define __CHAR_H__#include "common.h"#include "char_base.h"#include "net.h"#include "char_data.h"/*------------------------------------------------------------ *白巧件玄及縉及爛聒 *------------------------------------------------------------*/typedef enum{ CHAR_COLORWHITE, CHAR_COLORCYAN, CHAR_COLORPURPLE, CHAR_COLORBLUE, CHAR_COLORYELLOW, CHAR_COLORGREEN, CHAR_COLORRED, CHAR_COLORGRAY, CHAR_COLORBLUE2, CHAR_COLORGREEN2,}CHAR_COLOR;/*====================平乓仿及綜岳卞楮允月楮醒====================*/void CHAR_createNewChar( int clifd, int dataplacenum,char* charname , int imgno,int faceimgno, int vital,int str,int tgh,int dex, int earth,int water,int fire,int wind, int hometown , char *cdkey );/*====================平乓仿及夫弘奶件====================*/#ifdef _BAD_PLAYER // WON ADD 送壞玩家去關void CHAR_login( int clifd, char* data, int saveindex, int badplayer );#elsevoid CHAR_login( int clifd, char* data, int saveindex );#endif#define CHAR_warpToSpecificPoint( cindex, fl, x, y) _CHAR_warpToSpecificPoint( __FILE__, __LINE__, cindex, fl, x, y)BOOL _CHAR_warpToSpecificPoint( char *file, int line, int charaindex, int fl, int x, int y);/*====================平乓仿及本□皮====================*//*====================平乓仿及夫弘失它玄====================*/BOOL CHAR_charSaveFromConnectAndChar( int fd,Char* ch, int unlock );BOOL CHAR_charSaveFromConnect( int fd,int unlock );#define CHAR_logout( clifd, save) _CHAR_logout( __FILE__, __LINE__, clifd, save)BOOL _CHAR_logout( char *file, int line, int clifd, BOOL save);/*====================watch event ====================*/void CHAR_sendWatchEvent( int objindex, int chac, int* opt,int optlen,BOOL myflg );/*====================旦平伙====================*/BOOL CHAR_Skillupsend(int charaindex );void CHAR_SkillUp( int charaindex, int skillid );void CHAR_useSkill( int charaindex, int dir ,int skindex );typedef enum{ CHAR_WALKSUCCESSED, /* 岳 */ CHAR_WALKSYSTEMERROR, /* 撲旦 丞巨仿□ 及index民尼永弁卞 * 夫勻井井勻兇午井 */ CHAR_WALKEXTEND, /* 區左□田□仄化洶仇丹午仄兇[NPC卞及心*/ CHAR_WALKHITOBJECT, /* 窒井 卞癲勻化}洶仃卅井勻兇 */ CHAR_WALKPREWALK, /* prewalk奶矛件玄匹洶仃卅井勻兇( 檗祭 ) */ CHAR_WALKDIE, /* 韶氏匹中化洶仃卅中 */ CHAR_WALK1357, /* 標戶 輊卞洶仇丹午仄化洶仃卅井勻兇 */}CHAR_WALKRET;/*====================平乓仿及啖 卞楮允月楮醒====================*/void CHAR_ctodirmode(char moji , int* dir , int* mode);INLINE void CHAR_getDXDY( int dir , int* dx, int* dy );INLINE int CHAR_getDX( int dir );INLINE int CHAR_getDY( int dir );int CHAR_getSameCoordinateObjects(int* objbuf, int siz,int ff, int fx, int fy);void CHAR_walkcall( int index );void CHAR_walk_start(int index, int x, int y, char* dir, BOOL mapsendmode);void CHAR_walk_init( int fd, int x, int y, char *direction, BOOL mapsendmode);CHAR_WALKRET CHAR_walk(int index, int dir, int mode);char* CHAR_makeOptionString( Char* ch );char* CHAR_makeStatusString( int index, char* category );#define CHAR_makeObjectCString( objindex, buf, buflen) _CHAR_makeObjectCString( __FILE__, __LINE__, objindex, buf, buflen)BOOL _CHAR_makeObjectCString( char *file, int line, int objindex, char* buf, int buflen );//BOOL CHAR_sendStatusString( int charaindex, char* category );#define CHAR_sendStatusString( A, B) _CHAR_sendStatusString( A, B, __FILE__, __LINE__ )BOOL _CHAR_sendStatusString( int charaindex, char* category, char* file, int line );BOOL CHAR_sendItemData( int charaindex, int *itemgroup, int num);BOOL CHAR_sendItemDataOne( int charaindex, int haveitemindex);BOOL CHAR_send_P_StatusString( int charaindex, unsigned int indextable );BOOL CHAR_send_N_StatusString( int charaindex, int num, unsigned int indextable );BOOL CHAR_send_K_StatusString( int charaindex, int num, unsigned int indextable );void CHAR_inputOwnTitle( int index ,char* name );void CHAR_selectTitle( int index, int titleindex );void CHAR_deleteTitle( int index, int titleindex );#define CHAR_complianceParameter( index) _CHAR_complianceParameter( index, __FILE__, __LINE__)int _CHAR_complianceParameter( int index, char *FILE, int LINE);int CHAR_findSurplusItemBox( int index );int CHAR_findEmptyItemBox( int index );int CHAR_findEmptyPoolItemBox( int index );int CHAR_findEmptyItemBoxNo( int index );void CHAR_moveEquipItem( int index, int fromindex, int toindex );void CHAR_ItemUse( int charaindex, int to_charaindex, int haveitemindex );void CHAR_DropItem( int charaindex, int itemindex );int CHAR_DropItemAbsolute( int itemindex, int floor, int x, int y,BOOL net);BOOL CHAR_DropItemFXY( int charaindex, int itemcharaindex, int fl, int x, int y, int* objindex );int CHAR_addItemSpecificItemIndex( int charaindex, int itemindex );void CHAR_PickUpItem( int charaindex, int dir );void CHAR_DropMoney( int charaindex, int amount );int CHAR_addItem( int charaindex, int itemid );int CHAR_addItemToChar( Char* ch, int itemid );int CHAR_pickupFollowPet( int charaindex, int petindex );#ifdef _GAMBLE_ROULETTEint NPC_MAPCLEANGOLD( int meindex , int floor);#endif#ifdef _DROPSTAKENEW#define MAXSTAKENUM 5int CasinoAccumulation(int charindex, int npcindex, int floor, int wincasinotype);void CHAR_talkToFloor(int floor, int talkindex, char* message, CHAR_COLOR color);int SetCasinoMap(int npcindex, int casinotype, int mapdropflag);int CasinoPay(int npcindex, int wincasinotype);#endifvoid CHAR_sendCSpecifiedObjindex( int fd, int index);void CHAR_sendSpecifiedobjindexCToCharaindex(int charaindex,int objindex);void CHAR_sendCToArroundCharacter( int charaindex );void CHAR_sendArroundCharaData( int charaindex );void CHAR_sendCDArroundChar( int fl, int x, int y, int objindex );void CHAR_sendCDArroundChar_Main( int fl, int x, int y, int objindex, BOOL mode );void CHAR_Look( int charaindex, int dir );void CHAR_initChatMagic(void);char* CHAR_appendNameAndTitle( int charaindex, char* src, char* buf, int buflen );void CHAR_Talk( int fd, int index,char* message,int color, int area );void CHAR_Loop( void );#define WINDOW_BUTTONTYPE_NONE (0)#define WINDOW_BUTTONTYPE_OK (1 << 0)#define WINDOW_BUTTONTYPE_CANCEL (1 << 1)#define WINDOW_BUTTONTYPE_YES (1 << 2)#define WINDOW_BUTTONTYPE_NO (1 << 3)#define WINDOW_BUTTONTYPE_PREV (1 << 4)#define WINDOW_BUTTONTYPE_NEXT (1 << 5)#define WINDOW_BUTTONTYPE_OKCANCEL (WINDOW_BUTTONTYPE_OK | WINDOW_BUTTONTYPE_CANCEL)#define WINDOW_BUTTONTYPE_YESNO (WINDOW_BUTTONTYPE_YES | WINDOW_BUTTONTYPE_NO)typedef enum{ WINDOW_MESSAGETYPE_MESSAGE, WINDOW_MESSAGETYPE_MESSAGEANDLINEINPUT, WINDOW_MESSAGETYPE_SELECT, WINDOW_MESSAGETYPE_PETSELECT, WINDOW_MESSAGETYPE_PARTYSELECT, WINDOW_MESSAGETYPE_PETANDPARTYSELECT, WINDOW_MESSAGETYPE_ITEMSHOPMENU, WINDOW_MESSAGETYPE_ITEMSHOPMAIN, WINDOW_MESSAGETYPE_LIMITITEMSHOPMAIN, WINDOW_MESSAGETYPE_PETSKILLSHOP, WINDOW_MESSAGETYPE_WIDEMESSAGE, WINDOW_MESSAGETYPE_WIDEMESSAGEANDLINEINPUT, WINDOW_MESSAGETYPE_POOLITEMSHOPMENU, WINDOW_MESSAGETYPE_POOLITEMSHOPMAIN, WINDOW_MESSAGETYPE_FAMILYADD, WINDOW_MESSAGETYPE_FAMILYJOIN, WINDOW_MESSAGETYPE_FAMILYOUT, WINDOW_MESSAGETYPE_FAMILYEND,//======================================= // shan add WINDOW_FMMESSAGETYPE_SELECT, WINDOW_FMMESSAGETYPE_DENGON, WINDOW_FMMESSAGETYPE_FMSDENGON, WINDOW_FMMESSAGETYPE_POINTLIST,#ifdef _FMVER21 WINDOW_FMMESSAGETYPE_TOP30DP,#endif WINDOW_FMMESSAGETYPE_DP, WINDOW_MESSAGETYPE_BANK, // Arminius 7.12 scheduleman WINDOW_MESSAGETYPE_PKSCHEDULELIST, WINDOW_MESSAGETYPE_PKSCHEDULESELECTFAMILY, WINDOW_MESSAGETYPE_PKSCHEDULEDETAIL, // Robin WINDOW_MESSAGETYPE_LOGINMESSAGE, WINDOW_MESSAGETYPE_FAMILYTAX, WINDOW_MESSAGETYPE_SHOWRIDEPET, WINDOW_MESSAGETYPE_FAMILYDETAIL, WINDOW_MESSAGETYPE_LEADERSELECT, WINDOW_MESSAGETYPE_LEADERSELECTQ, WINDOW_MESSAGETYPE_LEADERSELECTA, // Arminius 1.3 Auctioneer WINDOW_MESSAGETYPE_AUCTIONNEW, WINDOW_MESSAGETYPE_AUCTIONLIST_BUY, WINDOW_MESSAGETYPE_AUCTIONSURVEY, WINDOW_MESSAGETYPE_AUCTIONMODIFY, WINDOW_MESSAGETYPE_AUCTIONLIST_MODIFY,#ifdef _BLACK_MARKET WINDOW_MESSAGETYPE_BLACKMARKET,#endif#ifdef _NPC_FUSION WINDOWS_MESSAGETYPE_PETFUSION,#endif#ifdef _PETSKILL_CANNEDFOOD WINDOWS_MESSAGETYPE_PETSKILLSHOW,#endif#ifdef _NPC_SELLSTH WINDOWS_MESSAGETYPE_SELLSTHMENU, WINDOWS_MESSAGETYPE_SELLSTHVIEW, WINDOWS_MESSAGETYPE_SELLSTHSELL,#endif#ifdef _PROFESSION_SKILL // WON ADD 人物職業技能 WINDOW_MESSAGETYPE_PROFESSIONSHOP,#endif#ifdef _NPC_WELFARE_2 // WON ADD 職業NPC-2 WINDOW_MESSAGETYPE_PROFESSIONSHOP2,#endif#ifdef _NEW_MANOR_LAW WINDOW_FMMESSAGETYPE_10_MEMONTUM, // 十大氣勢家族 WINDOW_FMMESSAGETYPE_FM_MEMONTUM, // 自己家族氣勢排名 WINDOW_FMMESSAGETYPE_MANOR_SCHEDULE, // 挑戰莊園排行#endif#ifdef _ANGEL_SUMMON WINDOW_MESSAGETYPE_ANGELMESSAGE = 101, WINDOW_MESSAGETYPE_ANGELASK,#endif#ifdef _MOUSE_DBL_CLICK WINDOW_MESSAGETYPE_MOUSEGETNAME,#endif#ifdef _CONTRACT WINDOW_MESSAGETYPE_CONTRACT,#endif#ifdef _RACEMAN WINDOW_MESSAGETYPE_RACEMAN_RANK,#endif}WINDOW_MESSAGETYPE;typedef enum{ CHAR_WINDOWTYPE_RETURNTOELDER=-1, /* 贏 尺 月它奴件玉它 */ CHAR_WINDOWTYPE_RESURRECTION=-2, /* 汊唾允月它奴件玉它 */ CHAR_WINDOWTYPE_SELECTBATTLE = 1, /* 月爵 毛薊 允月它奴件玉它 */ CHAR_WINDOWTYPE_SELECTDUEL = 2, /* 月DUEL毛薊 允月它奴件玉它 */ CHAR_WINDOWTYPE_SELECTTRADECARD = 3, /* 銅跟晶毛薊 允月它奴件玉它 */ CHAR_WINDOWTYPE_SELECTPARTY = 4, /* 由□ 奴毛薊 允月它奴件玉它 */ CHAR_WINDOWTYPE_SELECTBATTLEWATCH = 5, /* 棋爵毛薊 允月它奴件玉它 */ CHAR_WINDOWTYPE_MICMESSAGE = 6, /* MICNPC毛銀勻化請月它奴件玉它 */ // CoolFish: Trade 2001/4/18 CHAR_WINDOWTYPE_SELECTTRADE = 7, /* 交易 Window */ CHAR_WINDOWTYPE_SELECTRENAMEITEM_PAGE1 = 10, /* 蟆毛 凳允月失奶 丞毛薊 允月它奴件玉它 */ CHAR_WINDOWTYPE_SELECTRENAMEITEM_PAGE2 = 11, /* 蟆毛 凳允月失奶 丞毛薊 允月它奴件玉它 */ CHAR_WINDOWTYPE_SELECTRENAMEITEM_PAGE3 = 12, /* 蟆毛 凳允月失奶 丞毛薊 允月它奴件玉它 */ CHAR_WINDOWTYPE_SELECTRENAMEITEM_PAGE4 = 13, /* 蟆毛 凳允月失奶 丞毛薊 允月它奴件玉它 */ CHAR_WINDOWTYPE_SELECTRENAMEITEM_RENAME = 14, /* 蟆毛 允月它奴件玉它 */ CHAR_WINDOWTYPE_SELECTRENAMEITEM_RENAME_ATTENTION = 15, /* 蟆毛 允月它奴件玉它 */ CHAR_WINDOWTYPE_DENGON = 50, /* 鰻蛻 */ CHAR_WINDOWTYPE_WINDOWMAN_START = 100, CHAR_WINDOWTYPE_WINDOWMAN_STARTMSG = CHAR_WINDOWTYPE_WINDOWMAN_START, CHAR_WINDOWTYPE_WINDOWMAN_END = 200, CHAR_WINDOWTYPE_JANKEN_START = 210, CHAR_WINDOWTYPE_JANKEN_MAIN = 211, CHAR_WINDOWTYPE_JANKEN_END = 212, CHAR_WINDOWTYPE_TRANSMIGRATION_START = 213, CHAR_WINDOWTYPE_TRANSMIGRATION_MAIN = 214, CHAR_WINDOWTYPE_TRANSMIGRATION_END = 215, CHAR_WINDOWTYPE_TRANSMIGRATION_NONE = 216, CHAR_WINDOWTYPE_WINDOWHEALER_START = 220, CHAR_WINDOWTYPE_WINDOWHEALER_STARTMSG = CHAR_WINDOWTYPE_WINDOWHEALER_START, CHAR_WINDOWTYPE_WINDOWHEALER_HPMSG = 221, CHAR_WINDOWTYPE_WINDOWHEALER_OKHPMSG = 222, CHAR_WINDOWTYPE_WINDOWHEALER_SPIRITMSG = 223, CHAR_WINDOWTYPE_WINDOWHEALER_OKSPIRITMSG = 224, CHAR_WINDOWTYPE_WINDOWHEALER_ALLMSG = 225, CHAR_WINDOWTYPE_WINDOWHEALER_OKALLMSG = 226, CHAR_WINDOWTYPE_WINDOWHEALER_END = 227, CHAR_WINDOWTYPE_WINDOWSAVEPOINT_START = 230, CHAR_WINDOWTYPE_WINDOWEVENT_STARTMSG = 231, CHAR_WINDOWTYPE_WINDOWEVENT_NOWEVENT = 232, CHAR_WINDOWTYPE_WINDOWEVENT_ENDEVENT = 233, CHAR_WINDOWTYPE_WINDOWEVENT_REQMAINMSG = 234, CHAR_WINDOWTYPE_WINDOWEVENT_ACCMAINMSG = 235, CHAR_WINDOWTYPE_WINDOWEVENT_NOMALMSG = 236, CHAR_WINDOWTYPE_WINDOWEVENT_CLEANMSG = 237, CHAR_WINDOWTYPE_WINDOWEVENT_REQTHANK = 238, CHAR_WINDOWTYPE_WINDOWEVENT_ACCTHANK = 239, CHAR_WINDOWTYPE_WINDOWITEMSHOP_START = 240, CHAR_WINDOWTYPE_WINDOWITEMSHOP_STARTMSG = CHAR_WINDOWTYPE_WINDOWITEMSHOP_START, CHAR_WINDOWTYPE_WINDOWITEMSHOP_MENU = 241, CHAR_WINDOWTYPE_WINDOWITEMSHOP_BUY_MSG = 242, CHAR_WINDOWTYPE_WINDOWITEMSHOP_SELL_MSG = 243, CHAR_WINDOWTYPE_WINDOWITEMSHOP_END = 244, CHAR_WINDOWTYPE_WINDOWITEMSHOP_LIMIT = 245, CHAR_WINDOWTYPE_WINDOWITEMSHOP_EXPRESS = 246, CHAR_WINDOWTYPE_DUELRANKING_START = 250, CHAR_WINDOWTYPE_DUELRANKING_TOPRANKING = 251, CHAR_WINDOWTYPE_DUELRANKING_MYRANKING = 252, CHAR_WINDOWTYPE_DUELRANKING_WAIT = 253, CHAR_WINDOWTYPE_DEFEND_BILLDBOARD = 254, CHAR_WINDOWTYPE_WINDOWPETSKILLSHOP = 260, CHAR_WINDOWTYPE_WINDOWPETSHOP_START = 261, CHAR_WINDOWTYPE_WINDOWPETSHOP_PETSELECT = 262, CHAR_WINDOWTYPE_WINDOWPETSHOP_MAIN = 263, CHAR_WINDOWTYPE_WINDOWPETSHOP_GOLDOVER = 264, CHAR_WINDOWTYPE_WINDOWPETSHOP_PETSELECT2 = 265, CHAR_WINDOWTYPE_WINDOWPETSHOP_MAIN2 = 266, CHAR_WINDOWTYPE_WINDOWPETSHOP_DRAWSELECT = 267, CHAR_WINDOWTYPE_WINDOWPETSHOP_ASKDRAW = 268, CHAR_WINDOWTYPE_WINDOWPETSHOP_END = 269, CHAR_WINDOWTYPE_WINDOWWARPMAN_MAIN = 271, CHAR_WINDOWTYPE_WINDOWWARPMAN_ERR = 272, CHAR_WINDOWTYPE_WINDOWWARPMAN_END = 273, CHAR_WINDOWTYPE_NPCENEMY_START = 281, CHAR_WINDOWTYPE_CHARM_START = 282, CHAR_WINDOWTYPE_CHARM_END = 283, CHAR_WINDOWTYPE_QUIZ_START = 284, CHAR_WINDOWTYPE_QUIZ_MAIN = 285, CHAR_WINDOWTYPE_QUIZ_END = 286, CHAR_WINDOWTYPE_CHECKMAN_START = 287, CHAR_WINDOWTYPE_CHECKMAN_MAIN = 288, CHAR_WINDOWTYPE_CHECKMAN_END = 289, CHAR_WINDOWTYPE_FAMILYMAN_START = 320, CHAR_WINDOWTYPE_FAMILYMAN_ADD = 321, CHAR_WINDOWTYPE_FAMILYMAN_JOIN = 322, CHAR_WINDOWTYPE_FAMILYMAN_OUT = 323, CHAR_WINDOWTYPE_FAMILYMAN_BROKEN = 324,
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -