#ifndef __NPC_LUA_INTERFACE__ #define __NPC_LUA_INTERFACE__ #include "version.h" #include "common.h" /////////////////////////////////////////外部接口///////////////////////////////////////////////////////////////// #define FUNCNAME_INITCALLBACK "NPC_Lua_InitCallBack" //CHAR_INITFUNC #define FUNCNAME_WALKPRECALLBACK "NPC_Lua_WalkPreCallBack" //CHAR_WALKPREFUNC #define FUNCNAME_WALKPOSTCALLBACK "NPC_Lua_WalkPostCallBack" //CHAR_WALKPOSTFUNC #define FUNCNAME_PREOVERCALLBACK "NPC_Lua_PreOverCallBack" //CHAR_PREOVERFUNC #define FUNCNAME_POSTOVERCALLBACK "NPC_Lua_PostOverCallBack" //CHAR_POSTOVERFUNC #define FUNCNAME_WATCHCALLBACK "NPC_Lua_WatchCallBack" //CHAR_WATCHFUNC #define FUNCNAME_LOOPCALLBACK "NPC_Lua_LoopCallBack" //CHAR_LOOPFUNC #define FUNCNAME_TALKEDCALLBACK "NPC_Lua_TalkedCallBack" //CHAR_TALKEDFUNC #define FUNCNAME_OFFCALLBACK "NPC_Lua_OFFCallBack" //CHAR_OFFFUNC #define FUNCNAME_LOOKEDCALLBACK "NPC_Lua_LookedCallBack" //CHAR_LOOKEDFUNC #define FUNCNAME_ITEMPUTCALLBACK "NPC_Lua_ItemPutCallBack" //CHAR_ITEMPUTFUNC #define FUNCNAME_WINDOWTALKEDCALLBACK "NPC_Lua_WindowTalkedCallBack" //CHAR_WINDOWTALKEDFUNC #ifdef _USER_CHARLOOPS #define FUNCNAME_CHARLOOPSCALLBACK "NPC_Lua_CharLoopsCallBack" //CHAR_LOOPFUNCTEMP1 宠物蛋喂药和原地遇敌的LOOP #define FUNCNAME_BATTLEPROPERTYCALLBACK "NPC_Lua_BattleProPertyCallBack" //CHAR_BATTLEPROPERTY #endif /* CHAR_DYINGFUNC, , CHAR_PREATTACKEDFUNC, CHAR_POSTATTACKEDFUNC, CHAR_SPECIALTALKEDFUNC, , #ifdef _USER_CHARLOOPS , CHAR_LOOPFUNCTEMP2, , #endif */ #define FUNCNAME_ITEMPEROVERCALLBACK "NPC_Lua_ItemPerOverCallBack" //LUAITEM_PREOVERFUNC = ITEM_PREOVERFUNC #define FUNCNAME_ITEMPOSTOVERCALLBACK "NPC_Lua_ItemPostOverCallBack" //LUAITEM_POSTOVERFUNC = ITEM_POSTOVERFUNC #define FUNCNAME_ITEMWATCHCALLBACK "NPC_Lua_ItemWatchCallBack" //LUAITEM_WATCHFUNC = ITEM_WATCHFUNC #define FUNCNAME_ITEMUSECALLBACK "NPC_Lua_ItemUseCallBack" //LUAITEM_USEFUNC = ITEM_USEFUNC #define FUNCNAME_ITEMATTACHCALLBACK "NPC_Lua_ItemAttachCallBack" //LUAITEM_ATTACHFUNC = ITEM_ATTACHFUNC #define FUNCNAME_ITEMDETACHCALLBACK "NPC_Lua_ItemDetachCallBack" //LUAITEM_DETACHFUNC = ITEM_DETACHFUNC #define FUNCNAME_ITEMDROPCALLBACK "NPC_Lua_ItemDropCallBack" //LUAITEM_DROPFUNC = ITEM_DROPFUNC #define FUNCNAME_ITEMPICKUPCALLBACK "NPC_Lua_ItemPickUPCallBack" //LUAITEM_PICKUPFUNC = ITEM_PICKUPFUNC #ifdef _Item_ReLifeAct #define FUNCNAME_ITEMDIERELIFECALLBACK "NPC_Lua_ItemDieReLifeCallBack" //LUAITEM_DIERELIFEFUNC = ITEM_DIERELIFEFUNC #endif #define FUNCNAME_BATTLEWINCALLBACK "NPC_Lua_BattleWinCallBack" //BATTLE WinFunc #define FUNCNAME_BATTLEENDCALLBACK "NPC_Lua_BattleEndCallBack" //BATTLE WinFunc //初始化LUA引擎 int NPC_Lua_Init(const char *_DoFile); //关闭LUA引擎 int NPC_Lua_Close(void); //动态加载脚本文件 int NPC_Lua_DoFile(const char *_DoFile); //从LUA脚本引擎出栈一个参数 const char *NPC_Lua_popstring(int _ArgNum); //调用指定的脚本函数 const char *NPC_Lua_CallFunc(const char *_FuncName, char *_RetBuff, size_t _n, int index); //战斗场景随机 int NPC_Lua_getBattleFieldNo(int _Floor, int _X, int _Y); //获取宠物 int NPC_GivePet(int charaindex, int lv, int enemyid); //获取道具 int NPC_GiveItem(int charaindex, int itemid); //删除宠物 int NPC_DelPet(int charaindex, int petsel); //回调函数 BOOL NPC_Lua_InitCallBack(int _meindex); BOOL NPC_Lua_WalkPreCallBack(int _meindex, int *_dir, int *_mode); void NPC_Lua_WalkPostCallBack(int _meindex); void NPC_Lua_PreOverCallBack(int _meindex, int _desindex); void NPC_Lua_PostOverCallBack(int _meindex, int _desindex); void NPC_Lua_WatchCallBack(int _meindex, int _objindex, int _chac, int _x, int _y, int _dir, int *_watchopt, int _watchoptlen); int NPC_Lua_LoopCallBack(int _meindex); void NPC_Lua_TalkedCallBack(int _meindex, int _tomeindex,const char *_messageeraseescape, int _color, int _channel); void NPC_Lua_OFFCallBack(int _meindex, int _desindex); void NPC_Lua_LookedCallBack(int _meindex, int _desindex); BOOL NPC_Lua_ItemPutCallBack(int _meindex, int _itemindex); void NPC_Lua_WindowTalkedCallBack(int _meindex, int _talkindex, int _seqno, int _select,const char *_data); #ifdef _USER_CHARLOOPS int NPC_Lua_CharLoopsCallBack( int _meindex); int NPC_Lua_BattleProPertyCallBack(int _attackindex, int _defindex, int *_damage, int *_powarray, int _arraynum); #endif /* 暂时未使用的事件 int NPC_Lua_DyingCallBack(int meindex); NPC_Lua_PreAttackedCallBack NPC_Lua_PostAttackedCallBack NPC_Lua_SpecialTalkedCallBack */ void NPC_Lua_ItemPerOverCallBack(int _itemindex, int _playindex); void NPC_Lua_ItemPostOverCallBack(int _itemindex, int _playindex); void NPC_Lua_ItemWatchCallBack(int _meindex, int _objindex, int _chac, int _x, int _y, int _dir, int *_watchopt, int _watchoptlen); void NPC_Lua_ItemUseCallBack(int _playindex, int _to_charindex, int _haveitemindex); void NPC_Lua_ItemAttachCallBack(int _playindex, int _itemindex); void NPC_Lua_ItemDetachCallBack(int _playindex, int _itemindex); void NPC_Lua_ItemDropCallBack(int _playindex, int _itemindex); void NPC_Lua_ItemPickUPCallBack(int _playindex, int _itemindex); #ifdef _Item_ReLifeAct void NPC_Lua_ItemDieReLifeCallBack(int _playindex, int _itemindex, int _haveitem); #endif void NPC_Lua_BattleWinCallBack(int _battleindex, int _createindex); void NPC_Lua_BattleEndCallBack(int _battleindex); #ifdef _CAX_LNS_MYSQLSUOXU void NPC_Lua_SQLPushCallBack(char* _result,char* _filename,char* _function,int _npcindex,int _playerindex, char* _msg); void NPC_Lua_SQLPushAdvCallBack(int luaresult,int luaflg,int luaerrnono,char* luaerrstr,int luafileCount,int rowCount,int rowAt,char* row,char* _filename,char* _function,int npcindex,int charaindex,char* msg); #endif ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// #endif //#ifndef __NPC_LUA_INTERFACE__