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

📄 item.h

📁 石器时代8.0服务端完整源代码。可以直接编译
💻 H
字号:
#ifndef __ITEM_H__#define __ITEM_H__#include "char.h"#define NULLITEM    "0"typedef enum{    ITEM_FIST =0,    ITEM_AXE,    ITEM_CLUB,    ITEM_SPEAR,    ITEM_BOW,    ITEM_SHIELD,    ITEM_HELM,    ITEM_ARMOUR,	ITEM_BRACELET =8,	ITEM_MUSIC,	ITEM_NECKLACE,	ITEM_RING,	ITEM_BELT,	ITEM_EARRING,	ITEM_NOSERING,	ITEM_AMULET,    /* ****** */    ITEM_OTHER =16,    ITEM_BOOMERANG,		// 回旋标    ITEM_BOUNDTHROW,	// 投掷斧头    ITEM_BREAKTHROW,	// 投掷石    ITEM_DISH =20,#ifdef _ITEM_INSLAY	ITEM_METAL,	ITEM_JEWEL,#endif#ifdef _ITEM_CHECKWARES	ITEM_WARES,			//货物#endif#ifdef _ITEM_EQUITSPACE	ITEM_WBELT,			//腰带	ITEM_WSHIELD,		//盾	ITEM_WSHOES,		//鞋子#endif#ifdef _EQUIT_NEWGLOVE 	ITEM_WGLOVE,		//手套#endif#ifdef _ALCHEMIST	ITEM_ALCHEMIST =30,#endif#ifdef _ANGEL_SUMMON	//ITEM_ANGELTOKEN,	//ITEM_HEROTOKEN,#endif    ITEM_CATEGORYNUM,    }ITEM_CATEGORY;typedef enum{	ITEM_FIELD_ALL,	ITEM_FIELD_BATTLE,	ITEM_FIELD_MAP,}ITEM_FIELDTYPE;typedef enum{	ITEM_TARGET_MYSELF,	ITEM_TARGET_OTHER,	ITEM_TARGET_ALLMYSIDE,	ITEM_TARGET_ALLOTHERSIDE,	ITEM_TARGET_ALL,}ITEM_TARGETTYPE;typedef enum{    ITEM_ID,    ITEM_BASEIMAGENUMBER,    ITEM_COST,    ITEM_TYPE,	ITEM_ABLEUSEFIELD,	ITEM_TARGET,    ITEM_LEVEL,                     /*  LEVEL  */#ifdef _ITEM_MAXUSERNUM	ITEM_DAMAGEBREAK,				//物品使用次数#endif#ifdef _ITEMSET4_TXT	ITEM_USEPILENUMS,				//物品堆叠次数	ITEM_CANBEPILE,					//是否可堆叠	ITEM_NEEDSTR,	ITEM_NEEDDEX,	ITEM_NEEDTRANS,	ITEM_NEEDPROFESSION,#endif#ifdef _TAKE_ITEMDAMAGE	ITEM_DAMAGECRUSHE,	ITEM_MAXDAMAGECRUSHE,#endif#ifdef _ADD_DEAMGEDEFC	ITEM_OTHERDAMAGE,	ITEM_OTHERDEFC,#endif#ifdef _SUIT_ITEM	ITEM_SUITCODE,#endif    ITEM_ATTACKNUM_MIN,             /*    斓  猾荚醒  */    ITEM_ATTACKNUM_MAX,             /*    嫖  猾荚醒  */    ITEM_MODIFYATTACK,              /*    猾    祭汹  */    ITEM_MODIFYDEFENCE,             /*    豢    祭汹  */    ITEM_MODIFYQUICK,               /*  QUICK  祭汹  */    ITEM_MODIFYHP,                  /*  HP  祭汹    */    ITEM_MODIFYMP,                  /*  MP  祭汹    */    ITEM_MODIFYLUCK,                /*  LUCK  祭汹    */    ITEM_MODIFYCHARM,               /*  CHARM  祭汹    */    ITEM_MODIFYAVOID,               /*  荚    膜恳    */	ITEM_MODIFYATTRIB,				/*  箪岭膜恳 */	ITEM_MODIFYATTRIBVALUE,			/*  箪岭膜恳袄 */	ITEM_MAGICID,					/*  热诸  寞 */	ITEM_MAGICPROB,					/*  热诸       */	ITEM_MAGICUSEMP,				/*  壅  MP */#ifdef _ITEMSET5_TXT	ITEM_MODIFYARRANGE,	ITEM_MODIFYSEQUENCE,	ITEM_ATTACHPILE,	ITEM_HITRIGHT,	//额外命中#endif#ifdef _ITEMSET6_TXT	ITEM_NEGLECTGUARD,//	ITEM_BEMERGE,#endif    /*  旦  □正旦膜恳袄[*/    ITEM_POISON,					/*   汹仁凶太卞母丢□斥          */    ITEM_PARALYSIS,          		/* 仄太木}1  及垫  互匹五卅中[ */    ITEM_SLEEP,              		/* 戽曰[垫  匹五卅中            */    ITEM_STONE,              		/* 檗[垫  匹五卅中              */    ITEM_DRUNK,              		/* 办丹[      互票互月     */    ITEM_CONFUSION,          		/* 渔刭[  猾    毛赀月     */	ITEM_CRITICAL,					/* 弁伉  奴市伙  膜恳 */	ITEM_USEACTION,					/* 银匀凶凛及失弁扑亦件 */    ITEM_DROPATLOGOUT,              /* 夫弘失它玄允月凛卞  允井升丹井  */    ITEM_VANISHATDROP,              /*   仄凶凛卞壅尹月井升丹井 */    ITEM_ISOVERED,                  /*  晓卞昙匀井日日木月井升丹井[*/	ITEM_CANPETMAIL,				/* 矢永玄丢□伙匹霜木月井 */	ITEM_CANMERGEFROM,				/* 宁岳葭卞卅木月井 */	ITEM_CANMERGETO,				/* 宁岳燮卞卅木月井 */    ITEM_INGVALUE0,                 /* 岳坌(5蜊坌) */    ITEM_INGVALUE1,    ITEM_INGVALUE2,    ITEM_INGVALUE3,    ITEM_INGVALUE4,    	ITEM_PUTTIME,					/*  失奶  丞互  井木凶凛棉 */    ITEM_LEAKLEVEL,                 /*    怍互升木分仃壬木凶井  */	ITEM_MERGEFLG,					/*  宁岳今木凶失奶  丞井升丹井 */	ITEM_CRUSHLEVEL,				/*  莽木蘸宁中 0  2 ㄟ反莽木化卅中 2反蝈莽 */    ITEM_VAR1,              	/*    迕综仅       */    ITEM_VAR2,              	/*    迕综仅       */    ITEM_VAR3,              	/*    迕综仅       */    ITEM_VAR4,              	/*    迕综仅       */	ITEM_DATAINTNUM,}ITEM_DATAINT;typedef enum{    ITEM_NAME,                      /*    蟆     癫及  蟆     */    ITEM_SECRETNAME,                /*    蟆    凳今木月第  岭  曰    */    ITEM_EFFECTSTRING,              /*  躲绊  侬    */    ITEM_ARGUMENT,                  /*  失奶  丞及娄醒  */#ifdef _ITEM_INSLAY	ITEM_TYPECODE,	ITEM_INLAYCODE,#endif	ITEM_CDKEY,						/*  失奶  丞及  蟆毛  赓卞  凳仄凶谛及           */#ifdef _ITEM_FORUSERNAMES	ITEM_FORUSERNAME,	ITEM_FORUSERCDKEY,#endif// CoolFish: 2001/10/11#ifdef _UNIQUE_P_I    ITEM_UNIQUECODE,		  /* 物品编码 */#endif    ITEM_INGNAME0,                  /*  岳坌及  蟆(5蜊坌) */    ITEM_INGNAME1,    ITEM_INGNAME2,    ITEM_INGNAME3,    ITEM_INGNAME4,    ITEM_INITFUNC,                  /* 娄醒                                     * ITEM_Item*                                     * 忒曰袄 BOOL                                     * 忒曰袄及啦  反 CHAR_INITFUNC                                     * 午  元  */    ITEM_FIRSTFUNCTION = ITEM_INITFUNC,    ITEM_PREOVERFUNC,               /* CHAR_PREOVERFUNC 毛辅寰 */    ITEM_POSTOVERFUNC,              /* CHAR_POSTOVERFUNC 毛辅寰*/    ITEM_WATCHFUNC,                 /* CHAR_WATCHFUNC 毛辅寰 */    ITEM_USEFUNC,                   /* 娄醒反}                                     * int charaindex 平乓仿奶件犯永弁旦                                     * int charitemindex 愤坌及                                     *              失奶  丞    及窒                                         *              毛银匀凶井                                     */    ITEM_ATTACHFUNC,                /* 娄醒反}                                     * int charaindex 平乓仿奶件犯永弁旦                                     * int itemindex  失奶  丞奶件犯永弁旦                                     *      平乓仿弁正及  匀化中月失奶  丞                                     *      及失奶  丞  匹及奶件犯永弁旦                                     *      匹反卅中仪卞镗啦[                                     */    ITEM_DETACHFUNC,                /* 娄醒反}                                     * int charaindex 平乓仿奶件犯永弁旦                                     * int itemindex  失奶  丞奶件犯永弁旦                                     *      平乓仿弁正及  匀化中月失奶  丞                                     *      及失奶  丞  匹及奶件犯永弁旦                                     *      匹反卅中仪卞镗啦[                                     */    ITEM_DROPFUNC, 		            /*   午仄凶午五                                     * 娄醒反                                     *  int charaindex   午仄凶平乓仿                                     *  int itemindex 失奶  丞奶件犯永弁旦                                     */    ITEM_PICKUPFUNC,              /* 失奶  丞毛胶匀凶凛                                     * 娄醒反                                     *  int charaindex  胶匀凶平乓仿index                                     *  int itemindex 失奶  丞奶件犯永弁旦                                     */#ifdef _Item_ReLifeAct	ITEM_DIERELIFEFUNC,					/*ANDY_ADD										复活道具										 */#endif#ifdef _CONTRACT	ITEM_CONTRACTTIME,	ITEM_CONTRACTARG,#endif    ITEM_LASTFUNCTION,    ITEM_DATACHARNUM = ITEM_LASTFUNCTION,#ifdef _ANGEL_SUMMON	ITEM_ANGELMISSION = ITEM_INGNAME0,	ITEM_ANGELINFO = ITEM_INGNAME1,	ITEM_HEROINFO = ITEM_INGNAME2,#endif}ITEM_DATACHAR;typedef enum{    ITEM_WORKOBJINDEX,    ITEM_WORKCHARAINDEX,#ifdef _MARKET_TRADE	ITEM_WORKTRADEINDEX,	ITEM_WORKTRADETYPE,	ITEM_WORKTRADESELLINDEX,#endif#ifdef _ITEM_ORNAMENTS	ITEM_CANPICKUP,#endif#ifdef _ITEM_TIME_LIMIT	ITEM_WORKTIMELIMIT,#endif    ITEM_WORKDATAINTNUM,}ITEM_WORKDATAINT;typedef struct tagItem{    int         data[ITEM_DATAINTNUM];    STRING64    string[ITEM_DATACHARNUM];    int         workint[ITEM_WORKDATAINTNUM];    void*       functable[ITEM_LASTFUNCTION-ITEM_FIRSTFUNCTION];}ITEM_Item;typedef struct tagITEM_table{    int         use;     ITEM_Item   itm;    int         randomdata[ITEM_DATAINTNUM];}ITEM_table;typedef struct tagITEM_exists{    BOOL        use;    ITEM_Item   itm;}ITEM_exists;#ifdef _CONTRACT#define MAX_CONTRACTTABLE	10typedef struct tagITEM_contract{    int         used;    char		detail[2048];    int			argnum;}ITEM_contractTable;#endif#define		ITEM_CHECKINDEX(index)		\	_ITEM_CHECKINDEX( __FILE__, __LINE__, index)INLINE BOOL _ITEM_CHECKINDEX( char *file, int line, int index);BOOL ITEM_initExistItemsArray( int num );BOOL ITEM_endExistItemsArray( void );#define		ITEM_initExistItemsOne( itm) \	_ITEM_initExistItemsOne( __FILE__, __LINE__, itm)int _ITEM_initExistItemsOne( char *file, int line, ITEM_Item* itm );#define		ITEM_endExistItemsOne( index ) \			_ITEM_endExistItemsOne( index, __FILE__, __LINE__)void _ITEM_endExistItemsOne( int index , char *file, int line);#define ITEM_getInt( Index, element) _ITEM_getInt( __FILE__, __LINE__, Index, element )INLINE int _ITEM_getInt( char *file, int line, int index ,ITEM_DATAINT element);#define ITEM_setInt( Index, element, data) _ITEM_setInt( __FILE__, __LINE__, Index, element, data)INLINE int _ITEM_setInt( char *file, int line, int index ,ITEM_DATAINT element, int data);INLINE char* ITEM_getChar( int index ,ITEM_DATACHAR element );INLINE BOOL ITEM_setChar( int index ,ITEM_DATACHAR element , char* new);INLINE int ITEM_getWorkInt( int index ,ITEM_WORKDATAINT element);INLINE int ITEM_setWorkInt( int index ,ITEM_WORKDATAINT element, int data);INLINE int ITEM_getITEM_itemnum( void );INLINE int ITEM_getITEM_UseItemnum( void );INLINE BOOL ITEM_getITEM_use( int index );void ITEM_constructFunctable( int itemindex );void* ITEM_getFunctionPointer( int itemindex, int functype );INLINE ITEM_Item *ITEM_getItemPointer( int index );int ITEM_getItemMaxIdNum( void);char* ITEM_makeStringFromItemData( ITEM_Item* one, int mode );char* ITEM_makeStringFromItemIndex( int index, int mode );BOOL ITEM_makeExistItemsFromStringToArg( char* src , ITEM_Item* item, int mode );void ITEM_getDefaultItemSetting( ITEM_Item* itm);INLINE BOOL ITEM_CHECKITEMTABLE( int number );BOOL    ITEM_readItemConfFile( char* filename );CHAR_EquipPlace ITEM_getEquipPlace( int charaindex, int itmid );char*  ITEM_makeItemStatusString( int haveitemindex, int itemindex );char*   ITEM_makeItemFalseString( void );char*   ITEM_makeItemFalseStringWithNum( int haveitemindex );BOOL ITEM_makeItem( ITEM_Item* itm, int number );int ITEM_makeItemAndRegist( int number );void ITEM_equipEffect( int index );void Other_DefcharWorkInt( int index);char* ITEM_getAppropriateName(int itemindex);char* ITEM_getEffectString( int itemindex );int ITEM_getcostFromITEMtabl( int itemid );#define ITEM_getNameFromNumber( id) _ITEM_getNameFromNumber( __FILE__, __LINE__, id)INLINE char* _ITEM_getNameFromNumber( char *file, int line, int itemid );int ITEM_getlevelFromITEMtabl( int itemid );int ITEM_getgraNoFromITEMtabl( int itemid );char *ITEM_getItemInfoFromNumber( int itemid );int ITEM_getdropatlogoutFromITEMtabl( int itemid );int ITEM_getvanishatdropFromITEMtabl( int itemid );int ITEM_getcanpetmailFromITEMtabl( int itemid );int ITEM_getmergeItemFromFromITEMtabl( int itemid );#ifdef _ITEM_CHECKWARESBOOL CHAR_CheckInItemForWares( int charaindex, int flg);#endifBOOL ITEM_canuseMagic( int itemindex);// Nuke +1 08/23 : For checking the validity of item targetint ITEM_isTargetValid( int charaindex, int itemindex, int toindex);#ifdef _IMPOROVE_ITEMTABLEBOOL ITEMTBL_CHECKINDEX( int ItemID);int ITEM_getSIndexFromTransList( int ItemID);int ITEM_getMaxitemtblsFromTransList( void);int ITEM_getTotalitemtblsFromTransList( void);#endifint ITEMTBL_getInt( int ItemID, ITEM_DATAINT datatype);char *ITEMTBL_getChar( int ItemID, ITEM_DATACHAR datatype);int ITEM_getItemDamageCrusheED( int itemindex);void ITEM_RsetEquit( int charaindex);//自动卸除装备位置错误之物品void ITEM_reChangeItemToPile( int itemindex);void ITEM_reChangeItemName( int itemindex);#ifdef _SIMPLIFY_ITEMSTRINGvoid ITEM_getDefaultItemData( int itemID, ITEM_Item* itm);#endif#ifdef _CONTRACTBOOL ITEM_initContractTable( );#endif#endif

⌨️ 快捷键说明

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