Files
mir_server/server/LogicServer/script/interface/FubenExportFun.h

517 lines
16 KiB
C
Raw Normal View History

2025-01-09 17:45:40 +08:00
//tolua_begin
#ifdef WIN32
#include <WinNT.h>
#endif
namespace Fuben
{
/*
* Comments: ID创建一个副本
* Param int nFbID:ID
* @Return unsigned int:handle
*/
unsigned int createFuBen( int nFbID);
/*
* Comments32int的数组
* Param void * pFb:
* Param int nIndex:
* @Return int:
*/
int getFbValue(void * pFb,int nIndex);
/*
* Comments:
* Param void * pFb:
* Param int nIndex:
* Param int nValue:
* @Return void:
*/
void setFbValue(void * pFb, int nIndex, int nValue);
/*
* Comments:
* Param void * pTeam:
* @Return int:
*/
int getTeamOnlineMemberCount(unsigned int nTeamId);
/*
* Comments:线
* Param unsigned int nTeamId:
* @Return int:
*/
int getTeamMemberCount(unsigned int nTeamId);
/*
* Comments:id
* Param void * pTeam:
* @Return int:
*/
int getTeamFubenId(unsigned int nTeamId);
/*
* Comments:
* Param unsigned int nTeamId:id
* @Return int:
*/
int getTeamMaxMemberCount(unsigned int nTeamId);
/*
* Comments:,
* Param UINT hFbHandle:handle
* Param UINT nAcotid:id
* @Return bool:truefalse
*/
bool isRefuseActor(unsigned int hFbHandle,unsigned int nAcotid);
/*
* Comments:
* Param UINT hFbHandle:handle
* Param UINT nAcotid:id
* @Return void:
*/
void addRefuseActor(unsigned int hFbHandle,unsigned int nAcotid);
/*
* Comments:ID
* Param void * pFb:
* @Return int:
*/
int getFubenIdByPtr(void* pFb);
/*获取此副本归属的行会ID
0-
*/
unsigned int getGuildIdByByPtr(void* pFb);
void* getFubenPtrByHandle(unsigned int nFubenHandle);
/*
* Comments:,
* Param UINT hFuben:handle
* @Return void:
*/
void closeFuben(unsigned int hFuben);
/*
* Comments:handle
* Param void * pFuben:
* @Return unsigned int:
*/
unsigned int getFubenHandle(void* pFuben);
/*
* Comments:handle
* @Return unsigned int:
*/
unsigned int getStaticFubenHandle();
/*
* Comments:
* Param unsigned int hScene:handle
* Param unsigned int nMonsterid:idid
* Param int posX:x坐标
* Param int posY:y坐标
* Param unsigned int nLiveTime:
* @Return void*:NULL xy坐标不正确
*/
void* createMonster(unsigned int hScene,unsigned int nMonsterid,int posX,int posY,unsigned int nLiveTime, unsigned int nBornLevel = 0);
//获取可生成怪物坐标
int getreateMonsterPosXY(lua_State* L);
void setMonsterIndex(void* pEntity, int nIdx);
void ResetMonsterShowName(void* pEntity, const char* sName);
bool AddMonsterBuffById(void* pEntity, int nBuffId);
void DelMonsterBuffById(void* pEntity, int nBuffId);
/*
* Comments:N个怪物
* Param unsigned int hScene:handle
* Param unsigned int nMonsterid:idid
* Param int posX1:x起始坐标
* Param int posX2:x终止坐标,posx2必须大于等于posx1
* Param int posY:y坐标 3x1-x2的水平线上随机位置产生N个怪物
* Param int nCount:
* Param unsigned int nLiveTime:
* Param bool bForcePos:
* Sample: Fuben.createMonstersAndSetPathpoint(hScene, 13, 79, 90, 31, 3, 0, 96, 29, 99, 26)
* @Return void:
*/
void createMonsters(unsigned int hScene,unsigned int nMonsterid,int posX1,int posX2,int posY,int nCount,unsigned int nLiveTime, unsigned int nBornLevel = 0);
int createMonstersInRange(unsigned int hScene,unsigned int nMonsterid,int posX1,int posY1,int posX2,int posY2,int nCount,
unsigned int nLiveTime, unsigned int nBornLevel = 0, char* szMonsterName=NULL, unsigned int nForceVesterId=0,
bool bForcePos=false);
//在指定的坐标生成1个怪物
void* createOneMonsters(unsigned int hScene,unsigned int nMonsterid,int posX,int posY,int nCount,unsigned int nLiveTime, unsigned int nBornLevel = 0,
char* szMonsterName = NULL,
int nForceVesterId = 0,
int nInitMonsterPercent = 100);
/*
* Comments: N个怪物
* Param unsigned int hScene:
* Param unsigned int nMonsterId: Id
* Param int nPosX1: x起始坐标
* Param int nPosX2: x终止坐标,posx2必须大于等于posx1
* Param int nPosY: y坐标 3x1-x2的水平线上随机位置产生N个怪物
* Param int nCount:
* Param unsigned int nLiveTime:
* Param int ...(vararg) x,y两个坐标
* @Return int:
*/
int createMonstersAndSetPathpoint(lua_State *L);
int getMonsterCount(void* pFuben, int nMonsterId);
int getSceneMonsterCount(void* pFuben, int nScenId, int nMonsterId);
/*
* Comments:handle0
* Param const char * sSceneName:
* Param unsigned int hFuben:handle0
* @Return unsigned int:0
*/
unsigned int getSceneHandleByName(const char* sSceneName,unsigned int hFuben);
/*
* Comments:id获取场景的handle0
* Param int nSceneID:id
* Param unsigned int hFuben:handle0
* @Return unsigned int:0
*/
unsigned int getSceneHandleById(int nSceneId,unsigned int hFuben);
/*
* Comments:
* Param unsigned int hScene:handle
* Param int nMonsterId:id0
* @Return int:
*/
int getMyMonsterCount(unsigned int hScene,int nMonsterId);
/*
* Comments:退
* Param unsigned int hScene:
* Param int nMonsterId: =0
* @Return void:
*/
void clearMonster(unsigned int hScene,int nMonsterId = 0);
/*
* Comments: 退
* Param double handle:
* Param bool bDelayDestroy:
* @Return void:
*/
void clearMonster(double handle, bool bDelayDestroy = false);
/*
* Comments:
* Param unsigned int hScene: handle
* Param int nType:
* @Return void:
*/
void clearSceneEntity(unsigned int hScene, int nType);
/*
* Comments:
* Param void * pMonster:
* Param void * pEntity:
* @Return void:
*/
void killMonsterByActor(void* pMonster, void* pEntity);
/*
* Comments:
* Param unsigned int hScene:handle
* Param char * sMsg:
type:
* @Return void:
*/
void sendMsgToScene(unsigned int hScene, char* sMsg,int nType);
/*
* Comments:
* Param unsigned int hScene:
* Param int nTime:
* @Return void:
*/
void sendCountDown(unsigned int hScene,int nTime, int nFlag);
/*
* Comments:
* Param unsigned hFb:handle
* Param char * sMsg:
type:
* @Return void:
*/
void sendMsgToFb(unsigned hFb,char* sMsg,int nType);
/*
* Comments:npc的名字获取指针
* Param unsigned int hScene:
* Param char * szName:npc的名字
* @Return void*:
*/
void* getNpcPtrByName(unsigned int hScene,char* szName);
/*
* Comments:
* Param unsigned int hFb:handle
* @Return void*:
*/
void* getFbActorPtr(unsigned int hFb);
/*
* Comments:id获取场景内的怪物指针
* Param unsigned int hScene:
* Param int nMonsterId:
* @Return void*:
*/
void* getMonsterPtrById(unsigned int hScene,int nMonsterId);
/*
* Comments:id和idx获取场景内的怪物指针
* Param unsigned int hScene:
* Param int nMonsterId:
* @Return void*:
*/
void* getMonsterPtrByIdx( unsigned int hScene,int nMonsterId, int nMonsterIdx);
/*
* Comments: id列表
* Param lua_State * L:
* @Return int:
*/
int getMonsterBeAttackActorList(lua_State *L);
/*
* Comments:
* Param unsigned int hScene:
* Param int nMonsterId:0id
* @Return bool:
*/
bool isKillAllMonster(unsigned int hScene,int nMonsterId = 0);
/*
* Comments:
* Param unsigned int hScene:
* Param int nMonsterId:id
* @Return int:
*/
int getLiveMonsterCount(unsigned int hScene,int nMonsterId);
/*
* Comments:
* Param unsigned int hScene:handle
* Param int nTime:
* @Return void:
*/
void setSceneTime(unsigned int hScene, int nTime);
/*
* Comments:使setSceneTime设置时间
* Param unsigned int hScene:handle
* @Return int:
*/
int getSceneTime(unsigned int hScene);
/*
* Comments: id获取名字
* Param int nSceneId:id
* @Return char*:
*/
const char* getSceneNameById(int nSceneId);
//设置一个场景里的npc是否可见 bset false 可见 true 不可见
void setSceneNpcCanNotSee(int nSceneId,bool bSet);
/*
* Comments:
unsigned int hScene:handle
* Param INT_PTR nIndex:
* Param INT_PTR nType:tagmapattribute定义
* Param LPCSTR sValues:"1,2,10",256
* Param LPCSTR sFunc:,
* Param Uint64 hNpc:NPC的handle
* Param int notips
* @Return bool:nIndex或者nType越界,
*/
bool setSceneAreaAttri(unsigned int hScene,int nIndex,int nType,const char* sValues,const char* sFunc=NULL, double hNpc=0, int notips = 0);
//x y 坐标在场景sceneid 中的区域
int GetAreaListIndex(int nSceneId,int x, int y, unsigned int fbHandle = 0);
// /*
// * Comments:设置区域属性
// unsigned int SceneId:场景的id
// * Param INT_PTR x,y:场景x y坐标
// * Param INT_PTR nType:区域属性类型见tagmapattribute定义
// * Param LPCSTR sValues:属性的参数,如"1,2,10"等,函数内会分解成多个整数保存,最多支持256个整数
// * Param int notips 当前区域是否提示
// * @Return bool:设置是否成功失败的原因都是nIndex或者nType越界,或者参数有误
// */
// bool AddSceneAreaAttri( unsigned int SceneId,int x, int y,int nType,const char* sValues, int notips = 0);
//当前场景是否属于同一个工会
int GetNowSceneGuildList(unsigned int nSceneId);
//重置副本场景 区域配置
void ResetFubenSceneConfig(int nSceneId);
/*
* Comments:boss的玩家的个数
* Param void * pfb:
* @Return int:
*/
int getKillBossCount(void* pfb);
/*
* Comments:boss的玩家的名字
* Param void * pfb:
* Param int index:
* @Return const char*:
*/
const char* getKillBossActorName(void *pfb,int index);
/*
* Comments:
* Param void * pfb:
* @Return int:
*/
int getFbTime(void* pfb);
/*
* Comments:
* Param void * pfb:
* @Return int:
*/
int getActorDieCount(void* pfb);
/*
* Comments:
* Param void * pfb:
* @Return int:
*/
int getFbMonsterTotal(void* pfb);
/*
* Comments:
* Param void * pfb:
* @Return int:
*/
int getKillMonsterCount(void* pfb);
//获取动态变量,动态变量仅在运行时有效,参数是副本指针
int getDyanmicVar(lua_State *L);
void clearDynamicVar(lua_State *L);
/*
* Comments:
* Param unsigned int nScene:
* @Return int:
*/
int getScenePlayerCount(unsigned int nScene);
/*
* Comments:
* Param unsigned int nScene:
* @Return int:
*/
int getSceenWidth(unsigned int nScene);
/*
* Comments:
* Param unsigned int nScene:
* @Return int:
*/
int getScenHeight(unsigned int nScene);
/*
* Comments:
* Param unsigned int nScene:
* @Return int:
*/
bool onCanMove(unsigned int nScene,int x,int y);
/*
* Comments:npc名字从所有场景中其指针)
* Param const char * sNpcName:npc名字
* @Return void *:npc指针
*/
void * getNpcPtrFromAllScenes(const char * sNpcName);
/*
* Comments:id获取场景指针
* Param int nSceneId:
* @Return CScene *:
*/
CScene * getScenePtrById( int nSceneId);
/*
* Comments:
* Param const char * pSceneName:
* @Return CScene *:
*/
CScene * getScenePtrByName(const char * pSceneName);
/*
* Comments:id和npcid获取npc指针
* Param unsigned int nSceneId:id
* Param unsigned int nNpcId:npcID
* @Return void *:npc的指针
*/
void * getNpcPtrById( unsigned int nSceneId, unsigned int nNpcId);
//通过场景handle获取npcID
void * getFbNpcPtrById(unsigned int nSceneHandle, unsigned int nNpcId);
/*
* Comments:
* Param void * pEntity:
* Param int nAttriValue:tagMapAreaAttribute的定义
* @Return bool:
*/
bool hasMapAreaAttri(void* pScene, int nPosX, int nPosY, int nAttriValue);
//设置副本时间
void setFbTime(void * pFb, unsigned int nTime);
//清除地图中的所有怪
void clearAllMonster(unsigned int hScene);
int getEntityCountAtXY(unsigned int hScene, int nX, int nY, int nEntityType);
/*
* Comments:
* Param void * pEntity:
* @Return void:
*/
void SendSecneShortCutMsg(unsigned int hScene, const char* szMsg);
//获取地图进入需要等级
void getSceneNeedLevel( void* ptrScene, int x, int y, int& nLevel, int& nCircle);
//设置某个坐标点不可移动( true 不可移动, false 可移动)
void setUnableMovePoint( unsigned int hScene, int x, int y,bool boValue);
int getSceneId(unsigned int hScene);
//副本中启用默认的场景刷怪方式
bool useDefaultCreateMonster(unsigned int fbHandle,bool flag= 0 );
bool isFuben(void* pFb);
void ExitAllFbActor(void* pFb);
int getMonsterHp(unsigned int hScene,int nMonsterId );
int getMonsterMaxHp(unsigned int hScene,int nMonsterId );
};
//tolua_end