KBEngine |
KBEngine模块
KBEngine模块提供了逻辑脚本层访问实体的部分, 以及当前进程其他客户端的数据等等。类
Entity |
PyClientApp |
成员函数
def addBots( reqCreateAndLoginTotalCount, reqCreateAndLoginTickCount=0, reqCreateAndLoginTickTime=0 ): |
def callback( initialOffset, callbackObj ): |
def cancelCallback( id ): |
def genUUID64( ): |
def getWatcher( path ): |
def getWatcherDir( path ): |
def scriptLogType( logType ): |
回调函数
def onInit( isReload ): |
def onFinish( ): |
属性
bots | bots |
component | 只读 string |
成员函数文档
def addBots( reqCreateAndLoginTotalCount, reqCreateAndLoginTickCount=0, reqCreateAndLoginTickTime=0 ):
功能说明:
向服务端添加机器人。
例子:
向服务端添加机器人。
例子:
# 这里是使用addBots的一个例子 import KBEngine # 一次性向服务器添加5个机器人(瞬时完成) KBEngine.addBots( 5 ) # 一共向服务器添加1000个机器人,每次添加5个,每次添加所用时间(s) KBEngine.addBots( 1000, 5, 10 )
参数:
reqCreateAndLoginTotalCount | integer,向服务器添加的机器人总数。 |
reqCreateAndLoginTickCount | integer,每次向服务器添加的机器人数量。 |
reqCreateAndLoginTickTime | integer,每次添加所用时间(秒)。 |
def callback( initialOffset, callbackObj ):
功能说明:
注册一个回调,回调函数callbackObj触发,回调函数将在"initialOffset"秒后被执行。
例子:
注册一个回调,回调函数callbackObj触发,回调函数将在"initialOffset"秒后被执行。
例子:
# 这里是使用callback的一个例子 import KBEngine # 增加一个定时器,1秒后执行 KBEngine.callback( 1, onCallbackfun ) def onCallbackfun( ): print "onCallbackfun called“
参数:
initialOffset | float,指定回调从注册到回调的时间间隔(秒)。 |
callbackObj | function,指定的回调函数对象。 |
返回:
integer,该函数返回callback的内部id,这个id可用于cancelCallback移除回调。 |
def cancelCallback( id ):
功能说明:
函数cancelCallback用于移除一个注册但还未触发的回调,移除后的回调不再执行。 如果cancelCallback函数使用一个无效的id(例如已经移除),将会产生错误。
到KBEngine.callback参考回调的一个使用例子。
函数cancelCallback用于移除一个注册但还未触发的回调,移除后的回调不再执行。 如果cancelCallback函数使用一个无效的id(例如已经移除),将会产生错误。
到KBEngine.callback参考回调的一个使用例子。
参数:
id | integer,它指定要移除的回调id。 |
def genUUID64( ):
功能说明:
该函数生成一个64位的唯一ID。
注意:这个函数依赖于Cellapps服务进程启动参数gus,请正确设置启动参数保持唯一性。
另外如果gus超过65535则该函数只能在当前进程上保持唯一性。
用途:
多个服务进程上产生唯一物品ID并且在合服时不会产生冲突。
多个服务进程上产生一个房间ID,不需要进行唯一性校验。
该函数生成一个64位的唯一ID。
注意:这个函数依赖于Cellapps服务进程启动参数gus,请正确设置启动参数保持唯一性。
另外如果gus超过65535则该函数只能在当前进程上保持唯一性。
用途:
多个服务进程上产生唯一物品ID并且在合服时不会产生冲突。
多个服务进程上产生一个房间ID,不需要进行唯一性校验。
返回:
返回一个64位的integer。 |
def getWatcher( path ):
功能说明:
从KBEngine调试系统中获取一个监视变量的值。
例子:在baseapp1的Python命令行输入:
>>>KBEngine.getWatcher("/root/stats/runningTime")
12673648533
>>>KBEngine.getWatcher("/root/scripts/players")
32133
从KBEngine调试系统中获取一个监视变量的值。
例子:在baseapp1的Python命令行输入:
>>>KBEngine.getWatcher("/root/stats/runningTime")
12673648533
>>>KBEngine.getWatcher("/root/scripts/players")
32133
参数:
path | string,该变量的绝对路径包括变量名(可以在GUIConsole的watcher页查看)。 |
返回:
该变量的值。 |
def getWatcherDir( path ):
功能说明:
从KBEngine调试系统中获取一个监视目录下的元素列表(目录、变量名)。
例子:在baseapp1的Python命令行输入:
>>>KBEngine.getWatcher("/root")
('stats', 'objectPools', 'network', 'syspaths', 'ThreadPool', 'cprofiles', 'scripts', 'numProxices', 'componentID', 'componentType', 'uid', 'numClients', 'globalOrder', 'username', 'load', 'gametime', 'entitiesSize', 'groupOrder')
从KBEngine调试系统中获取一个监视目录下的元素列表(目录、变量名)。
例子:在baseapp1的Python命令行输入:
>>>KBEngine.getWatcher("/root")
('stats', 'objectPools', 'network', 'syspaths', 'ThreadPool', 'cprofiles', 'scripts', 'numProxices', 'componentID', 'componentType', 'uid', 'numClients', 'globalOrder', 'username', 'load', 'gametime', 'entitiesSize', 'groupOrder')
参数:
path | string,该变量的绝对路径(可以在GUIConsole的watcher页查看)。 |
返回:
监视目录下的元素列表(目录、变量名)。 |
def scriptLogType( logType ):
功能说明:
设置当前Python.print输出的信息类型(参考: KBEngine.LOG_TYPE_*)。
设置当前Python.print输出的信息类型(参考: KBEngine.LOG_TYPE_*)。
回调函数文档
def onInit( isReload ):
参数:
isReload | bool,是否是被重写加载脚本后触发的。 |
def onFinish( ):
属性文档
bots
说明:
bots是一个字典对象,包含当前进程上所有的客户端对象。
bots是一个字典对象,包含当前进程上所有的客户端对象。
类型:
PyBots |
component
说明:
这是正运行在当前脚本环境的组件。(至今为止)可能值有'cell', 'base', 'client', 'database', 'bot' 和 'editor'。
这是正运行在当前脚本环境的组件。(至今为止)可能值有'cell', 'base', 'client', 'database', 'bot' 和 'editor'。