156 lines
4.0 KiB
C
156 lines
4.0 KiB
C
|
|
/*
|
|||
|
|
由于一些特殊的函数需要直接调用Lua_state进行操作,这里注册一些函数作为特殊处理的
|
|||
|
|
|
|||
|
|
*/
|
|||
|
|
#pragma once
|
|||
|
|
|
|||
|
|
extern const luaL_reg LuaHelpExpot[];
|
|||
|
|
|
|||
|
|
/*
|
|||
|
|
*关于luaL_reg类函数的返回参数请注意,该返回参数表示给脚本的返回的值的个数,如果没有返回就返回0
|
|||
|
|
*如果有2个返回就返回2
|
|||
|
|
*/
|
|||
|
|
|
|||
|
|
namespace LuaHelp
|
|||
|
|
{
|
|||
|
|
/*
|
|||
|
|
* Comments:保存一个Lua的表到一个文件里去
|
|||
|
|
比如有一个表
|
|||
|
|
aa=
|
|||
|
|
{
|
|||
|
|
xxx = "112",
|
|||
|
|
zz =
|
|||
|
|
{
|
|||
|
|
121, 2332,
|
|||
|
|
},
|
|||
|
|
yyy = 111,
|
|||
|
|
}
|
|||
|
|
要存盘为../Data/aa.txt使用
|
|||
|
|
存盘的时候用 LuaHelp.saveTable(aa,"../Data/aa.txt",表格名字);
|
|||
|
|
如果表格名字不赋值 ,那么将不存名字,否则将保持为
|
|||
|
|
|
|||
|
|
如果不传表名保存完的aa.txt的内容为:
|
|||
|
|
{
|
|||
|
|
xxx = "112",
|
|||
|
|
zz =
|
|||
|
|
{
|
|||
|
|
121, 2332,
|
|||
|
|
},
|
|||
|
|
yyy = 111,
|
|||
|
|
}
|
|||
|
|
否则为加入名字为STable将为
|
|||
|
|
STable =
|
|||
|
|
{
|
|||
|
|
xxx = "112",
|
|||
|
|
zz =
|
|||
|
|
{
|
|||
|
|
121, 2332,
|
|||
|
|
},
|
|||
|
|
yyy = 111,
|
|||
|
|
}
|
|||
|
|
* Param lua_State * L: lua的指针
|
|||
|
|
* @Return int:没有返回,这里的返回值是表示给lua的返回的参数的个数
|
|||
|
|
*/
|
|||
|
|
int saveTable(lua_State *L);
|
|||
|
|
|
|||
|
|
/*
|
|||
|
|
* Comments:这个是测试用例,用于把一个数据表压入
|
|||
|
|
脚本里使用local b = LuaHelp.getTestTable() 将得到一个table
|
|||
|
|
* Param lua_State * L:
|
|||
|
|
* @Return int:返回值,是一个表的话就返回1
|
|||
|
|
*/
|
|||
|
|
int getTestTable(lua_State *L);
|
|||
|
|
|
|||
|
|
/*
|
|||
|
|
* Comments:获取角色所在队伍的队员的列表
|
|||
|
|
* Param lua_State * L:脚本传来的参数是角色的指针
|
|||
|
|
使用方法为: LuaHelp.getTeamMemberList(玩家的指针)
|
|||
|
|
* @Return int:返回1,是一个表
|
|||
|
|
*/
|
|||
|
|
int getTeamMemberList(lua_State *L);
|
|||
|
|
|
|||
|
|
/*
|
|||
|
|
* Comments:通过队伍的指针,获取队伍成员的列表
|
|||
|
|
* Param lua_State * L:
|
|||
|
|
* @Return int:
|
|||
|
|
*/
|
|||
|
|
int getTeamMemberListByPtr(lua_State *L);
|
|||
|
|
|
|||
|
|
/*
|
|||
|
|
* Comments:根据副本的id获取全服中这个副本的所有copy,返回副本的handle列表
|
|||
|
|
* Param int nFbid:
|
|||
|
|
* @Return void:
|
|||
|
|
*/
|
|||
|
|
int getFbFromId(lua_State *L);
|
|||
|
|
|
|||
|
|
/*
|
|||
|
|
* Comments:获取玩家重配地图的坐标点
|
|||
|
|
* Param lua_State * L:传入玩家的指针
|
|||
|
|
* @Return int:返回一个表,里面3个数字,分别是场景id,坐标X,坐标Y
|
|||
|
|
*/
|
|||
|
|
int getReloadMapPos(lua_State *L);
|
|||
|
|
|
|||
|
|
/*
|
|||
|
|
* Comments:获取周围的实体的指针列表
|
|||
|
|
* Param lua_State * L:[实体的指针][半径范围][实体类型tagEntityType, 留空或-1表示任意类型]
|
|||
|
|
* @Return int:返回一个表,包含所有的实体指针
|
|||
|
|
*/
|
|||
|
|
int getNearEntityList(lua_State *L);
|
|||
|
|
|
|||
|
|
/*
|
|||
|
|
* Comments:获取周围的实体的指针列表
|
|||
|
|
* Param lua_State * L:[场景指针][x][y][半径范围]
|
|||
|
|
* @Return int:返回一个表,包含所有的实体指针
|
|||
|
|
*/
|
|||
|
|
int getNearEntityListFromXY(lua_State *L);
|
|||
|
|
|
|||
|
|
/*
|
|||
|
|
* Comments:获取周围的实体的指针列表
|
|||
|
|
* Param lua_State * L:[场景指针][x][y][宽度半径][高度半径]
|
|||
|
|
* @Return int:返回一个表,包含所有的实体指针。获取到的区域范围是 (2*宽度半径)*(2*高度半径)
|
|||
|
|
*/
|
|||
|
|
int getNearEntityListFromRange(lua_State *L);
|
|||
|
|
|
|||
|
|
/*
|
|||
|
|
* Comments:获取所有的在线玩家的指针
|
|||
|
|
* Param lua_State * L:
|
|||
|
|
* @Return int:返回一个表,包含所有的实体指针
|
|||
|
|
*/
|
|||
|
|
int getAllActorList(lua_State *L);
|
|||
|
|
|
|||
|
|
/*
|
|||
|
|
* Comments:获取场景的在线玩家的指针
|
|||
|
|
* Param lua_State * L:[int:场景id]
|
|||
|
|
* @Return int:返回一个表,包含所有的实体指针
|
|||
|
|
*/
|
|||
|
|
int getSceneActorListById(lua_State *L);
|
|||
|
|
|
|||
|
|
/*
|
|||
|
|
* Comments:获取场景的在线玩家的指针
|
|||
|
|
* Param lua_State * L:[int:场景id]
|
|||
|
|
* @Return int:返回一个表,包含所有的实体指针
|
|||
|
|
*/
|
|||
|
|
int getSceneAliveActorListById(lua_State *L);
|
|||
|
|
|
|||
|
|
/*
|
|||
|
|
* Comments:获取排行榜前N名的数据
|
|||
|
|
* Param lua_State * L:[排行榜的指针][数量,表示要获取前N名]
|
|||
|
|
* @Return int:返回一个表,包含排行榜项的指针
|
|||
|
|
*/
|
|||
|
|
int getRankingItemList(lua_State* L);
|
|||
|
|
|
|||
|
|
/*
|
|||
|
|
* Comments:获取副本内所有玩家的列表
|
|||
|
|
* Param lua_State * L:[副本的指针]
|
|||
|
|
* @Return int:返回一个表,包含所有玩家的指针
|
|||
|
|
*/
|
|||
|
|
int getFbActorList(lua_State* L);
|
|||
|
|
|
|||
|
|
/*
|
|||
|
|
* Comments:获取实体可见范围内玩家的列表
|
|||
|
|
* Param lua_State * L:[实体指针]
|
|||
|
|
* @Return int:
|
|||
|
|
*/
|
|||
|
|
int getVisiActorList(lua_State* L);
|
|||
|
|
}
|