迷你世界Lua API帮助文档

EVENTDATE = {
    YEAR = 0,
    MONTH = 1,
    DAY = 2,
    HOUR = 3,
    MINUTE = 4,
    SECOND = 5,
    TIMESTAMP = 6
}
E = {
    eventobjid = 1,
    uielement = 1,
    content = 1,
    CustomUI = 1,
}
ErrorCode={
    OK=0
}
local code = 0
local objtype = 0
local x, y, z = 0, 0, 0
local pos = 0
local dir = 0
local hp = 0
local maxhp = 0
local oxygen = 0
local yaw = 0
local pitch = 0
local switch = 0
local actorid = 0
local objid = 0
local height = 0
local w = 0
local h = 0
local modleName = 0
local areaid = 0
local lenx = 0
local leny = 0
local lenz = 0
local posBeg = 0
local posEnd = 0
local playerlist = {}
local objs = 0
local istar = 0
local iend = 0
local icount = 0
local num = 0
local arr = {}
local gridid = 0
local itemid = 0
local name = ""
local curstack = 0
local maxstack = 0
local durcur = 0
local durmax = 0
local type = 0
local equipid = 0
local ret = 0
local blockid = 0
local data = 0
local ix = 0
local desc = 0
local val = 0
local objid2 = 0
local value = 0
local teamid = 0
local icon = 0
local str = 0
local strs = 0
local info = 0
local graphid = 0
local shapeid = 0
local timerid = 0
local runtime = 0
local id = 0
local uin = 0
local result = 0
local score = 0
local rank = 0
local addnum = 0
local foodLevel = 0
local times = 0
local x = 0
local y = 0
local length = 0
local datas = 0
local len = 0
local no = 0
local hour = 0
local state = 0
local config = 0
local startX = 0
local startZ = 0
local endX = 0
local endZ = 0
local total = 0
local allarr = {}
local list = {}
local playerid = 0
local obj = 0
local particleId = 0
local lv = 0
local soundid = 0
local wtype = 0
local time = 0
local timestr = 0
local relNum = 0
Actor = {}
function Actor:isPlayer( -- 检测是否是玩家
--[[
        objid:number:对象的objid
    ]]
    objid
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Actor:isMob( -- 检测是否是怪物
--[[
        objid:number:对象的objid
    ]]
    objid
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Actor:getObjType( -- 获取对象类型(玩家、生物、投掷物、掉落物等)
--[[
        objid:number:对象的objid
    ]]
    objid
)
    return code, objtype
    --[[
        code:number:成功(ErrorCode.OK),objtype:number:对象类型(OBJ_TYPE枚举值)
    ]]
end

function Actor:isInAir( -- 对象是否在空中
--[[
        objid:number:对象的objid
    ]]
    objid
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Actor:getPosition( -- 获取actor位置
--[[
        objid:number:对象的objid
    ]]
    objid
)
    return code, x, y, z
    --[[
        code:number:成功(ErrorCode.OK),x|y|z:number:方块坐标
    ]]
end

function Actor:getPositionV2( -- 获取actor位置
--[[
        objid:number:对象的objid
    ]]
    objid
)
    return code, pos
    --[[
        code:number:成功(ErrorCode.OK),pos:table:方块坐标
    ]]
end

function Actor:setPosition( -- 设置Actor对象位置
--[[
        objid:number:对象的objid,x|y|z:number:方块坐标
    ]]
    objid,
    x,
    y,
    z
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Actor:jump( -- 使玩家/生物跳跃一次
--[[
        objid:number:对象的objid
    ]]
    objid
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Actor:killSelf( -- 击败生物
--[[
        objid:number:对象的objid
    ]]
    objid
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Actor:getCurPlaceDir( -- 获取对象当前朝向
--[[
        objid:number:对象的objid
    ]]
    objid
)
    return code, dir
    --[[
        code:number:成功(ErrorCode.OK),dir:number:朝向(FACE_DIRECTION枚举值)
    ]]
end

function Actor:tryMoveToActor( -- 使对象向目标行动者移动(如果执行对象是刚创建出来的需要加个等待时间)
--[[
        self_objid:number:执行动作的对象objid,target_objid:number:目标的对象objid,speed:number:移动速度
    ]]
    self_objid,
    target_objid,
    speed
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Actor:tryMoveToPos( -- 向目标位置移动(如果执行对象是刚创建出来的需要加个等待时间)
--[[
        objid:number:执行动作的对象objid,x|y|z:number:移动到的位置,speed:number:移动速度
    ]]
    objid,
    x,
    y,
    z,
    speed
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Actor:addHP( -- 增加对象当前生命量
--[[
        objid:number:生物对象objid,hp:number:血量值(hp>0增加血量,hp<0减少血量)
    ]]
    objid,
    hp
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Actor:getHP( -- 获取对象的生命量
--[[
        objid:number:生物对象objid
    ]]
    objid
)
    return code, hp
    --[[
        code:number:成功(ErrorCode.OK),hp:number:血量值
    ]]
end

function Actor:getMaxHP( -- 获取对象最大生命量
--[[
        objid:number:生物对象objid
    ]]
    objid
)
    return code, maxhp
    --[[
        code:number:成功(ErrorCode.OK),maxhp:number:最大血量值
    ]]
end

function Actor:addOxygen( -- 增加对象的氧气值
--[[
        objid:number:生物对象objid,oxygen:number:氧气值
    ]]
    objid,
    oxygen
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Actor:getOxygen( -- 获取对象的氧气值
--[[
        objid:number:生物对象objid
    ]]
    objid
)
    return code, oxygen
    --[[
        code:number:成功(ErrorCode.OK),oxygen:number:氧气值
    ]]
end

function Actor:addEnchant( -- 增加装备镶嵌
--[[
        objid:number:生物对象objid, slot:number:镶嵌的格子位置(快捷栏索引等), enchantId:number:镶嵌的ID, enchantLevel:number:镶嵌等级
    ]]
    objid,
    slot,
    enchantId,
    enchantLevel
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Actor:removeEnchant( -- 移除装备镶嵌
--[[
        objid:number:生物对象objid, slot:number:镶嵌的格子位置(快捷栏索引等), enchantId:number:镶嵌的ID
    ]]
    objid,
    slot,
    enchantId
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Actor:findNearestBlock( -- 寻找对象附近某个类型方块的最近位置
--[[
        objid:number:生物对象objid, blockid:number:查找的方块类型, blockRange:number:查找范围(传1表示1格方块距离)
    ]]
    objid,
    blockid,
    blockRange
)
    return code, x, y, z
    --[[
        code:number:成功(ErrorCode.OK),x|y|z:number:方块坐标
    ]]
end

function Actor:setFaceYaw( -- 设置actor横向旋转偏移角度
--[[
        objid:number:生物对象objid, yaw:number:旋转角度(角度制)
    ]]
    objid,
    yaw
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Actor:getFaceYaw( -- 获取actor横向旋转偏移角度
--[[
        objid:number:生物对象objid
    ]]
    objid
)
    return code, yaw
    --[[
        code:number:成功(ErrorCode.OK),yaw:number:旋转角度(弧度制)
    ]]
end

function Actor:turnFaceYaw( -- 转动actor横向偏移角度
--[[
        objid:number:生物对象objid, offset:number:旋转角度(角度制)
    ]]
    objid,
    offset
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Actor:setFacePitch( -- 设置actor视角仰望角度
--[[
        objid:number:生物对象objid,pitch:number:旋转角度(角度制)
    ]]
    objid,
    pitch
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Actor:getFacePitch( -- 获取actor视角仰望角度
--[[
        objid:number:生物对象objid
    ]]
    objid
)
    return code, pitch
    --[[
        code:number:成功(ErrorCode.OK),pitch:number:旋转角度(弧度制)
    ]]
end

function Actor:turnFacePitch( -- 转动actor仰望偏移角度
--[[
        objid:number:生物对象objid, offset:number:旋转角度(角度制)
    ]]
    objid,
    offset
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Actor:playBodyEffect( -- 对象播放特效
--[[
        objid:number:生物对象objid, type:number:特效类型
    ]]
    objid,
    type
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Actor:stopBodyEffect( -- 对象停止特效
--[[
        objid:number:生物对象objid, type:number:特效类型
    ]]
    objid,
    type
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Actor:playBodyEffectByFile( -- 播放文件特效
--[[
        objid:number:生物对象objid, filename:string:特效文件名,sync:boolean:是否同步客机(默认为true)
    ]]
    objid,
    filename,
    sync
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Actor:stopBodyEffectByFile( -- 停止文件特效
--[[
        objid:number:生物对象objid, filename:string:特效文件名
    ]]
    objid,
    filename
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Actor:playSound( -- 对象播放声音
--[[
        objid:number:生物对象objid, name:string:声音ID,volume:number:声音大小,flag:number:播放标记
    ]]
    objid,
    name,
    volume,
    pitch,
    flag
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Actor:playSoundSpecial( -- 播放声音(特定类型:GSOUND_TYPE)
--[[
        objid:number:生物对象objid, name:string:声音ID,type:number:声音类型(0~4挖掘、破坏、放置、掉落到方块,行走)
    ]]
    objid,
    name,
    type
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Actor:clearActorWithId( -- 清除生物ID为actorid的生物
--[[
        actorid:number:生物类型ID, bkill:boolean:是否被击败
    ]]
    actorid,
    bkill
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Actor:setAttackType( -- 设置伤害类型
--[[
        objid:number:生物对象objid, attacktype:number:伤害类型(HURTTYPE枚举值)
    ]]
    objid,
    attacktype
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Actor:setImmuneType( -- 设置免疫伤害类型
--[[
        objid:number:生物对象objid, immunetype:number:伤害类型(HURTTYPE枚举值),enable:boolean:是否开启
    ]]
    objid,
    immunetype,
    enable
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Actor:mountActor( -- 使对象登上、脱离载具
--[[
        objid:number:生物对象objid, mountobjid:objid:坐骑、载具的objid,posindex:number:骑乘的位置(默认-1)
    ]]
    objid,
    mountobjid,
    posindex
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Actor:setActionAttrState( -- 设置生物行为属性状态
--[[
        objid:number:生物对象objid, actionattr:number:权限属性枚举(PLAYERATTR.ENABLE_MOVE),switch:boolean:是否开启
    ]]
    objid,
    actionattr,
    switch
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Actor:getActionAttrState( -- 获取生物行为属性状态
--[[
        objid:number:生物对象objid, actionattr:number:权限属性枚举(PLAYERATTR.ENABLE_MOVE)
    ]]
    objid,
    actionattr
)
    return code, switch
    --[[
        code:number:成功(ErrorCode.OK),switch:boolean:是否开启
    ]]
end

function Actor:tryNavigationToPos( -- 寻路到目标位置
--[[
        objid:number:生物对象objid,x|y|z:number:目标位置,cancontrol:boolean:是否可以操作打断,bshowtip:boolean:是否显示寻路路径
    ]]
    objid,
    x,
    y,
    z,
    cancontrol,
    bshowtip
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Actor:randomActorID( -- 在资源库里随机创建一个生物
--[[
        无
    ]]
)
    return code, actorid
    --[[
        code:number:成功(ErrorCode.OK),actorid:number:生物类型ID
    ]]
end

function Actor:getRidingActorObjId( -- 获取骑乘生物的objid
--[[
        objid:number:生物对象objid
    ]]
    objid
)
    return code, objid
    --[[
        code:number:成功(ErrorCode.OK),objid:number:坐骑ID(等于0时,没有坐骑)
    ]]
end

function Actor:playBodyEffectById( -- 在指定对象身上播放粒子特效
--[[
        objid:number:生物对象objid,particleId:number:粒子特效ID,scale:number:特效大小缩放
    ]]
    objid,
    particleId,
    scale
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Actor:stopBodyEffectById( -- 停止指定对象身上的粒子特效
--[[
        objid:number:生物对象objid,particleId:number:粒子特效ID
    ]]
    objid,
    particleId
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Actor:setBodyEffectScale( -- 设置指定对象身上的特效大小
--[[
        objid:number:生物对象objid,particleId:number:粒子特效ID,scale:number:特效大小缩放
    ]]
    objid,
    particleId,
    scale
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Actor:playSoundEffectById( -- 在指定对象身上播放音效
--[[
        objid:number:生物对象objid,soundId:number:音效ID,volume:number:声音大小,pitch:number:音调,isLoop:number:是否循环
    ]]
    objid,
    soundId,
    volume,
    pitch,
    isLoop
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Actor:stopSoundEffectById( -- 停止指定对象身上的音效
--[[
        objid:number:生物对象objid,soundId:number:音效ID
    ]]
    objid,
    soundId
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Actor:appendSpeed( -- 给对象附加一个速度
--[[
        objid:number:对象objid,x|y|z:number:轴向方向上的速度大小
    ]]
    objid,
    x,
    y,
    z
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Actor:setFaceDirection( -- 设置对象朝向
--[[
        objid:number:对象objid,x|y|z:number:轴向上的方向
    ]]
    objid,
    x,
    y,
    z
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Actor:getFaceDirection( -- 获取actor朝向
--[[
        objid:number:对象objid
    ]]
    objid
)
    return code, x, y, z
    --[[
        code:number:成功(ErrorCode.OK),x|y|z:number:轴向上的方向
    ]]
end

function Actor:calcDirectionByDirection( -- 通过对象的局部坐标方向计算绝对方向
--[[
        objid:number:对象objid,x|y|z:number:轴向上的方向
    ]]
    objid,
    x,
    y,
    z
)
    return code, pos
    --[[
        code:number:成功(ErrorCode.OK),pos:table:轴向上的方向
    ]]
end

function Actor:calcDirectionByAngle( -- 通过对象局部球坐标方向计算绝对方向
--[[
        objid:number:对象objid,yaw:number:水平偏移夹角,pitch:number:垂直偏移夹角
    ]]
    objid,
    yaw,
    pitch
)
    return code, pos
    --[[
        code:number:成功(ErrorCode.OK),pos:table:轴向上的方向
    ]]
end

function Actor:calcDirectionByYawDirection( -- 通过局部坐标方向计算绝对正方向(忽略视角仰角)
--[[
        objid:number:对象objid,x|y|z:number:轴向上的方向
    ]]
    objid,
    x,
    y,
    z
)
    return code, pos
    --[[
        code:number:成功(ErrorCode.OK),pos:table:轴向上的方向
    ]]
end

function Actor:calcDirectionByYawAngle( -- 通过局部球坐标方向计算绝对正方向(忽略视角仰角)
--[[
        objid:number:对象objid,yaw:number:水平偏移夹角,pitch:number:垂直偏移夹角
    ]]
    objid,
    yaw,
    pitch
)
    return code, pos
    --[[
        code:number:成功(ErrorCode.OK),pos:table:轴向上的方向
    ]]
end

function Actor:getEyeHeight( -- 获取眼睛高度
--[[
        objid:number:对象objid
    ]]
    objid
)
    return code, height
    --[[
        code:number:成功(ErrorCode.OK),height:number:获取到的高度(方块高度)
    ]]
end

function Actor:getEyePosition( -- 获取眼睛位置
--[[
        objid:number:对象objid
    ]]
    objid
)
    return code, x, y, z
    --[[
        code:number:成功(ErrorCode.OK),x|y|z:number:位置坐标
    ]]
end

function Actor:getBodySize( -- 获取对象身体尺寸
--[[
        objid:number:对象objid
    ]]
    objid
)
    return code, w, h
    --[[
        code:number:成功(ErrorCode.OK),w:number:宽度,h:number:高度
    ]]
end

function Actor:playAct( -- 对象播放动作
--[[
        objid:number:对象ID,actid:number:动作ID
    ]]
    objid,
    actid
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Actor:shownickname( -- 设置对象昵称是否显示
--[[
        objid:number:对象ID,bshow:boolean:是否显示
    ]]
    objid,
    bshow
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Actor:setnickname( -- 设置对象昵称
--[[
        objid:number:对象ID,nickname:string:对象昵称
    ]]
    objid,
    nickname
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Actor:getActorFacade( -- 获取对象外观描述
--[[
        objid:number:对象ID
    ]]
    objid
)
    return code, modleName
    --[[
        code:number:成功(ErrorCode.OK),modleName:string:对象外观描述
    ]]
end

function Actor:changeCustomModel( -- 改变对象外观
--[[
        objid:number:对象ID,modleName:string:对象外观描述
    ]]
    objid,
    modleName
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Actor:recoverinitialModel( -- 恢复对象外观
--[[
        objid:number:对象ID
    ]]
    objid
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Actor:randomFacadeID( -- 随机获取一个外观
--[[
        无
    ]]
)
    return code, modleName
    --[[
        code:number:成功(ErrorCode.OK),modleName:string:对象外观描述
    ]]
end

function Actor:playerHurt( -- 使玩家A对B造成伤害
--[[
        objidA:number:玩家对象ID,objidB:number:目标对象ID,hp:number:血量值,attackType:number:伤害值
    ]]
    objidA,
    objidB,
    hp,
    attackType
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Actor:actorHurt( -- 使生物A对B造成伤害
--[[
        objidA:number:生物对象ID,objidB:number:目标对象ID,hp:number:血量值,attackType:number:伤害值
    ]]
    objidA,
    objidB,
    hp,
    attackType
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Actor:playerHurtArea( -- 使玩家伤害区域内的目标
--[[
        objidA:number:玩家对象ID,areaid:number:区域ID,hp:number:血量值,attackType:number:伤害值
    ]]
    objidA,
    areaid,
    hp,
    attackType
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Actor:actorHurtArea( -- 使生物伤害区域内的目标
--[[
        objidA:number:生物对象ID,areaid:number:区域ID,hp:number:血量值,attackType:number:伤害值
    ]]
    objidA,
    areaid,
    hp,
    attackType
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

Area = {}
function Area:createAreaRect( -- 创建矩形区域
--[[
        pos:table:区域中心位置,dim:table:区域的长宽高
    ]]
    pos,
    dim
)
    return code, areaid
    --[[
        code:number:成功(ErrorCode.OK), areaid:number:区域ID
    ]]
end

function Area:createAreaRectByRange( -- 创建矩形区域(通过范围)
--[[
        posBeg:table:区域起始坐标,posEnd:table:区域结束坐标
    ]]
    posBeg,
    posEnd
)
    return code, areaid
    --[[
        code:number:成功(ErrorCode.OK), areaid:number:区域ID
    ]]
end

function Area:destroyArea( -- 销毁区域
--[[
        areaid:number:区域ID
    ]]
    areaid
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Area:getAreaByPos( -- 通过位置查找区域
--[[
        pos:table:区域中心位置
    ]]
    pos
)
    return code, areaid
    --[[
        code:number:成功(ErrorCode.OK), areaid:number:区域ID
    ]]
end

function Area:offsetArea( -- 区域偏移
--[[
        areaid:number:区域ID,x|y|z:number:偏移距离
    ]]
    areaid,
    x,
    y,
    z
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Area:expandArea( -- 扩大区域
--[[
        areaid:number:区域ID,x|y|z:number:偏移距离
    ]]
    areaid,
    x,
    y,
    z
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Area:getAreaCenter( -- 获取区域中间点
--[[
        areaid:number:区域ID
    ]]
    areaid
)
    return code, pos
    --[[
        code:number:成功(ErrorCode.OK),pos:table:区域中心位置
    ]]
end

function Area:getAreaRectLength( -- 获取区域各边长
--[[
        areaid:number:区域ID
    ]]
    areaid
)
    return code, lenx, leny, lenz
    --[[
        code:number:成功(ErrorCode.OK),lenx:number:x轴向长度,leny:number:y轴向长度,lenz:number:z轴向长度
    ]]
end

function Area:getAreaRectRange( -- 获取区域范围
--[[
        areaid:number:区域ID
    ]]
    areaid
)
    return code, posBeg, posEnd
    --[[
        code:number:成功(ErrorCode.OK),posBeg:table:区域起始坐标,posEnd:table:区域结束坐标
    ]]
end

function Area:getRandomPos( -- 随机区域内位置
--[[
        areaid:number:区域ID
    ]]
    areaid
)
    return code, pos
    --[[
        code:number:成功(ErrorCode.OK),pos:table:随机坐标
    ]]
end

function Area:objInArea( -- 检测obj是否在区域内
--[[
        areaid:number:区域ID,objid:number:objid
    ]]
    areaid,
    objid
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Area:blockInArea( -- 检测区域内是否有某个方块
--[[
        areaid:number:区域ID,blockid:number:方块类型ID
    ]]
    areaid,
    blockid
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Area:posInArea( -- 位置是否再区域内
--[[
        pos:table:位置(x|y|z),areaid:number:区域唯一ID
    ]]
    pos,
    areaid
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Area:getAreaPlayers( -- 获取区域中的所有玩家
--[[
        areaid:number:区域唯一ID
    ]]
    areaid
)
    return code, playerlist
    --[[
        code:number:成功(ErrorCode.OK),playerlist:table:玩家objid组
    ]]
end

function Area:getAreaCreatures( -- 获取区域中的所有生物
--[[
        areaid:number:区域唯一ID
    ]]
    areaid
)
    return code, playerlist
    --[[
        code:number:成功(ErrorCode.OK),playerlist:table:生物objid组
    ]]
end

function Area:fillBlock( -- 用方块填充区域
--[[
        areaid:number:区域唯一ID,blockid:number:方块类型ID,face:number:方块朝向
    ]]
    areaid,
    blockid,
    face
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Area:clearAllBlock( -- 清空区域内全部方块
--[[
        areaid:number:区域唯一ID,blockid:number:方块类型ID
    ]]
    areaid,
    blockid
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Area:cloneArea( -- 复制区域内方块到另一个区域
--[[
        areaid:number:区域唯一ID,deststartpos:table:目标起始位置
    ]]
    areaid,
    deststartpos
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Area:getPosOffset( -- 获取位置的偏移距离
--[[
        srcpos:table:方块坐标位置,dim:table:xyz方向上的偏移量
    ]]
    srcpos,
    dim
)
    return code, pos
    --[[
        code:number:成功(ErrorCode.OK),pos:table:方块坐标位置
    ]]
end

function Area:replaceAreaBlock( -- 替换方块类型为新的方块类型
--[[
        areaid:number:区域唯一ID,srcblockid:number:区域内的方块类型,destblockid:number:替换的方块类型,face:number:方块朝向
    ]]
    areaid,
    srcblockid,
    destblockid,
    face
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Area:blockInAreaRange( -- 检测两个位置范围内有方块
--[[
        blockid:number:方块类型ID,posbeg:table:起始位置,posend:table:末点位置
    ]]
    blockid,
    posbeg,
    posend
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Area:getAllObjsInAreaRange( -- 获取区域范围内全部对象
--[[
        posbeg:table:起始位置,posend:table:末点位置,objtype:number:对象类型(OBJ_TYPE)
    ]]
    posbeg,
    posend,
    OBJ_TYPE
)
    return code, objs
    --[[
        code:number:成功(ErrorCode.OK),objs:table:对象objid组
    ]]
end

function Area:getAllObjsInAreaRangeByObjTypes( -- 获取区域范围内全部对象
--[[
        posbeg:table:起始位置,posend:table:末点位置,objtypes:table:多个对象类型(OBJ_TYPE)
    ]]
    posbeg,
    posend,
    OBJ_TYPE
)
    return code, objs
    --[[
        code:number:成功(ErrorCode.OK),objs:table:对象objid组
    ]]
end

function Area:getAllPlayersInAreaRange( -- 获取区域范围内全部玩家
--[[
        posbeg:table:起始位置,posend:table:末点位置
    ]]
    posbeg,
    posend
)
    return code, objs
    --[[
        code:number:成功(ErrorCode.OK),objs:table:对象objid组
    ]]
end

function Area:getAllCreaturesInAreaRange( -- 获取区域范围内全部生物
--[[
        posbeg:table:起始位置,posend:table:末点位置
    ]]
    posbeg,
    posend
)
    return code, objs
    --[[
        code:number:成功(ErrorCode.OK),objs:table:对象objid组
    ]]
end

function Area:fillBlockAreaRange( -- 用方块填充区域范围
--[[
        posbeg:table:起始位置,posend:table:末点位置,blockid:number:方块类型,face:number:朝向
    ]]
    posbeg,
    posend,
    blockid,
    face
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Area:clearAllBlockAreaRange( -- 清空区域范围内方块
--[[
        posbeg:table:起始位置,posend:table:末点位置,blockid:number:方块类型
    ]]
    posbeg,
    posend,
    blockid
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Area:DestroyBlockAreaRange( -- 删除区域范围内方块
--[[
        posbeg:table:起始位置,posend:table:末点位置,blockid:number:方块类型
    ]]
    posbeg,
    posend,
    blockid
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Area:cloneAreaRange( -- 复制区域范围内方块到另一个区域
--[[
        posbeg:table:起始位置,posend:table:末点位置,deststartpos:table:目标起始位置
    ]]
    posbeg,
    posend,
    deststartpos
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Area:replaceAreaRangeBlock( -- 替换区域范围方块
--[[
        posbeg:table:起始位置,posend:table:末点位置,srcblockid:number:方块类型,destblockid:number:目标方块类型,face:number:朝向,inair:number:是否包括空气方块
    ]]
    posbeg,
    posend,
    srcblockid,
    destblockid,
    face,
    inair
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

Backpack = {}
function Backpack:getBackpackBarIDRange( -- 获取道具背包栏ID范围(起始ID~结束ID)
--[[
        bartype:number:快捷栏枚举(BACKPACK_TYPE)
    ]]
    BACKPACK_TYPE
)
    return code, istar, iend
    --[[
        code:number:成功(ErrorCode.OK),istar:number:起始ID,iend:number:结束ID
    ]]
end

function Backpack:getBackpackBarSize( -- 获取道具背包栏大小
--[[
        bartype:number:快捷栏枚举(BACKPACK_TYPE)
    ]]
    BACKPACK_TYPE
)
    return code, icount
    --[[
        code:number:成功(ErrorCode.OK),icount:number:背包栏大小
    ]]
end

function Backpack:setGridItem( -- 设置背包格道具
--[[
        playerid:number:玩家ID,gridid:number:格子ID,itemid:number:道具类型,num:number:道具数量(默认1),durability:number:耐久值(默认1)
    ]]
    playerid,
    gridid,
    itemid,
    num,
    durability
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Backpack:removeGridItem( -- 移除背包格内一定数量道具
--[[
        playerid:number:玩家ID,gridid:number:格子ID,num:number:道具数量(默认全部移除)
    ]]
    playerid,
    gridid,
    num
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Backpack:removeGridItemByItemID( -- 移除背包内一定数量道具,通过道具ID移除,默认全部移除
--[[
        playerid:number:玩家ID,itemid:number:道具类型,num:number:道具数量(默认1)
    ]]
    playerid,
    itemid,
    num
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Backpack:clearPack( -- 清空指定背包栏
--[[
        playerid:number:玩家ID,bartype:number:快捷栏枚举(BACKPACK_TYPE)
    ]]
    playerid,
    BACKPACK_TYPE
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Backpack:clearAllPack( -- 清空全部背包(包含背包栏、快捷栏、装备栏)
--[[
        playerid:number:玩家ID
    ]]
    playerid
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Backpack:moveGridItem( -- 移动背包道具,默认全部转移
--[[
        playerid:number:玩家ID,gridsrc:number:移动格子ID,griddst:number:移动至的目标格子ID,num:number:道具数量(默认全部)
    ]]
    playerid,
    gridsrc,
    griddst,
    num
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Backpack:swapGridItem( -- 交换背包道具
--[[
        playerid:number:玩家ID,gridsrc:number:交换格子ID1,griddst:number:交换格子ID2
    ]]
    playerid,
    gridsrc,
    griddst
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Backpack:enoughSpaceForItem( -- 背包(包含背包栏、快捷栏)是否有足够的空间存放一定数量的道具
--[[
        playerid:number:玩家ID,itemid:number:道具类型,num:number:道具数量(默认1)
    ]]
    playerid,
    itemid,
    num
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Backpack:calcSpaceNumForItem( -- 计算背包(包含背包栏、快捷栏)能存放的道具剩余总数量
--[[
        playerid:number:玩家ID,itemid:number:道具类型
    ]]
    playerid,
    itemid
)
    return code, num
    --[[
        code:number:成功(ErrorCode.OK),num:number:可以存放的数量
    ]]
end

function Backpack:getBackpackBarValidList( -- 获取道具背包栏有效格ID列表(道具已存在),背包格ID数组
--[[
        playerid:number:玩家ID,bartype:number:快捷栏枚举(BACKPACK_TYPE)
    ]]
    playerid,
    BACKPACK_TYPE
)
    return code, num, arr
    --[[
        code:number:成功(ErrorCode.OK),num:number:存放道具的格子数量,arr:table:格子ID数组
    ]]
end

function Backpack:getBackpackBarItemList( -- 获取道具背包栏已拥有道具,道具ID数组
--[[
        playerid:number:玩家ID,bartype:number:快捷栏枚举(BACKPACK_TYPE)
    ]]
    playerid,
    BACKPACK_TYPE
)
    return code, num, arr
    --[[
        code:number:成功(ErrorCode.OK),num:number:存放道具的格子数量,arr:table:道具ID数组
    ]]
end

function Backpack:hasItemByBackpackBar( -- 检测背包是否持有某个道具
--[[
        playerid:number:玩家ID,bartype:number:快捷栏枚举(BACKPACK_TYPE),itemid:number:道具类型
    ]]
    playerid,
    BACKPACK_TYPE,
    itemid
)
    return code, gridid
    --[[
        code:number:成功(ErrorCode.OK),gridid:number:拥有此道具的格子ID
    ]]
end

function Backpack:getItemNumByBackpackBar( -- 获取背包持有某个道具总数量,同时返回装有道具的背包格数组
--[[
        playerid:number:玩家ID,bartype:number:快捷栏枚举(BACKPACK_TYPE),itemid:number:道具类型
    ]]
    playerid,
    BACKPACK_TYPE,
    itemid
)
    return code, num, arr
    --[[
        code:number:成功(ErrorCode.OK),num:number:道具数量,arr:table:格子ID数组
    ]]
end

function Backpack:getGridItemID( -- 获取背包格道具ID(返回itemid, num)
--[[
        playerid:number:玩家ID,gridid:number:格子ID
    ]]
    playerid,
    gridid
)
    return code, itemid, num
    --[[
        code:number:成功(ErrorCode.OK),itemid:number:道具类型,num:number:道具数量
    ]]
end

function Backpack:getGridItemName( -- 获取背包格道具名称
--[[
        playerid:number:玩家ID,gridid:number:格子ID
    ]]
    playerid,
    gridid
)
    return code, name
    --[[
        code:number:成功(ErrorCode.OK),name:string:道具名称
    ]]
end

function Backpack:getGridStack( -- 获取背包格道具堆叠数(返回curstack, maxstack)
--[[
        playerid:number:玩家ID,gridid:number:格子ID
    ]]
    playerid,
    gridid
)
    return code, curstack, maxstack
    --[[
        code:number:成功(ErrorCode.OK),curstack:number:当前数量,maxstack:number:最大数量
    ]]
end

function Backpack:getGridDurability( -- 获取背包格道具耐久度(返回durcur, durmax)
--[[
        playerid:number:玩家ID,gridid:number:格子ID
    ]]
    playerid,
    gridid
)
    return code, durcur, durmax
    --[[
        code:number:成功(ErrorCode.OK),durcur:number:当前耐久度,durmax:number:最大耐久度
    ]]
end

function Backpack:getGridEnchantList( -- 获取背包格道具附魔,返回附魔id数组
--[[
        playerid:number:玩家ID,gridid:number:格子ID
    ]]
    playerid,
    gridid
)
    return code, num, arr
    --[[
        code:number:成功(ErrorCode.OK),num:number:附魔数量,arr:table:附魔的ID组
    ]]
end

function Backpack:getGridToolType( -- 获取背包道具工具类型(
--[[
        playerid:number:玩家ID,gridid:number:格子ID
    ]]
    playerid,
    gridid
)
    return code, type
    --[[
        code:number:成功(ErrorCode.OK),type:number:工具类型
    ]]
end

function Backpack:addItem( -- 添加道具到背包
--[[
        playerid:number:玩家ID,itemid:number:道具类型,num:number:道具数量
    ]]
    playerid,
    itemid,
    num
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Backpack:discardItem( -- 丢弃背包某个格子里的道具
--[[
        playerid:number:玩家ID,gridid:number:格子ID,num:number:道具数量
    ]]
    playerid,
    gridid,
    num
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Backpack:getGridNum( -- 获取背包某个格子的道具数量
--[[
        playerid:number:玩家ID,gridid:number:格子ID
    ]]
    playerid,
    gridid
)
    return code, num
    --[[
        code:number:成功(ErrorCode.OK),num:number:道具数量
    ]]
end

function Backpack:actEquipUpByResID( -- 玩家穿上装备
--[[
        playerid:number:玩家ID,itemid:number:道具类型
    ]]
    playerid,
    itemid
)
    return code, equipid
    --[[
        code:number:成功(ErrorCode.OK),equipid:number:装备栏ID
    ]]
end

function Backpack:actEquipOffByEquipID( -- 玩家脱下装备栏装备
--[[
        playerid:number:玩家ID,equipid:number:装备栏ID
    ]]
    playerid,
    equipid
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Backpack:actCreateEquip( -- 创建装备
--[[
        playerid:number:玩家ID,itemid:number:装备道具类型
    ]]
    playerid,
    itemid
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Backpack:actDestructEquip( -- 销毁装备
--[[
        playerid:number:玩家ID,equipid:number:装备栏ID
    ]]
    playerid,
    equipid
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Backpack:PlayShortCutIxEffect( -- 设置当前手持道具上播放粒子特效
--[[
        playerid:number:玩家ID,effectid:number:特效ID,scale:number:特效缩放
    ]]
    playerid,
    effectid,
    scale
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Backpack:StopShortCutIxEffect( -- 停止手持道具上播放特效
--[[
        playerid:number:玩家ID,effectid:number:特效ID
    ]]
    playerid,
    effectid
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Backpack:PlayShortCutItemEffect( -- 设置快捷栏道具的粒子特效
--[[
        playerid:number:玩家ID,itemid:number:道具类型,effectid:number:特效ID,scale:number:特效缩放
    ]]
    playerid,
    itemid,
    effectid,
    scale
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Backpack:StopShortCutItemEffect( -- 移除快捷栏道具的粒子特效
--[[
        playerid:number:玩家ID,itemid:number:道具类型,effectid:number:特效ID
    ]]
    playerid,
    itemid,
    effectid
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

Block = {}
function Block:isSolidBlock( -- 是否是固体方块
--[[
        x|y|z:number:位置坐标
    ]]
    x,
    y,
    z
)
    return ret
    --[[
        ret:boolean:true/false
    ]]
end

function Block:isLiquidBlock( -- 是否是液体方块
--[[
        x|y|z:number:位置坐标
    ]]
    x,
    y,
    z
)
    return ret
    --[[
        ret:boolean:true/false
    ]]
end

function Block:isAirBlock( -- 是否是气体方块
--[[
        x|y|z:number:位置坐标
    ]]
    x,
    y,
    z
)
    return ret
    --[[
        ret::boolean:true/false
    ]]
end

function Block:getBlockID( -- 获取指定位置的方块类型
--[[
        x|y|z:number:位置坐标
    ]]
    x,
    y,
    z
)
    return ret, blockid
    --[[
        ret:number:成功(ErrorCode.OK),blockid:number:方块类型ID
    ]]
end

function Block:setBlockAll( -- 设置位置方块数据
--[[
        x|y|z:number:位置坐标,blockid:number:方块类型ID,data:number:方块朝向等数据
    ]]
    x,
    y,
    z,
    blockid,
    data
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Block:getBlockData( -- 获取方块数据
--[[
        x|y|z:number:位置坐标
    ]]
    x,
    y,
    z
)
    return code, data
    --[[
        code:number:成功(ErrorCode.OK),data:number:具体的值
    ]]
end

function Block:destroyBlock( -- 摧毁方块
--[[
        x|y|z:number:位置坐标,dropitem:boolean:是否掉落
    ]]
    x,
    y,
    z,
    dropitem
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Block:placeBlock( -- 放置方块
--[[
        blockid:number:方块类型ID,x|y|z:number:位置坐标,face:number:朝向,color:number:十六进制颜色值(0XFFFFFF 颜色方块类型才生效)
    ]]
    blockid,
    x,
    y,
    z,
    face,
    color
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Block:replaceBlock( -- 替换方块
--[[
        blockid:number:方块类型ID,x|y|z:number:位置坐标,face:number:朝向,color:number:十六进制颜色值(0XFFFFFF 颜色方块类型才生效)
    ]]
    blockid,
    x,
    y,
    z,
    face,
    color
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Block:setBlockAllForUpdate( -- 设置blockalldata 更新当前位置方块
--[[
        x|y|z:number:位置坐标,blockid:number:方块类型ID
    ]]
    x,
    y,
    z,
    blockid
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Block:setBlockAllForNotify( -- 设置blockalldata 通知周围方块
--[[
        x|y|z:number:位置坐标,blockid:number:方块类型ID
    ]]
    x,
    y,
    z,
    blockid
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Block:setBlockSettingAttState( -- 设置方块设置属性状态
--[[
        blockid:number:方块类型ID,attrtype:number:属性枚举,switch:boolean:是否开关
    ]]
    blockid,
    attrtype,
    switch
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Block:getBlockSettingAttState( -- 获取方块设置属性状态
--[[
        blockid:number:方块类型ID,attrtype:number:属性枚举
    ]]
    blockid,
    attrtype
)
    return code, ret
    --[[
        code:number:成功(ErrorCode.OK) ,ret:boolean:是否开启
    ]]
end

function Block:getBlockSwitchStatus( -- 获取功能方块的开关状态
--[[
        pos:table:位置值
    ]]
    pos
)
    return code, ret
    --[[
        code:number:成功(ErrorCode.OK) ,ret:boolean:是否开启
    ]]
end

function Block:setBlockSwitchStatus( -- 设置功能方块的开关状态
--[[
        pos:table:位置值,isactive:boolean:是否开启
    ]]
    pos,
    isactive
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Block:getBlockDataByDir( -- 通过方向获取方块data值
--[[
        blockid:number:方块类型ID, dir:number:方块朝向等数据
    ]]
    blockid,
    dir
)
    return code, ret
    --[[
        code:number:成功(ErrorCode.OK) ,ret:boolean:是否开启
    ]]
end

function Block:getBlockPowerStatus( -- 获取方块的通电状态
--[[
        pos:table:位置值
    ]]
    pos
)
    return code, ret
    --[[
        code:number:成功(ErrorCode.OK) ,ret:boolean:是否开启
    ]]
end

function Block:randomBlockID( -- 在资源库里随机创建一个方块
--[[
        无
    ]]
)
    return code, ret
    --[[
        code:number:成功(ErrorCode.OK),ret:number:随机的方块类型
    ]]
end

function Block:GetBlockDefName( -- 获取方块名称
--[[
        blockid:number:方块类型ID
    ]]
    blockid
)
    return code, ret
    --[[
        code:number:成功(ErrorCode.OK),ret:string:方块名称
    ]]
end

function Block:GetBlockDefDesc( -- 获取方块描述
--[[
        blockid:number:方块类型ID
    ]]
    blockid
)
    return code, ret
    --[[
        code:number:成功(ErrorCode.OK) ,ret:string:方块描述
    ]]
end

function Block:GetBlockFacade( -- 获取方块外观
--[[
        blockid:number:方块类型ID
    ]]
    blockid
)
    return code, ret
    --[[
        code:number:成功(ErrorCode.OK) ,ret:string:随机的外观
    ]]
end

function Block:PlayAct( -- 位置方块播放动画
--[[
        x|y|z:number:位置坐标,animid number:动画ID,playmode number:ANIMMODE枚举值
    ]]
    x,
    y,
    z,
    animid,
    playmode
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Block:ReplaceBluePrint( -- 放置蓝图
--[[
        x|y|z:number:位置坐标,blueprint:string:蓝图资源ID,angle:number:旋转角度,mirror:boolean:是否镜像,placeMode:boolean:是否放置
    ]]
    x,
    y,
    z,
    blueprint,
    angle,
    mirror,
    placeMode
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

Buff = {}
function Buff:addBuff( -- 给对象附加效果
--[[
        objid:number:对象ID,buffid:number:效果ID,bufflv:number:效果等级,customticks:number:效果持续时间(-1表示默认配置,0表示无限)
    ]]
    objid,
    buffid,
    bufflv,
    customticks
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Buff:removeBuff( -- 给对象移除指定效果
--[[
        objid:number:对象ID,buffid:number:效果ID
    ]]
    objid,
    buffid
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Buff:clearAllBuff( -- 给对象清除所有效果
--[[
        objid:number:对象ID
    ]]
    objid
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Buff:clearAllBadBuff( -- 为对象清除所有负面效果
--[[
        objid:number:对象ID
    ]]
    objid
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Buff:hasBuff( -- 判断对象身上是否有指定效果
--[[
        objid:number:对象ID,buffid:number:效果ID,bufflv:number:效果等级
    ]]
    objid,
    buffid,
    bufflv
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Buff:getBuffList( -- 获取对象身上效果列表
--[[
        objid:number:对象ID
    ]]
    objid
)
    return code, num, arr
    --[[
        code:number:成功(ErrorCode.OK),num:number:效果数量,arr:number:效果ID数组
    ]]
end

function Buff:getBuffNumByBuffid( -- 获取对象身上指定效果数量
--[[
        objid:number:对象ID,buffid:number:效果ID
    ]]
    objid,
    buffid
)
    return code, num
    --[[
        code:number:成功(ErrorCode.OK),num:number:数量
    ]]
end

function Buff:getBuffIndex( -- 获取对象身上指定效果的索引位置(索引从1开始)
--[[
        objid:number:对象ID,buffid:number:效果ID
    ]]
    objid,
    buffid
)
    return code, ix
    --[[
        code:number:成功(ErrorCode.OK),ix:number:效果索引 从1开始
    ]]
end

function Buff:getBuffLeftTime( -- 获取对象身上指定效果剩余时间
--[[
        objid:number:对象ID,buffid:number:效果ID
    ]]
    objid,
    buffid
)
    return code, num
    --[[
        code:number:成功(ErrorCode.OK),num:number:剩余时间(秒),0表示永久
    ]]
end

function Buff:getBuffName( -- 获取对象身上状态效果名称
--[[
        objid:number:对象ID,buffid:number:效果ID
    ]]
    objid,
    buffid
)
    return code, name
    --[[
        code:number:成功(ErrorCode.OK),name:string:效果名称
    ]]
end

function Buff:GetBuffDefName( -- 获取状态效果名称
--[[
        buffid:number:效果ID
    ]]
    buffid
)
    return code, name
    --[[
        code:number:成功(ErrorCode.OK),name:string:效果名称
    ]]
end

function Buff:GetBuffDefDesc( -- 获取状态效果描述
--[[
        buffid:number:效果ID
    ]]
    buffid
)
    return code, desc
    --[[
        code:number:成功(ErrorCode.OK),desc:string:效果名称
    ]]
end

Chat = {}
function Chat:sendChat( -- 发送聊天消息(默认全部玩家)
--[[
        content:string:发送的文本,targetuin:number:目标玩家玩家(0为所有玩家)
    ]]
    content,
    targetuin
)
    return ret
    --[[
        ret:number:成功(ErrorCode.OK)
    ]]
end

function Chat:sendSystemMsg( -- 发送系统消息(默认全部玩家)
--[[
        content:string:发送的文本,targetuin:number:目标玩家玩家(0为所有玩家)
    ]]
    content,
    targetuin
)
    return ret
    --[[
        ret:number:成功(ErrorCode.OK)
    ]]
end

CloudSever = {}
function CloudSever:setOrderDataBykey( -- 设置排行榜中指定键的数值
--[[
        libvarname:string:排行榜变量设计名,key:string:获取的键值,value:number:设置的数值
    ]]
    libvarname,
    Key,
    value
)
    return ret
    --[[
        ret:number:成功(ErrorCode.OK)
    ]]
end

function CloudSever:removeOrderDataByKey( -- 删除排行榜中指定键的数值
--[[
        libvarname:string:排行榜变量设计名,key:string:获取的键值
    ]]
    libvarname,
    key
)
    return ret
    --[[
        ret:number:成功(ErrorCode.OK)
    ]]
end

function CloudSever:getOrderDataByKeyEx( -- 获取排行榜中指定键的数值
--[[
        libvarname:string:排行榜变量设计名,key:string:获取的键值,callback:function:更新回调(function(code/错误码 ...)0成功1失败2数据不存在)
    ]]
    libvarname,
    key,
    callback
)
    return ret
    --[[
        ret:number:成功(ErrorCode.OK)
    ]]
end

function CloudSever:getOrderDataIndexValueEx( -- 获取排行榜中指定排名的数值
--[[
        libvarname:string:排行榜变量设计名,index:number:获取数据的名次,callback:function:更新回调(function(code/错误码 ...)0成功1失败2数据不存在)
    ]]
    libvarname,
    index,
    callback
)
    return ret
    --[[
        ret:number:成功(ErrorCode.OK)
    ]]
end

function CloudSever:ClearOrderData( -- 清理排行榜
--[[
        libvarname:string:排行榜变量设计名
    ]]
    libvarname
)
    return ret
    --[[
        ret:number:成功(ErrorCode.OK)
    ]]
end

function CloudSever:automaticByKey( -- 变量自运算
--[[
        libvarname:string:排行榜变量设计名,key:string:获取的键值,value:number:每次加的值
    ]]
    libvarname,
    key,
    value
)
    return ret
    --[[
        ret:number:成功(ErrorCode.OK)
    ]]
end

function CloudSever:getOrderDataIndexAreaEx( -- 获取排行榜中多条数据
--[[
        libvarname:string:排行榜变量设计名,icount:number:获取数据的条数,callback:function:更新回调(function(code/错误码 ...)0成功1失败2数据不存在)
    ]]
    libvarname,
    icount,
    callback
)
    return ret
    --[[
        ret:number:成功(ErrorCode.OK)
    ]]
end

function CloudSever:getOrderDataValueAreaEx( -- 获取排行榜中指定值区域的前多少名数据
--[[
        libvarname:string:排行榜变量设计名,icount:number:获取数据的条数,minvalue:number:最小值,maxvalue:number:最大值,callback:function:更新回调(function(code/错误码...)0成功1失败)
    ]]
    libvarname,
    icount,
    minvalue,
    maxvalue,
    callback
)
    return ret
    --[[
        ret:number:成功(ErrorCode.OK)
    ]]
end

function CloudSever:setDataListBykey( -- 设置表中指定键的值
--[[
        libvarname:string:表变量设计名,key:string:获取的键值,value:Any:任意值(number,string,table)
    ]]
    libvarname,
    Key,
    value
)
    return ret
    --[[
        ret:number:成功(ErrorCode.OK)
    ]]
end

function CloudSever:removeDataListByKey( -- 删除表中指定键的值
--[[
        libvarname:string:表变量设计名,key:string:获取的键值
    ]]
    libvarname,
    key
)
    return ret
    --[[
        ret:number:成功(ErrorCode.OK)
    ]]
end

function CloudSever:getDataListByKeyEx( -- 获取表中指定键的值
--[[
        libvarname:string:表变量设计名,key:string:获取的键值,callback:function:更新回调(function(code/错误码...)0成功1失败2数据不存在)
    ]]
    libvarname,
    key,
    callback
)
    return ret
    --[[
        ret:number:成功(ErrorCode.OK)
    ]]
end

function CloudSever:ClearDataList( -- 清空表数据
--[[
        libvarname:string:表变量设计名
    ]]
    libvarname
)
    return ret
    --[[
        ret:number:成功(ErrorCode.OK)
    ]]
end

function CloudSever:getlistCache( -- 获取表或排行榜当前缓存数据
--[[
        libvarname:string:表变量设计名
    ]]
    libvarname
)
    return ret
    --[[
        ret:number:成功(ErrorCode.OK)
    ]]
end

function CloudSever:UpdateDataListByKey( -- 安全更新数据
--[[
        libvarname:string:表变量设计名,key:string:更新的键值,callback:function:更新回调(function(code/错误码...))
    ]]
    libvarname,
    key,
    callback
)
    return ret
    --[[
        ret:number:成功(ErrorCode.OK)
    ]]
end

Creature = {}
function Creature:getAttr( -- 获取生物属性
--[[
        objid:number:生物对象ID,attrtype:number:属性枚举值(CREATUREATTR)
    ]]
    objid,
    CREATUREATTR
)
    return code, val
    --[[
        code:number:成功(ErrorCode.OK),val:number:属性值
    ]]
end

function Creature:setAttr( -- 设置生物属性
--[[
        objid:number:生物对象ID,attrtype:number:属性枚举值(CREATUREATTR),val:number:属性值
    ]]
    objid,
    CREATUREATTR,
    val
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Creature:isAdult( -- 判断该生物是否成年
--[[
        objid:number:生物对象ID
    ]]
    objid
)
    return code
    --[[
        code:number:是成年(ErrorCode.OK)
    ]]
end

function Creature:setOxygenNeed( -- 设置是否依赖氧气
--[[
        objid:number:生物对象ID,v:boolean:是否开启氧气值
    ]]
    objid,
    v
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Creature:getTamedOwnerID( -- 获取驯养主ID
--[[
        objid:number:生物对象ID
    ]]
    objid
)
    return code, objid2
    --[[
        code:number:成功(ErrorCode.OK),objid2:number:驯养主ID
    ]]
end

function Creature:setPanic( -- 设置是否正在惊慌
--[[
        objid:number:生物对象ID,v:boolean:是否惊慌
    ]]
    objid,
    v
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Creature:setAIActive( -- 设置AI是否生效
--[[
        objid:number:生物对象ID,v:boolean:是否生效
    ]]
    objid,
    v
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Creature:getActorID( -- 获取生物actorID
--[[
        objid:number:生物对象ID
    ]]
    objid
)
    return code, actorid
    --[[
        code:number:成功(ErrorCode.OK),actorid:number:生物类型ID
    ]]
end

function Creature:getActorName( -- 获取生物名称
--[[
        objid:number:生物对象ID
    ]]
    objid
)
    return code, name
    --[[
        code:number:成功(ErrorCode.OK),name:string:生物类型名
    ]]
end

function Creature:addModAttrib( -- 增加模组属性
--[[
        objid:number:生物对象ID,attrtype:number:属性枚举(MODATTRIB_TYPE),value:number:属性值
    ]]
    objid,
    MODATTRIB_TYPE,
    value
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Creature:getModAttrib( -- 获取模组属性
--[[
        objid:number:生物对象ID,attrtype:number:属性枚举(MODATTRIB_TYPE)
    ]]
    objid,
    MODATTRIB_TYPE
)
    return code, value
    --[[
        code:number:成功(ErrorCode.OK),value:number:属性值
    ]]
end

function Creature:setTeam( -- 设置生物队伍
--[[
        objid:number:生物对象ID,teamid:number:队伍ID(0无队伍,1-6队伍值)
    ]]
    objids,
    teamid
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Creature:getTeam( -- 获取生物队伍
--[[
        objid:number:生物对象ID
    ]]
    objid
)
    return code, teamid
    --[[
        code:number:成功(ErrorCode.OK),teamid:number:队伍ID(0无队伍,1-6队伍值)
    ]]
end

function Creature:getMaxFood( -- 获取最大饥饿度
--[[
        objid:number:生物对象ID
    ]]
    objid
)
    return code, val
    --[[
        code:number:成功(ErrorCode.OK),val:number:最大饥饿度
    ]]
end

function Creature:getFood( -- 获取饥饿度
--[[
        objid:number:生物对象ID
    ]]
    objid
)
    return code, val
    --[[
        code:number:成功(ErrorCode.OK),val:number:饥饿度
    ]]
end

function Creature:setFood( -- 设置饥饿度
--[[
        objid:number:生物对象ID,val:number:饥饿度
    ]]
    objid,
    val
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Creature:getHpRecover( -- 获取血量恢复率
--[[
        objid:number:生物对象ID
    ]]
    objid
)
    return code, val
    --[[
        code:number:成功(ErrorCode.OK),val:number:血量恢复率
    ]]
end

function Creature:getMaxOxygen( -- 获取最大氧气值
--[[
        objid:number:生物对象ID
    ]]
    objid
)
    return code, val
    --[[
        code:number:成功(ErrorCode.OK),val:number:最大氧气值
    ]]
end

function Creature:getWalkSpeed( -- 获取行走速度
--[[
        objid:number:生物对象ID
    ]]
    objid
)
    return code, val
    --[[
        code:number:成功(ErrorCode.OK),val:number:行走速度
    ]]
end

function Creature:getSwimSpeed( -- 获取游泳速度(水中速度)
--[[
        objid:number:生物对象ID
    ]]
    objid
)
    return code, val
    --[[
        code:number:成功(ErrorCode.OK),val:number:游泳速度
    ]]
end

function Creature:getJumpPower( -- 获取跳跃力
--[[
        objid:number:生物对象ID
    ]]
    objid
)
    return code, val
    --[[
        code:number:成功(ErrorCode.OK),val:number:跳跃力
    ]]
end

function Creature:getMass( -- 获取重量
--[[
        objid:number:生物对象ID
    ]]
    objid
)
    return code, val
    --[[
        code:number:成功(ErrorCode.OK),val:number:重量
    ]]
end

function Creature:getDodge( -- 获取闪避率
--[[
        objid:number:生物对象ID
    ]]
    objid
)
    return code, val
    --[[
        code:number:成功(ErrorCode.OK),val:number:闪避率
    ]]
end

function Creature:getPunchAttack( -- 获取近程攻击
--[[
        objid:number:生物对象ID
    ]]
    objid
)
    return code, val
    --[[
        code:number:成功(ErrorCode.OK),val:number:近程攻击力
    ]]
end

function Creature:getRangeAttack( -- 获取远程攻击
--[[
        objid:number:生物对象ID
    ]]
    objid
)
    return code, val
    --[[
        code:number:成功(ErrorCode.OK),val:number:远程攻击
    ]]
end

function Creature:getPunchDefense( -- 近程防御
--[[
        objid:number:生物对象ID
    ]]
    objid
)
    return code, val
    --[[
        code:number:成功(ErrorCode.OK),val:number:近程防御
    ]]
end

function Creature:getRangeDefense( -- 远程防御
--[[
        objid:number:生物对象ID
    ]]
    objid
)
    return code, val
    --[[
        code:number:成功(ErrorCode.OK),val:number:远程防御
    ]]
end

function Creature:setMaxHp( -- 设置最大血量
--[[
        objid:number:生物对象ID,val:number:最大血量
    ]]
    objid,
    val
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Creature:setHP( -- 设置当前血量
--[[
        objid:number:生物对象ID,val:number:当前血量
    ]]
    objid,
    val
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Creature:setHpRecover( -- 设置每秒血量恢复值
--[[
        objid:number:生物对象ID,val:number:血量恢复值
    ]]
    objid,
    val
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Creature:setOxygen( -- 设置氧气值
--[[
        objid:number:生物对象ID,val:number:氧气值
    ]]
    objid,
    val
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Creature:setWalkSpeed( -- 设置行走速度
--[[
        objid:number:生物对象ID,val:number:行走速度
    ]]
    objid,
    val
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Creature:setSwimSpeed( -- 设置游泳速度(水中速度)
--[[
        objid:number:生物对象ID,val:number:游泳速度
    ]]
    objid,
    val
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Creature:setJumpPower( -- 设置跳跃力
--[[
        objid:number:生物对象ID,val:number:跳跃力
    ]]
    objid,
    val
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Creature:setDodge( -- 设置闪避率
--[[
        objid:number:生物对象ID,val:number:闪避率
    ]]
    objid,
    val
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Creature:setPunchAttack( -- 设置近程攻击
--[[
        objid:number:生物对象ID,val:number:近程攻击
    ]]
    objid,
    val
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Creature:setRangeAttack( -- 设置远程攻击
--[[
        objid:number:生物对象ID,val:number:远程攻击
    ]]
    objid,
    val
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Creature:setPunchDefense( -- 设置近程防御
--[[
        objid:number:生物对象ID,val:number:近程防御
    ]]
    objid,
    val
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Creature:setRangeDefense( -- 设置远程防御
--[[
        objid:number:生物对象ID,val:number:远程防御
    ]]
    objid,
    val
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Creature:replaceActor( -- 替换生物
--[[
        objid:number:生物对象ID,actorid:number:生物类型,replacehp:boolean:血量值替换
    ]]
    objidSrc,
    actorid,
    replacehp
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Creature:GetMonsterDefName( -- 获取生物名称
--[[
        actorid:number:生物类型
    ]]
    actorid
)
    return code, name
    --[[
        code:number:成功(ErrorCode.OK),name:string:生物类型名称
    ]]
end

function Creature:GetMonsterDefDesc( -- 获取生物描述
--[[
        actorid:number:生物类型
    ]]
    actorid
)
    return code, desc
    --[[
        code:number:成功(ErrorCode.OK),desc:string:生物描述
    ]]
end

Customui = {}
function Customui:setText( -- 设置文本元件内容
--[[
        playerid:number:玩家ID,uiid:string:界面ID,elementid:string:元件ID,text:string:文本内容
    ]]
    playerid,
    uiid,
    elementid,
    text
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Customui:setTexture( -- 设置文本元件图案纹理
--[[
        playerid:number:玩家ID,uiid:string:界面ID,elementid:string:元件ID,url:string:图案纹理ID
    ]]
    playerid,
    uiid,
    elementid,
    url
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Customui:setSize( -- 设置元件大小
--[[
        playerid:number:玩家ID,uiid:string:界面ID,elementid:string:元件ID,width:number:元件宽度,height:number:元件高度
    ]]
    playerid,
    uiid,
    elementid,
    width,
    height
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Customui:setFontSize( -- 设置文本元件字体大小
--[[
        playerid:number:玩家ID,uiid:string:界面ID,elementid:string:元件ID,size:number:字体大小
    ]]
    playerid,
    uiid,
    elementid,
    size
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Customui:setColor( -- 设置文本元件颜色
--[[
        playerid:number:玩家ID,uiid:string:界面ID,elementid:string:元件ID,color:number:颜色值(0xFFFFFF)
    ]]
    playerid,
    uiid,
    elementid,
    color
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Customui:showElement( -- 显示元件
--[[
        playerid:number:玩家ID,uiid:string:界面ID,elementid:string:元件ID
    ]]
    playerid,
    uiid,
    elementid
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Customui:hideElement( -- 隐藏元件
--[[
        playerid:number:玩家ID,uiid:string:界面ID,elementid:string:元件ID
    ]]
    playerid,
    uiid,
    elementid
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Customui:rotateElement( -- 旋转元件
--[[
        playerid:number:玩家ID,uiid:string:界面ID,elementid:string:元件ID,rotate:number:旋转角度
    ]]
    playerid,
    uiid,
    elementid,
    rotate
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Customui:setAlpha( -- 设置透明度
--[[
        playerid:number:玩家ID,uiid:string:界面ID,elementid:string:元件ID,alpha:number:透明度
    ]]
    playerid,
    uiid,
    elementid,
    alpha
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Customui:setState( -- 设置状态
--[[
        playerid:number:玩家ID,uiid:string:界面ID,elementid:string:元件ID,pageIndex:string:状态值
    ]]
    playerid,
    uiid,
    pageIndex
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Customui:setPosition( -- 设置位置
--[[
        playerid:number:玩家ID,uiid:string:界面ID,elementid:string:元件ID,x:number:X坐标值,y:number:Y坐标值
    ]]
    playerid,
    uiid,
    elementid,
    x,
    y
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Customui:getItemIcon( -- 获取道具类型图标
--[[
        itemid:number:道具类型ID
    ]]
    itemid
)
    return code, icon
    --[[
        code:number:成功(ErrorCode.OK),icon:string:道具图标
    ]]
end

function Customui:getMonsterObjIcon( -- 获取生物图标
--[[
        objid:number:对象ID
    ]]
    objid
)
    return code, icon
    --[[
        code:number:成功(ErrorCode.OK),icon:string:生物图标
    ]]
end

function Customui:getMonsterIcon( -- 获取生物类型图标
--[[
        itemid:number:道具类型ID
    ]]
    actorid
)
    return code, icon
    --[[
        code:number:成功(ErrorCode.OK),icon:string:道具图标
    ]]
end

function Customui:getStatusIcon( -- 获取状态图标
--[[
        buffid:number:状态类型ID
    ]]
    buffid
)
    return code, icon
    --[[
        code:number:成功(ErrorCode.OK),icon:string:状态图标
    ]]
end

function Customui:getBlockIcon( -- 获取方块类型图标
--[[
        blockid:number:方块类型ID
    ]]
    blockid
)
    return code, icon
    --[[
        code:number:成功(ErrorCode.OK),icon:string:方块图标
    ]]
end

function Customui:getRoleIcon( -- 获取玩家当前角色图标
--[[
        playerid:number:玩家ID
    ]]
    playerid
)
    return code, icon
    --[[
        code:number:成功(ErrorCode.OK),icon:string:角色图标
    ]]
end

function Customui:getShuctIcon( -- 获取玩家快捷栏图标
--[[
        playerid:number:玩家ID,ix:number:快捷栏索引
    ]]
    playerid,
    ix
)
    return code, icon
    --[[
        code:number:成功(ErrorCode.OK),icon:string:道具图标
    ]]
end

DisplayBoard = {}
function DisplayBoard:showBoard( -- 打开一个显示板
--[[
        playerid:number:玩家ID,boardid:number:显示板ID
    ]]
    playerid,
    boardid
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function DisplayBoard:hideBoard( -- 隐藏一个显示板
--[[
        playerid:number:玩家ID,boardid:number:显示板ID
    ]]
    playerid,
    boardid
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function DisplayBoard:setBoardPicture( -- 设置显示板图片
--[[
        playerid:number:玩家ID,boardid:number:显示板ID,pictureid:string:图片ID
    ]]
    playerid,
    boardid,
    pictureid
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function DisplayBoard:setBoardVideoUrl( -- 设置显示板视频链接
--[[
        playerid:number:玩家ID,boardid:number:显示板ID,url:string:链接地址(内部白名单控制)
    ]]
    playerid,
    boardid,
    url
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function DisplayBoard:setViedoPlayMode( -- 显示板播放模式
--[[
        playerid:number:玩家ID,boardid:number:显示板ID,playmode:number:播放模式(VIEDOPLAYMODE)
    ]]
    playerid,
    boardid,
    VIEDOPLAYMODE
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function DisplayBoard:setNetViedo( -- 设置显示板网络视频链接
--[[
        playerid:number:玩家ID,boardid:number:显示板ID,url:string:链接地址(内部白名单控制)
    ]]
    playerid,
    boardid,
    url
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

Game = {}
function Game:doGameEnd( -- 游戏结束
--[[
        无
    ]]
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Game:getDefString( -- 获取默认字符串
--[[
        id:string:字符串ID
    ]]
    id,
    ...
)
    return code, str
    --[[
        code:number:成功(ErrorCode.OK),str:string:获取到的字符串
    ]]
end

function Game:setScriptVar( -- 设置脚本参数,供自定义使用
--[[
        index:number:序列索引(0~100),val:number:索引对应的值
    ]]
    index,
    val
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Game:getScriptVar( -- 获取脚本参数,自定义使用
--[[
        index:number:序列索引(0~100)
    ]]
    index
)
    return code, val
    --[[
        code:number:成功(ErrorCode.OK),val:number:索引对应的值
    ]]
end

function Game:sendScriptVars2Client( -- 上传设置好的脚本参数
--[[
        无
    ]]
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Game:addRenderGlobalEffect( -- 新增全局效果
--[[
        path:string:效果名称
    ]]
    path
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Game:removeRenderGlobalEffect( -- 移除全局效果
--[[
        path:string:效果ID
    ]]
    effectid
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Game:setRenderGlobalEffectPos( -- 设置全局效果位置
--[[
        effectid:string:效果ID,x|y|z:number:方块坐标
    ]]
    effectid,
    x,
    y,
    z
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Game:setRenderGlobalEffectScale( -- 设置全局效果缩放
--[[
        effectid:string:效果ID,scalex:number:x缩放值,scaley:number:y缩放值,scalez:number:z缩放值
    ]]
    effectid,
    scalex,
    scaley,
    scalez
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Game:msgBox( -- 消息弹框
--[[
        msg:string:设置的消息
    ]]
    msg
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Game:splitStr( -- 分割字符串
--[[
        str:string:分割的字符串,mark:'string':分割符号
    ]]
    str,
    mark
)
    return code, strs
    --[[
        code:number:成功(ErrorCode.OK),strs:table:字符串组
    ]]
end

Graphics = {}
function Graphics:makeGraphicsText( -- 创建文字板信息
--[[
        title:string:文本内容,font:number:字体大小,apha:number:不透明度,itype:number:文字板ID
    ]]
    title,
    font,
    apha,
    itype
)
    return info
    --[[
        info:table:文本信息内容
    ]]
end

function Graphics:makeflotageText( -- 创建漂浮文字信息
--[[
        title:string:文本信息,font:number:字体大小,apha:number:不透明度,itype:number:漂浮文字ID
    ]]
    title,
    font,
    itype
)
    return info
    --[[
        info:table:漂浮文字信息内容
    ]]
end

function Graphics:makeGraphicsProgress( -- 创建进度条信息
--[[
        v1:number:当前值,v2:number:最大值,color:number:颜色值(0xFFFFFF),itype:number:进度条ID
    ]]
    v1,
    v2,
    color,
    itype
)
    return info
    --[[
        info:table:进度条信息内容
    ]]
end

function Graphics:makeGraphicsArrowToPos( -- 生成指向位置的箭头数据
--[[
        x|y|z:number:方块坐标,size:number:缩放值,color:number:颜色值(0xFFFFFF),itype:number:箭头ID
    ]]
    x,
    y,
    z,
    size,
    color,
    itype
)
    return info
    --[[
        info:table:箭头信息内容
    ]]
end

function Graphics:makeGraphicsLineToPos( -- 生成指向位置的线数据
--[[
        x|y|z:number:方块坐标,size:number:缩放值,color:number:颜色值(0xFFFFFF),itype:number:线ID
    ]]
    x,
    y,
    z,
    size,
    color,
    itype
)
    return info
    --[[
        info:table:线信息内容
    ]]
end

function Graphics:makeGraphicsSurfaceToPos( -- 生成指向位置的面数据
--[[
        x|y|z:number:方块坐标,size:number:缩放值,color:number:颜色值(0xFFFFFF),itype:number:面ID
    ]]
    x,
    y,
    z,
    size,
    color,
    itype
)
    return info
    --[[
        info:table:面信息内容
    ]]
end

function Graphics:makeGraphicsArrowToActor( -- 生成指向对象的箭头数据
--[[
        objid:number:对象数据,size:number:缩放值,color:number:颜色值(0xFFFFFF),itype:number:箭头ID
    ]]
    objid,
    size,
    color,
    itype
)
    return info
    --[[
        info:table:箭头信息内容
    ]]
end

function Graphics:makeGraphicsLineToActor( -- 生成指向对象的线数据
--[[
        objid:number:对象数据,size:number:缩放值,color:number:颜色值(0xFFFFFF),itype:number:线ID
    ]]
    objid,
    size,
    color,
    itype
)
    return info
    --[[
        info:table:线信息内容
    ]]
end

function Graphics:makeGraphicsSurfaceToActor( -- 生成指向对象的面数据
--[[
        objid:number:对象数据,size:number:缩放值,color:number:颜色值(0xFFFFFF),itype:number:面ID
    ]]
    objid,
    size,
    color,
    itype
)
    return info
    --[[
        info:table:面信息内容
    ]]
end

function Graphics:makeGraphicsImage( -- 生成图片信息
--[[
        imgid:string:对象数据,scale:number:缩放值,apha:number:不透明度,itype:number:图片ID
    ]]
    imgid,
    scale,
    apha,
    itype
)
    return info
    --[[
        info:table:图片信息内容
    ]]
end

function Graphics:createGraphicsTxtByPos( -- 在位置上创建文字板
--[[
        x|y|z:number:方块坐标,graphicInfo:table:图文信息,x2:number:X坐标偏移(缺省参数),y2:number:Y坐标偏移(缺省参数)
    ]]
    x,
    y,
    z,
    graphicInfo,
    x2,
    y2
)
    return code, graphid
    --[[
        code:number:成功(ErrorCode.OK),graphid:number:图文实例ID
    ]]
end

function Graphics:createGraphicsTxtByActor( -- 在生物身上创建文字板
--[[
        objid:number:对象objid,graphicInfo:table:图文信息,dir:table:方向值(x|y|z),offest:number:方向偏移距离,x2:number:X坐标偏移(缺省参数),y2:number:Y坐标偏移(缺省参数)
    ]]
    objid,
    graphicInfo,
    dir,
    offest,
    x2,
    y2
)
    return code, graphid
    --[[
        code:number:成功(ErrorCode.OK),graphid:number:图文实例ID
    ]]
end

function Graphics:createflotageTextByPos( -- 在位置上创建漂浮文字
--[[
        x|y|z:number:方块坐标,graphicInfo:table:图文信息,x2:number:X坐标偏移(缺省参数),y2:number:Y坐标偏移(缺省参数)
    ]]
    x,
    y,
    z,
    graphicInfo,
    x2,
    y2
)
    return code, graphid
    --[[
        code:number:成功(ErrorCode.OK),graphid:number:图文实例ID
    ]]
end

function Graphics:createflotageTextByActor( -- 在生物身上创建漂浮文字
--[[
        objid:number:对象objid,graphicInfo:table:图文信息,dir:table:方向值(x|y|z),offest:number:方向偏移距离,x2:number:X坐标偏移(缺省参数),y2:number:Y坐标偏移(缺省参数)
    ]]
    objid,
    graphicInfo,
    dir,
    offest,
    x2,
    y2
)
    return code, graphid
    --[[
        code:number:成功(ErrorCode.OK),graphid:number:图文实例ID
    ]]
end

function Graphics:createGraphicsProgressByPos( -- 在位置上创建进度条
--[[
        x|y|z:number:方块坐标,graphicInfo:table:图文信息,x2:number:X坐标偏移(缺省参数),y2:number:Y坐标偏移(缺省参数)
    ]]
    x,
    y,
    z,
    graphicInfo,
    x2,
    y2
)
    return code, graphid
    --[[
        code:number:成功(ErrorCode.OK),graphid:number:图文实例ID
    ]]
end

function Graphics:createGraphicsProgressByActor( -- 在生物身上创建进度条
--[[
        objid:number:方块坐标,graphicInfo:table:图文信息,dir:table:方向值(x|y|z),offest:number:方向偏移距离,x2:number:X坐标偏移(缺省参数),y2:number:Y坐标偏移(缺省参数)
    ]]
    objid,
    graphicInfo,
    dir,
    offest,
    x2,
    y2
)
    return code, graphid
    --[[
        code:number:成功(ErrorCode.OK),graphid:number:图文实例ID
    ]]
end

function Graphics:removeGraphicsByPos( -- 删除位置上的图文信息
--[[
        x|y|z:number:方块坐标,itype:number:图文信息ID,graphType:number:图文类型枚举值(GRAPHICS)
    ]]
    x,
    y,
    GRAPHICS,
    itype,
    graphType
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Graphics:removeGraphicsByObjID( -- 删除生物的图文信息
--[[
        objid:number:对象objid,itype:number:图文信息ID,graphType:number:图文类型枚举值(GRAPHICS)
    ]]
    objid,
    itype,
    GRAPHICS
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Graphics:updateGraphicsTextById( -- 更新图文信息的文字内容
--[[
        graphid:number:文字板实例ID,title:number:文本内容,fontsize:number:字体大小,apha:number:不透明度
    ]]
    graphid,
    title,
    fontsize,
    apha
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Graphics:updateGraphicsProgressById( -- 更新进度条的进度
--[[
        graphid:number:文字板实例ID,val1:number:当前值,val2:number:最大值
    ]]
    graphid,
    val1,
    val2
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Graphics:createGraphicsArrowByActorToPos( -- 创建生物指向位置的箭头
--[[
        objid:number:对象objid,info:table:图文信息,dir:table:方向值(x|y|z),offest:number:方向偏移距离
    ]]
    objid,
    info,
    dir,
    offset
)
    return code, graphid
    --[[
        code:number:成功(ErrorCode.OK),graphid:number:图文实例ID
    ]]
end

function Graphics:createGraphicsArrowByActorToActor( -- 创建生物指向生物的箭头
--[[
        objid:number:对象objid,info:table:图文信息,dir:table:方向值(x|y|z),offest:number:方向偏移距离
    ]]
    objid,
    info,
    dir,
    offset
)
    return code, graphid
    --[[
        code:number:成功(ErrorCode.OK),graphid:number:图文实例ID
    ]]
end

function Graphics:createGraphicsArrowByPosToPos( -- 创建位置指向位置的箭头
--[[
        x|y|z:number:位置坐标,info:table:图文信息
    ]]
    x,
    y,
    z,
    info
)
    return code, graphid
    --[[
        code:number:成功(ErrorCode.OK),graphid:number:图文实例ID
    ]]
end

function Graphics:createGraphicsArrowByPosToActor( -- 创建位置指向生物的箭头
--[[
        x|y|z:number:位置坐标,info:table:图文信息
    ]]
    x,
    y,
    z,
    info
)
    return code, graphid
    --[[
        code:number:成功(ErrorCode.OK),graphid:number:图文实例ID
    ]]
end

function Graphics:createGraphicsLineByActorToPos( -- 创建生物与位置的线
--[[
        objid:number:对象objid,info:table:图文信息,dir:table:方向值(x|y|z),offest:number:方向偏移距离
    ]]
    objid,
    info,
    dir,
    offset
)
    return code, graphid
    --[[
        code:number:成功(ErrorCode.OK),graphid:number:图文实例ID
    ]]
end

function Graphics:createGraphicsLineByActorToActor( -- 创建指向生物的线
--[[
        objid:number:对象objid,info:table:图文信息,dir:table:方向值(x|y|z),offest:number:方向偏移距离
    ]]
    objid,
    info,
    dir,
    offset
)
    return code, graphid
    --[[
        code:number:成功(ErrorCode.OK),graphid:number:图文实例ID
    ]]
end

function Graphics:createGraphicsLineByPosToPos( -- 创建位置指向位置的线
--[[
        x|y|z:number:位置坐标,info:table:图文信息
    ]]
    x,
    y,
    z,
    info
)
    return code, graphid
    --[[
        code:number:成功(ErrorCode.OK),graphid:number:图文实例ID
    ]]
end

function Graphics:createGraphicsLineByPosToActor( -- 创建位置指向生物的线
--[[
        x|y|z:number:位置坐标,info:table:图文信息
    ]]
    x,
    y,
    z,
    info
)
    return code, graphid
    --[[
        code:number:成功(ErrorCode.OK),graphid:number:图文实例ID
    ]]
end

function Graphics:createGraphicsSurfaceByActorToPos( -- 创建指向位置的面
--[[
        objid:number:对象objid,info:table:图文信息,dir:table:方向值(x|y|z),offest:number:方向偏移距离
    ]]
    objid,
    info,
    dir,
    offset
)
    return code, graphid
    --[[
        code:number:成功(ErrorCode.OK),graphid:number:图文实例ID
    ]]
end

function Graphics:createGraphicsSurfaceByActorToActor( -- 创建指向生物的面
--[[
        objid:number:对象objid,info:table:图文信息,dir:table:方向值(x|y|z),offest:number:方向偏移距离
    ]]
    objid,
    info,
    dir,
    offset
)
    return code, graphid
    --[[
        code:number:成功(ErrorCode.OK),graphid:number:图文实例ID
    ]]
end

function Graphics:createGraphicsSurfaceByPosToPos( -- 创建位置指向位置的面
--[[
        x|y|z:number:位置坐标,info:table:图文信息
    ]]
    x,
    y,
    z,
    info
)
    return code, graphid
    --[[
        code:number:成功(ErrorCode.OK),graphid:number:图文实例ID
    ]]
end

function Graphics:createGraphicsSurfaceByPosToActor( -- 创建位置指向生物的面
--[[
        x|y|z:number:位置坐标,info:table:图文信息
    ]]
    x,
    y,
    z,
    info
)
    return code, graphid
    --[[
        code:number:成功(ErrorCode.OK),graphid:number:图文实例ID
    ]]
end

function Graphics:snycGraphicsInfo2Client( -- 刷新信息至客机,在更新图文信息接口之后调用
--[[
        无
    ]]
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Graphics:createGraphicsImageByPos( -- 创建位置指向生物的面
--[[
        x|y|z:number:方块坐标,info:table:图文信息,x2:number:X坐标偏移(缺省参数),y2:number:Y坐标偏移(缺省参数)
    ]]
    x,
    y,
    z,
    info,
    x2,
    y2
)
    return code, graphid
    --[[
        code:number:成功(ErrorCode.OK),graphid:number:图文实例ID
    ]]
end

function Graphics:createGraphicsImageByActor( -- 创建位置指向生物的面
--[[
        objid:number:方块坐标,info:table:图文信息,dir:table:方向值(x|y|z),offest:number:方向偏移距离,x2:number:X坐标偏移(缺省参数),y2:number:Y坐标偏移(缺省参数)
    ]]
    objid,
    info,
    dir,
    offest,
    x2,
    y2
)
    return code, graphid
    --[[
        code:number:成功(ErrorCode.OK),graphid:number:图文实例ID
    ]]
end

Item = {}
function Item:getItemName( -- 获取道具名称
--[[
        itemid:number:道具类型ID
    ]]
    itemid
)
    return code, name
    --[[
        code:number:成功(ErrorCode.OK),name:string:道具名称
    ]]
end

function Item:getItemId( -- 获取掉落物的类型ID
--[[
        objid:number:掉落物objid
    ]]
    objid
)
    return code, itemid
    --[[
        code:number:成功(ErrorCode.OK),itemid:number:道具类型ID
    ]]
end

function Item:getDropItemNum( -- 获取掉落物数量
--[[
        objid:number:掉落物objid
    ]]
    objid
)
    return code, itemid
    --[[
        code:number:成功(ErrorCode.OK),itemid:number:掉落物数量
    ]]
end

function Item:randomItemID( -- 在资源库里随机创建一个道具
--[[
        无
    ]]
)
    return code, itemid
    --[[
        code:number:成功(ErrorCode.OK),itemid:number:道具类型ID
    ]]
end

function Item:randomProjectileID( -- 在资源库里随机创建一个投掷物
--[[
        无
    ]]
)
    return code, itemid
    --[[
        code:number:成功(ErrorCode.OK),itemid:number:投掷物类型ID
    ]]
end

function Item:getItemDesc( -- 获取道具类型描述
--[[
        itemid:number:道具类型ID
    ]]
    itemid
)
    return code, desc
    --[[
        code:number:成功(ErrorCode.OK),desc:string:描述内容
    ]]
end

function Item:GetAttr( -- 获取道具属性值
--[[
        itemid:number:道具类型ID,attr:number:枚举值(ITEMATTR)
    ]]
    itemid,
    ITEMATTR
)
    return code, value
    --[[
        code:number:成功(ErrorCode.OK),value:number:获取的值
    ]]
end

function Item:playAct( -- 微缩掉落落物或投掷物播放动作
--[[
        objid:number:对象ID,animid:number:动作ID,playmode:number:播放模式(ANIMMODE)
    ]]
    objid,
    animid,
    ANIMMODE
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

MapMark = {}
function MapMark:newShape( -- 新增一个形状(线,矩形,圆形)
--[[
        type:number:类型标记,isshow:boolean:是否显示,r|g|b:number:颜色值
    ]]
    type,
    isshow,
    r,
    g,
    b
)
    return code, shapeid
    --[[
        code:number:成功(ErrorCode.OK),shapeid:number:形状ID
    ]]
end

function MapMark:deleteShape( -- 删除一个形状
--[[
        shapeid:number:形状ID
    ]]
    shapeid
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function MapMark:setShapeColor( -- 设置形状颜色
--[[
        shapeid:number:形状ID,r|g|b:number:颜色值
    ]]
    shapeid,
    r,
    g,
    b
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function MapMark:showShape( -- 设置形状显示/隐藏
--[[
        shapeid:number:形状ID,showflag:boolean:是否显示
    ]]
    shapeid,
    showflag
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function MapMark:updateLine( -- 更新形状(线形),传入起始坐标和末尾坐标
--[[
        shapeid:number:形状ID,sx:number:x坐标值, sz:number:z坐标值, ex:number:x坐标值, ez:number:z坐标值
    ]]
    shapeid,
    sx,
    sz,
    ex,
    ez
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function MapMark:updateRectangle( -- 更新形状(矩形),传入起始坐标和尺寸
--[[
        shapeid:number:形状ID,sx:number:x坐标值, sz:number:z坐标值, w:number:宽度, h:number:高度
    ]]
    shapeid,
    sx,
    sz,
    w,
    h
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function MapMark:updateCircle( -- 更新形状(圆形),传入圆心坐标和半径
--[[
        shapeid:number:形状ID,cx:number:x坐标值, cz:number:z坐标值, r:number:半径
    ]]
    shapeid,
    cx,
    cz,
    r
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

MiniTimer = {}
function MiniTimer:isExist( -- 判断计时器是否存在
--[[
        id:number:计时器ID
    ]]
    id
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function MiniTimer:createTimer( -- 添加计时器
--[[
        name:string:计时器名称
    ]]
    name
)
    return code, timerid
    --[[
        code:number:成功(ErrorCode.OK),timerid:number:计时器ID
    ]]
end

function MiniTimer:deleteTimer( -- 删除计时器
--[[
        name:string:计时器名称,timerid:number:计时器ID
    ]]
    id
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function MiniTimer:startBackwardTimer( -- 启动倒计时
--[[
        id:number:计时器ID,interval:number:开始倒计时事件,repeated:boolean:是否重复
    ]]
    id,
    interval,
    repeated
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function MiniTimer:startForwardTimer( -- 启动正向计时
--[[
        id:number:计时器ID
    ]]
    id
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function MiniTimer:pauseTimer( -- 暂停计时器
--[[
        id:number:计时器ID
    ]]
    id
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function MiniTimer:resumeTimer( -- 恢复计时器
--[[
        id:number:计时器ID
    ]]
    id
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function MiniTimer:stopTimer( -- 停止计时器
--[[
        id:number:计时器ID
    ]]
    id
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function MiniTimer:changeTimerTime( -- 改变计时器计时
--[[
        id:number:计时器ID,curtime:number:计时器当前时刻
    ]]
    id,
    curtime
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function MiniTimer:getTimerTime( -- 获取计时器时间
--[[
        id:number:计时器ID
    ]]
    id
)
    return code, runtime
    --[[
        code:number:成功(ErrorCode.OK),runtime:number:当前倒计时时间
    ]]
end

function MiniTimer:showTimerWnd( -- 显示计时器窗口(若其他计时器已经显示,则替换显示)
--[[
        playerids:table:玩家ID数组(nil表示全部玩家),timerid:number:计时器ID,title:string:计时器窗口显示的标题
    ]]
    playerids,
    timerid,
    title
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function MiniTimer:hideTimerWnd( -- 隐藏计时器窗口
--[[
        playerids:table:玩家ID数组(nil表示全部玩家),timerid:number:计时器ID,title:string:计时器窗口显示的标题
    ]]
    playerids,
    timerid
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

ObjectLib = {}
function ObjectLib:getAreaData( -- 获取区域数据
--[[
        uuid:number:区域ID
    ]]
    uuid
)
    return code, id
    --[[
        code:number:成功(ErrorCode.OK),id:number:区域运行ID
    ]]
end

function ObjectLib:getPositionData( -- 获取位置数据
--[[
        uuid:number:位置ID
    ]]
    uuid
)
    return code, id
    --[[
        code:number:成功(ErrorCode.OK),id:number:位置运行ID
    ]]
end

function ObjectLib:getLivingData( -- 获取生物数据
--[[
        uuid:number:生物ID
    ]]
    uuid
)
    return code, id
    --[[
        code:number:成功(ErrorCode.OK),id:number:生物运行ID
    ]]
end

function ObjectLib:getItemData( -- 获取道具点数据
--[[
        uuid:number:道具ID
    ]]
    uuid
)
    return code, id
    --[[
        code:number:成功(ErrorCode.OK),id:number:道具运行ID
    ]]
end

Player = {}
function Player:getAttr( -- 玩家属性获取
--[[
        objid:number:生物对象ID,attrtype:number:属性枚举值(PLAYERATTR)
    ]]
    objid,
    PLAYERATTR
)
    return code, val
    --[[
        code:number:成功(ErrorCode.OK),val:number:属性值
    ]]
end

function Player:setAttr( -- 玩家属性设置
--[[
        objid:number:生物对象ID,attrtype:number:属性枚举值(PLAYERATTR),val:number:属性值
    ]]
    objid,
    PLAYERATTR,
    val
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Player:getHostUin( -- 获取房主uin
--[[
        无
    ]]
)
    return code, uin
    --[[
        code:number:成功(ErrorCode.OK),uin:number:玩家Uin
    ]]
end

function Player:isMainPlayer( -- 是否是本地玩家
--[[
        objid:number:玩家Uin
    ]]
    objid
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Player:getMainPlayerUin( -- 获取本地玩家的uin
--[[
        无
    ]]
)
    return code, uin
    --[[
        code:number:成功(ErrorCode.OK),uin:number:玩家Uin
    ]]
end

function Player:getGameResults( -- 获取玩家是否胜利
--[[
        objid:number:玩家Uin
    ]]
    objid
)
    return code, result
    --[[
        code:number:成功(ErrorCode.OK),result:number:游戏结果
    ]]
end

function Player:setGameResults( -- 设置玩家是否胜利
--[[
        objid:number:玩家Uin,result:number:游戏结果
    ]]
    objid,
    result
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Player:getGameScore( -- 获取玩家分数
--[[
        objid:number:玩家Uin
    ]]
    objid
)
    return code, score
    --[[
        code:number:成功(ErrorCode.OK),score:number:玩家分数
    ]]
end

function Player:setGameScore( -- 设置玩家分数
--[[
        objid:number:玩家Uin,score:number:玩家分数
    ]]
    objid,
    score
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Player:getGameRanking( -- 获取玩家排名
--[[
        objid:number:玩家Uin
    ]]
    objid
)
    return code, rank
    --[[
        code:number:成功(ErrorCode.OK),rank:number:玩家排名
    ]]
end

function Player:setGameRanking( -- 设置玩家分数
--[[
        objid:number:玩家Uin,rank:number:玩家排名
    ]]
    objid,
    rank
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Player:gainItems( -- 添加道具至玩家背包
--[[
        objid:number:玩家Uin,itemid:number:道具类型,num:number:道具数量,prioritytype:number:道具耐久
    ]]
    objid,
    itemid,
    num,
    prioritytype
)
    return code, addnum
    --[[
        code:number:成功(ErrorCode.OK),addnum:number:道具数量
    ]]
end

function Player:teleportHome( -- 传送到出生点
--[[
        objid:number:玩家Uin
    ]]
    objid
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Player:getCurToolID( -- 获取玩家手持道具
--[[
        objid:number:玩家Uin
    ]]
    objid
)
    return code, itemid
    --[[
        code:number:成功(ErrorCode.OK),itemid:number:道具类型
    ]]
end

function Player:getNickname( -- 获取玩家手昵称
--[[
        objid:number:玩家Uin
    ]]
    objid
)
    return code, name
    --[[
        code:number:成功(ErrorCode.OK),name:string:玩家昵称
    ]]
end

function Player:removeBackpackItem( -- 移除玩家背包道具
--[[
        objid:number:玩家Uin,itemid:number:道具类型,num:number:道具数量
    ]]
    objid,
    itemid,
    num
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Player:getDieTimes( -- 获取玩家死亡次数
--[[
        objid:number:玩家Uin
    ]]
    objid
)
    return code, num
    --[[
        code:number:成功(ErrorCode.OK),num:number:死亡次数
    ]]
end

function Player:getLeftLifeNum( -- 获取玩家生命数量
--[[
        objid:number:玩家Uin
    ]]
    objid
)
    return code, num
    --[[
        code:number:成功(ErrorCode.OK),num:number:生命数量
    ]]
end

function Player:setTeam( -- 设置玩家队伍
--[[
        objid:number:玩家Uin,teamid:number:队伍ID(0无队伍,1-6队伍值)
    ]]
    objid,
    teamid
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Player:getTeam( -- 获取玩家队伍
--[[
        objid:number:玩家Uin
    ]]
    objid
)
    return code, teamid
    --[[
        code:number:成功(ErrorCode.OK),teamid:number:队伍ID(0无队伍,1-6队伍值)
    ]]
end

function Player:getFoodLevel( -- 获取玩家饱食度(体力值)
--[[
        objid:number:玩家Uin
    ]]
    objid
)
    return code, foodLevel
    --[[
        code:number:成功(ErrorCode.OK),foodLevel:number:饱食度(体力值)
    ]]
end

function Player:setFoodLevel( -- 设置玩家饱食度
--[[
        objid:number:玩家Uin,foodLevel:number:饱食度(体力值)
    ]]
    objid,
    foodLevel
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Player:getCurShotcut( -- 获取玩家快捷栏索引
--[[
        objid:number:玩家Uin
    ]]
    objid
)
    return code, value
    --[[
        code:number:成功(ErrorCode.OK),value:number:索引值
    ]]
end

function Player:onCurToolUsed( -- 玩家使用手持道具
--[[
        objid:number:玩家Uin,num:number:道具数量
    ]]
    objid,
    num
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Player:setSkillCD( -- 设置道具技能时间
--[[
        objid:number:玩家Uin,itemid:number:道具类型,cd:number:冷却时间
    ]]
    objid,
    itemid,
    cd
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Player:reviveToPos( -- 玩家在指定位置复活
--[[
        objid:number:玩家Uin,x|y|z:number:方块坐标
    ]]
    objid,
    x,
    y,
    z
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Player:setRevivePoint( -- 设置玩家复活点
--[[
        objid:number:玩家Uin,x|y|z:number:方块坐标
    ]]
    objid,
    x,
    y,
    z
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Player:mountActor( -- 使玩家骑上坐骑
--[[
        objid:number:玩家Uin,objid:number:坐骑ID(传入0,登下坐骑)
    ]]
    playerid,
    objid
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Player:playAct( -- 使玩家播放表情
--[[
        objid:number:玩家Uin,actid:number:动作ID
    ]]
    objid,
    actid
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Player:notifyGameInfo2Self( -- 使玩家显示飘窗文字
--[[
        objid:number:玩家Uin,info:string:文本内容
    ]]
    objid,
    info
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Player:useItem( -- 玩家使用道具
--[[
        objid:number:玩家Uin,itemid:number:道具类型,status:number:使用状态(0开始,1结束,2取消),onshift:boolean:是否使用shift键
    ]]
    objid,
    itemid,
    status,
    onshift
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Player:rotateCamera( -- 玩家旋转摄像机角度
--[[
        objid:number:玩家Uin,yaw:number:旋转角度,pitch:number:旋转角度
    ]]
    objid,
    yaw,
    pitch
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Player:changeViewMode( -- 玩家改变视角
--[[
        objid:number:玩家Uin,viewmode:number:视角枚举(VIEWPORTTYPE),islock:boolean:是否锁定
    ]]
    objid,
    VIEWPORTTYPE,
    islock
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Player:setActionAttrState( -- 设置玩家行为属性状态
--[[
        objid:number:玩家Uin,actionattr:number:行为枚举(PLAYERATTR_ENABLE),switch:boolean:是否开启
    ]]
    objid,
    actionattr,
    switch
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Player:checkActionAttrState( -- 设置玩家行为属性状态
--[[
        objid:number:玩家Uin,actionattr:number:视角枚举(PLAYERATTR_ENABLE)
    ]]
    objid,
    actionattr
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Player:isEquipByResID( -- 设置玩家是否装备了某件装备
--[[
        objid:number:玩家Uin,itemid:number:道具类型
    ]]
    objid,
    itemid
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Player:setPosition( -- 设置玩家位置
--[[
        objid:number:玩家Uin,x|y|z:number:方块坐标
    ]]
    objid,
    x,
    y,
    z
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Player:getAimPos( -- 获取玩家准心位置
--[[
        objid:number:玩家Uin
    ]]
    objid
)
    return code, x, y, z
    --[[
        code:number:成功(ErrorCode.OK),x|y|z:number:方块坐标
    ]]
end

function Player:setItemAttAction( -- 设置玩家道具设置属性
--[[
        objid:number:玩家Uin,itemid:number:道具类型,attrtype:number:行为枚举(PLAYERATTR_ENABLE),switch:boolean:是否开启
    ]]
    objid,
    itemid,
    attrtype,
    switch
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Player:playMusic( -- 对玩家播放背景音乐
--[[
        objid:number:玩家Uin, musicId:string:声音ID,volume:number:声音大小,pitch:number::声音音调,isLoop:是否循环
    ]]
    objid,
    musicId,
    volume,
    pitch,
    isLoop
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Player:stopMusic( -- 玩家停止播放背景音乐
--[[
        objid:number:玩家Uin,musicId:string:声音ID
    ]]
    objid,
    musicId
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Player:setGameWin( -- 使玩家胜利
--[[
        objid:number:玩家Uin
    ]]
    objid
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Player:openDevStore( -- 玩家打开开发者商店(仅开发者可用)
--[[
        objid:number:玩家Uin
    ]]
    objid
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Player:openDevStoreNew( -- 玩家打开开发者商店(仅开发者可用)
--[[
        objid:number:玩家Uin
    ]]
    objid
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Player:openDevStoreTab( -- 玩家打开开发者商店并指定页签(仅开发者可用)
--[[
        objid:number:玩家Uin,page:string:页签名,name:string:商店描述
    ]]
    objid,
    page,
    name
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Player:getPropsType( -- 玩家手持道具的类型
--[[
        objid:number:玩家Uin
    ]]
    playerid
)
    return code, itemid
    --[[
        code:number:成功(ErrorCode.OK),itemid:number:道具类型
    ]]
end

function Player:playAdvertisingCallback( -- 玩家播放开发者广告(仅开发者可用)
--[[
        objid:number:玩家ID,adname:string:广告名称,callback:function:更新回调(function(code/错误码,adname/广告名))
    ]]
    objid,
    adname,
    callback
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Player:setCheckBoxScale( -- 设置检测掉落物半径
--[[
        objid:number:玩家Uin,range:number:半径扩大缩放
    ]]
    objid,
    range
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Player:openBoxByPos( -- 打开可以操作的箱子
--[[
        objid:number:玩家Uin,x|y|z:number:方块坐标
    ]]
    objid,
    x,
    y,
    z
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Player:forceOpenBoxUI( -- 玩家强制打开UI界面
--[[
        objid:number:玩家Uin,itemid:number:方块类型(工匠台)
    ]]
    objid,
    itemid
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Player:openDevGoodsBuyDialog( -- 打开开发者商店商品购买弹框
--[[
        objid:number:玩家Uin,devGoodsId:number:商品ID,customDesc:string:自定义商品描述
    ]]
    objid,
    devGoodsId,
    customDesc
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Player:openUIView( -- 打开一个UI界面
--[[
        objid:number:玩家Uin,uiname:number:自定义UIID
    ]]
    objid,
    uiname,
    param
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Player:hideUIView( -- 隐藏一个UI界面
--[[
        objid:number:玩家Uin,uiname:number:自定义UIID
    ]]
    objid,
    uiname
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Player:changPlayerMoveType( -- 改变玩家移动方式
--[[
        objid:number:玩家Uin,moveType:number:飞行枚举(MOVETYPE)
    ]]
    objid,
    MOVETYPE
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Player:shakeCamera( -- 抖动玩家镜头
--[[
        objid:number:玩家Uin,duration:number:持续时间,power:number:抖动强度(1~1000)
    ]]
    objid,
    duration,
    power
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Player:stopShakeCamera( -- 停止抖动玩家镜头
--[[
        objid:number:玩家Uin
    ]]
    objid
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Player:playQQMusic( -- 玩家播放qq音乐
--[[
        playerid:number:玩家Uin,musicId:string:音乐ID,volume:number:声音大小,isLoop:number:是否循环
    ]]
    playerid,
    musicId,
    volume,
    isLoop
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Player:operateQQMusic( -- 暂停/恢复/停止玩家的QQ音乐
--[[
        operate:number:音乐操作枚举(QQMUSICOP),playerid:number:玩家Uin
    ]]
    QQMUSICOP,
    playerid
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Player:OpenAppraiseView( -- 打开评价界面
--[[
        playerid:number:玩家Uin
    ]]
    playerid
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Player:OpenCollectionView( -- 打开收藏界面
--[[
        playerid:number:玩家Uin
    ]]
    playerid
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Player:IsMiniVip( -- 判断玩家是否是迷你会员(阻塞接口)
--[[
        playerid:number:玩家Uin
    ]]
    playerid
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Player:SendFriendApply( -- 发送好友申请(相同玩家请求间隔必须大于10s)
--[[
        playerid:number:玩家Uin,playerid2:number:玩家Uin2
    ]]
    playerid,
    playerid2
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Player:HasFriend( -- 判断两个玩家是否是迷你会员(阻塞接口)
--[[
        playerid:number:玩家Uin,playerid2:number:玩家Uin2
    ]]
    playerid,
    playerid2
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Player:PlayActInHand( -- 玩家手持微缩模型道具播放动作
--[[
        objid:number:对象ID,animid:number:动作ID,playmode:number:播放模式(ANIMMODE)
    ]]
    playerid,
    animid,
    ANIMMODE
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Player:OpenBuiltinRank( -- 打开内置排行榜
--[[
        objid:number:对象ID,id:number:排行榜ID(也可填索引)
    ]]
    playerid,
    id
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Player:HideBuiltinRank( -- 隐藏内置排行榜
--[[
        objid:number:对象ID
    ]]
    playerid
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

Team = {}
function Team:getNumTeam( -- 当前队伍数量
--[[
        无
    ]]
)
    return code, num
    --[[
        code:number:成功(ErrorCode.OK),num:number:队伍数量
    ]]
end

function Team:getTeamPlayerNum( -- 获取指定队伍玩家数量
--[[
        teamid:number:队伍ID(0无队伍,1-6队伍值),alive:number:生存状态
    ]]
    teamid,
    alive
)
    return code, num
    --[[
        code:number:成功(ErrorCode.OK),num:number:人数数量
    ]]
end

function Team:getTeamPlayers( -- 获取指定队伍玩家
--[[
        teamid:number:队伍ID(0无队伍,1-6队伍值),alive:number:生存状态
    ]]
    teamid,
    alive
)
    return code, num, arr
    --[[
        code:number:成功(ErrorCode.OK),num:number:人数数量,arr:table:玩家ID数组
    ]]
end

function Team:randomTeamPlayer( -- 队伍中随机一名玩家
--[[
        teamid:number:队伍ID(0无队伍,1-6队伍值),alive:number:生存状态
    ]]
    teamid,
    alive
)
    return code, uin
    --[[
        code:number:成功(ErrorCode.OK),uin:number:玩家ID
    ]]
end

function Team:getTeamCreatures( -- 获取指定队伍生物
--[[
        teamid:number:队伍ID(0无队伍,1-6队伍值)
    ]]
    teamid
)
    return code, arr
    --[[
        code:number:成功(ErrorCode.OK),arr:table:生物ID数组
    ]]
end

function Team:setTeamScore( -- 设置队伍分数
--[[
        teamid:number:队伍ID(0无队伍,1-6队伍值),score:number:分数值
    ]]
    teamid,
    score
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Team:getTeamScore( -- 获取队伍分数
--[[
        teamid:number:队伍ID(0无队伍,1-6队伍值)
    ]]
    teamid
)
    return code, score
    --[[
        code:number:成功(ErrorCode.OK),score:number:分数值
    ]]
end

function Team:addTeamScore( -- 增加队伍分数
--[[
        teamid:number:队伍ID(0无队伍,1-6队伍值),score:number:分数值
    ]]
    teamid,
    score
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Team:setTeamResults( -- 设置队伍结果
--[[
        teamid:number:队伍ID(0无队伍,1-6队伍值),result:number:队伍结果值
    ]]
    teamid,
    result
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Team:getTeamResults( -- 获取队伍结果
--[[
        teamid:number:队伍ID(0无队伍,1-6队伍值)
    ]]
    teamid
)
    return code, result
    --[[
        code:number:成功(ErrorCode.OK),result:number:队伍结果值
    ]]
end

function Team:setTeamDieTimes( -- 设置队伍阵亡次数
--[[
        teamid:number:队伍ID(0无队伍,1-6队伍值),times:number:阵亡次数
    ]]
    teamid,
    times
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Team:getTeamDieTimes( -- 获取队伍阵亡次数
--[[
        teamid:number:队伍ID(0无队伍,1-6队伍值)
    ]]
    teamid
)
    return code, times
    --[[
        code:number:成功(ErrorCode.OK),times:number:阵亡次数
    ]]
end

function Team:addTeamDieTimes( -- 增加队伍阵亡次数
--[[
        teamid:number:队伍ID(0无队伍,1-6队伍值),times:number:阵亡次数
    ]]
    teamid
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Team:changePlayerTeam( -- 改变玩家队伍
--[[
        playerid:number:玩家ID,teamid:number:队伍ID(0无队伍,1-6队伍值,999观战(观战状态只能一个玩家))
    ]]
    playerid,
    teamid
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

UI = {}
function UI:setGBattleUI( -- 设置战斗总结UI
--[[
        name:string:设定名,value:string/boolean:设定值
    ]]
    name,
    value
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function UI:world2RadarPos( -- 世界坐标转换到小地图
--[[
        x:number:X坐标,y:number:Y坐标
    ]]
    x,
    y
)
    return code, x, y
    --[[
        code:number:成功(ErrorCode.OK),x:number:X坐标,y:number:Y坐标
    ]]
end

function UI:world2RadarDist( -- 世界长度转换到小地图
--[[
        length:number:长度
    ]]
    length
)
    return code, length
    --[[
        code:number:成功(ErrorCode.OK),length:number:长度
    ]]
end

function UI:setMinimapRenderMode( -- 设置小地图模式。
--[[
        mode:number:模式(1:45度旋转视角;2:全图俯视角)
    ]]
    mode
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function UI:setShapeLine( -- 地图标记形状设置,设置成线条(LineShape)
--[[
        uiname:string:形状名,p1x:number:X坐标,p1y:number:Y坐标,p2x:number:X坐标,p2y:number:Y坐标
    ]]
    uiname,
    p1x,
    p1y,
    p2x,
    p2y
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function UI:setShapeCircle( -- 地图标记形状设置,设置成圆(CircleShape)
--[[
        uiname:number:形状名,ix:number:X坐标,y:number:Y坐标,radius:number:半径
    ]]
    uiname,
    x,
    y,
    radius
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function UI:ShowScreenEffect( -- 显示屏幕特效
--[[
        type:number:效果类型,isloop:boolean:是否循环,incspeed:number:增速
    ]]
    type,
    isloop,
    incspeed
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

Valuegroup = {}
function Valuegroup:getAllGroupItem( -- 获取组中所有值
--[[
        vartype:number:变量类型枚举(VARTYPE),libname:string:变量库名称,playerid:number:玩家ID
    ]]
    VARTYPE,
    libname,
    playerid
)
    return code, datas
    --[[
        code:number:成功(ErrorCode.OK),datas:table:获得的数据值
    ]]
end

function Valuegroup:insertInGroupByName( -- 添加任意值到任意组
--[[
        vartype:number:变量类型枚举(VARTYPE),libname:string:变量库名称,value:any:插入的数据,playerid:number:玩家ID
    ]]
    VARTYPE,
    libname,
    value,
    playerid
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Valuegroup:removeValueIndexByName( -- 从任意组移除指定编号的值
--[[
        vartype:number:变量类型枚举(VARTYPE),libname:string:变量库名称,value:any:插入的数据,playerid:number:玩家ID
    ]]
    VARTYPE,
    libname,
    indx,
    playerid
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Valuegroup:removeValueByName( -- 从任意组移除任意值
--[[
        vartype:number:变量类型枚举(VARTYPE),libvarname:string:变量库名称,playerid:number:玩家ID
    ]]
    VARTYPE,
    libname,
    value,
    playerid
)
    return code, val
    --[[
        code:number:成功(ErrorCode.OK),val:any:获取到的值
    ]]
end

function Valuegroup:clearGroupByName( -- 清空任意组
--[[
        vartype:number:变量类型枚举(VARTYPE),libvarname:string:变量库名称,playerid:number:玩家ID
    ]]
    VARTYPE,
    libname,
    playerid
)
    return code, val
    --[[
        code:number:成功(ErrorCode.OK),val:any:获取到的值
    ]]
end

function Valuegroup:getGrouplengthByName( -- 获取数组长度
--[[
        vartype:number:变量类型枚举(VARTYPE),libvarname:string:变量库名称,playerid:number:玩家ID
    ]]
    VARTYPE,
    libname,
    playerid
)
    return code, len
    --[[
        code:number:成功(ErrorCode.OK),len:number:获取到的值
    ]]
end

function Valuegroup:getValueNoByName( -- 获取组中索引的值
--[[
        vartype:number:变量类型枚举(VARTYPE),libvarname:string:变量库名称,index:number:索引值,playerid:number:玩家ID
    ]]
    VARTYPE,
    libname,
    index,
    playerid
)
    return code, value
    --[[
        code:number:成功(ErrorCode.OK),value:any:获取到的值
    ]]
end

function Valuegroup:setValueNoByName( -- 设置组中索引值
--[[
        vartype:number:变量类型枚举(VARTYPE),libvarname:string:变量库名称,index:number:索引值,value:any:获取到的值,playerid:number:玩家ID
    ]]
    VARTYPE,
    libname,
    index,
    value,
    playerid
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Valuegroup:getRandomValueByName( -- 获得数组里面的随机值
--[[
        vartype:number:变量类型枚举(VARTYPE),libvarname:string:变量库名称,playerid:number:玩家ID
    ]]
    VARTYPE,
    libname,
    playerid
)
    return code, val
    --[[
        code:number:成功(ErrorCode.OK),val:any:获取到的值
    ]]
end

function Valuegroup:insertValueByName( -- 在任意组插入任意值
--[[
        vartype:number:变量类型枚举(VARTYPE),libvarname:string:变量库名称,no:number:数值组索引,val:any:设置的值,playerid:number:玩家ID
    ]]
    VARTYPE,
    libname,
    no,
    val,
    playerid
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Valuegroup:deleteNoByName( -- 从任意组删除指定编号的值
--[[
        vartype:number:变量类型枚举(VARTYPE),libvarname:string:变量库名称,no:number:数值组索引,playerid:number:玩家ID
    ]]
    VARTYPE,
    libname,
    no,
    playerid
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Valuegroup:deleteValueByName( -- 删除组中指定值的值
--[[
        vartype:number:变量类型枚举(VARTYPE),libvarname:string:变量库名称,val:any:删除的值,playerid:number:玩家ID
    ]]
    VARTYPE,
    libname,
    val,
    playerid
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Valuegroup:clearNoValueByName( -- 清空组中的空值
--[[
        vartype:number:变量类型枚举(VARTYPE),libvarname:string:变量库名称,playerid:number:玩家ID
    ]]
    VARTYPE,
    libname,
    playerid
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Valuegroup:addGroupByName( -- 在任意组中添加一组值
--[[
        vartype:number:变量类型枚举(VARTYPE),libname:string:变量库名称,libname2:string:变量库名称,playerid:number:玩家ID,playerid2:number:玩家ID
    ]]
    VARTYPE,
    libname,
    libname2,
    playerid,
    playerid2
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Valuegroup:removeGroupByName( -- 在任意组中将一组值设为空值
--[[
        vartype:number:变量类型枚举(VARTYPE),libname:string:变量库名称,libname2:string:变量库名称,playerid:number:玩家ID,playerid2:number:玩家ID
    ]]
    VARTYPE,
    libname,
    libname2,
    playerid,
    playerid2
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Valuegroup:deleteGroupByName( -- 在任意组中删除一组值
--[[
        vartype:number:变量类型枚举(VARTYPE),libname:string:变量库名称,libname2:string:变量库名称,playerid:number:玩家ID,playerid2:number:玩家ID
    ]]
    VARTYPE,
    libname,
    libname2,
    playerid,
    playerid2
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Valuegroup:insertGroupByName( -- 在任意组插入一组值
--[[
        vartype:number:变量类型枚举(VARTYPE),libname:string:变量库名称,no:number:插入的数值,libname2:string:变量库名称,playerid:number:玩家ID,playerid2:number:玩家ID
    ]]
    VARTYPE,
    libname,
    no,
    libname2,
    playerid,
    playerid2
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Valuegroup:replaceValueByName( -- 替换任意组中的任意值
--[[
        vartype:number:变量类型枚举(VARTYPE),libname:string:变量库名称,oldval:any:组中的值,newval:any:组中的新值,playerid:number:玩家ID
    ]]
    VARTYPE,
    libname,
    oldval,
    newval,
    playerid
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Valuegroup:sortGroupByName( -- 对任意组的值排序
--[[
        vartype:number:变量类型枚举(VARTYPE),libname:string:变量库名称,sortType:number:排序方式(SORT),playerid:number:玩家ID
    ]]
    VARTYPE,
    libname,
    SORT,
    playerid
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Valuegroup:hasValueByName( -- 任意组是否有任意值
--[[
        vartype:number:变量类型枚举(VARTYPE),libname:string:变量库名称,val:any:查询的值,playerid:number:玩家ID
    ]]
    VARTYPE,
    libname,
    val,
    playerid
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Valuegroup:hasNoByName( -- 任意组位置上是否有值
--[[
        vartype:number:变量类型枚举(VARTYPE),libname:string:变量库名称,no:number:查询的索引,playerid:number:玩家ID
    ]]
    VARTYPE,
    libname,
    no,
    playerid
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function Valuegroup:getValueCountByName( -- 获取任意组种任意值的数量
--[[
        vartype:number:变量类型枚举(VARTYPE),libname:string:变量库名称,val:any:查询的值,playerid:number:玩家ID
    ]]
    VARTYPE,
    libname,
    val,
    playerid
)
    return code, num
    --[[
        code:number:成功(ErrorCode.OK,num:number:统计到的数量
    ]]
end

function Valuegroup:getGroupNoByValue( -- 获取���意组种任意值的编号
--[[
        vartype:number:变量类型枚举(VARTYPE),libname:string:变量库名称,val:any:查询的值,playerid:number:玩家ID
    ]]
    VARTYPE,
    libname,
    val,
    playerid
)
    return code, no
    --[[
        code:number:成功(ErrorCode.OK,no:number:索引值
    ]]
end

function Valuegroup:getSpcialValueByName( -- 获取数值组最大最小值
--[[
        libname:string:变量库名称,val:number:(1获取最大值,非1获取最小值),playerid:number:玩家ID
    ]]
    libname,
    type,
    playerid
)
    return code, no
    --[[
        code:number:成功(ErrorCode.OK,no:number:索引值
    ]]
end

VarLib2 = {}
function VarLib2:getGlobalVarByName( -- 获取全局变量(通过名称)
--[[
        vartype:number:变量类型枚举(VARTYPE),libvarname:string:变量库名称
    ]]
    VARTYPE,
    libvarname
)
    return code, value
    --[[
        code:number:成功(ErrorCode.OK),value:any:变量值
    ]]
end

function VarLib2:setGlobalVarByName( -- 设置全局变量(通过名称)
--[[
        vartype:number:变量类型枚举(VARTYPE),libvarname:string:变量库名称,val:any:需设置的值
    ]]
    VARTYPE,
    libvarname,
    val
)
    return code, value
    --[[
        code:number:成功(ErrorCode.OK),value:any:变量值
    ]]
end

function VarLib2:getPlayerVarByName( -- 获取玩家私有变量(通过名称)
--[[
        playerid:number:玩家ID,vartype:number:变量类型枚举(VARTYPE),libvarname:string:变量库名称
    ]]
    playerid,
    VARTYPE,
    libvarname
)
    return code, value
    --[[
        code:number:成功(ErrorCode.OK),value:any:变量值
    ]]
end

function VarLib2:setPlayerVarByName( -- 设置玩家私有变量(通过名称)
--[[
        playerid:number:玩家ID,vartype:number:变量类型枚举(VARTYPE),libvarname:string:变量库名称,value:any:变量值
    ]]
    playerid,
    VARTYPE,
    libvarname,
    val
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

World = {}
function World:isDaytime( -- 是否是白天
--[[
        无
    ]]
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function World:isCustomGame( -- 是否是自定义游戏
--[[
        无
    ]]
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function World:isCreativeMode( -- 是否是创造模式
--[[
        无
    ]]
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function World:isGodMode( -- 多人创造模式 或者 自制玩法的编辑模式
--[[
        无
    ]]
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function World:isExtremityMode( -- 极限模式
--[[
        无
    ]]
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function World:isFreeMode( -- 冒险模式之自由模式
--[[
        无
    ]]
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function World:isSurviveMode( -- 单人模式 或者 冒险模式之自由模式
--[[
        无
    ]]
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function World:isCreateRunMode( -- 由创造模式转的生存
--[[
        无
    ]]
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function World:isGameMakerMode( -- 自制玩法的编辑模式
--[[
        无
    ]]
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function World:isGameMakerRunMode( -- 自制玩法的运行模式
--[[
        无
    ]]
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function World:getHours( -- 获取游戏当前时间(h)
--[[
        无
    ]]
)
    return code, hour
    --[[
        code:number:成功(ErrorCode.OK),hour:number:当前小时时间
    ]]
end

function World:setHours( -- 设置游戏当前时间
--[[
        hour:number:当前小时时间
    ]]
    hour
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function World:getCameraEditState( -- 获取视角编辑状态
--[[
        无
    ]]
)
    return code, state
    --[[
        code:number:成功(ErrorCode.OK),state:number:状态值(CameraEditState)
    ]]
end

function World:setCameraEditState( -- 设置视角编辑状态
--[[
        state:number:状态值(CameraEditState)
    ]]
    CameraEditState
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function World:getCustomCameraConfig( -- 获取自定义相机配置
--[[
        无
    ]]
)
    return code, config
    --[[
        code:number:成功(ErrorCode.OK),config:table:相机配置
    ]]
end

function World:getRangeXZ( -- 获取区块(chunk)范围,返回区块始末位置
--[[
        无
    ]]
)
    return code, startX, startZ, endX, endZ
    --[[
        code:number:成功(ErrorCode.OK),startX:number:起始X坐标,startZ:number:起始Z坐标,endX:number:结束X坐标,endZ:number:结束Z坐标
    ]]
end

function World:getRayLength( -- 计算指定方向射线长度(遇到方块结束)
--[[
        srcx|srcy|srcz:number:起始点,dstx|dsty|dstz:number:目标点,确定方向,distance:number:最长检测距离
    ]]
    srcx,
    srcy,
    srcz,
    dstx,
    dsty,
    dstz,
    distance
)
    return code, length
    --[[
        code:number:成功(ErrorCode.OK),length:number:两点间的长度
    ]]
end

function World:getRayBlock( -- 射线打到的方块类型(遇到方块结束)
--[[
        srcx|srcy|srcz:number:起始点,face:number:方向枚举(FACE_DIRECTION),distance:number:最长检测距离
    ]]
    srcx,
    srcy,
    srcz,
    face,
    distance
)
    return code, blockid
    --[[
        code:number:成功(ErrorCode.OK),blockid:number:方块类型ID
    ]]
end

function World:getActorsByBox( -- 获取范围内Actor对象
--[[
        objtype:number:生物类型(OBJ_TYPE,0表示所有对象),x1|y1|z1:number:起始坐标,x2|y2|z2:number:结束坐标
    ]]
    objtype,
    x1,
    y1,
    z1,
    x2,
    y2,
    z2
)
    return code, total, allarr
    --[[
        code:number:成功(ErrorCode.OK),total:number:获取数量,allarr:table:对象objid组
    ]]
end

function World:getPlayerTotal( -- 获取全部玩家数量
--[[
        alive:number:玩家状态(0表示阵亡,1表示存活,默认-1表示全体玩家)
    ]]
    alive
)
    return code, num
    --[[
        code:number:成功(ErrorCode.OK),num:number:获取数量
    ]]
end

function World:getAllPlayers( -- 获取全部玩家
--[[
        alive:number:玩家状态(0表示阵亡,1表示存活,默认-1表示全体玩家)
    ]]
    alive
)
    return code, num, list
    --[[
        code:number:成功(ErrorCode.OK),num:number:获取数量,list:table:对象objid组
    ]]
end

function World:randomOnePlayer( -- 随机获取一名玩家
--[[
        alive:number:玩家状态(0表示阵亡,1表示存活,默认-1表示全体玩家)
    ]]
    alive
)
    return code, playerid
    --[[
        code:number:成功(ErrorCode.OK),playerid:number:玩家Uin
    ]]
end

function World:despawnActor( -- 移除actor
--[[
        objid:number:对象objID
    ]]
    objid
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function World:spawnCreature( -- 生成生物(包括怪物、NPC、动物等)
--[[
        x|y|z:number:方块坐标,actorid:number:生物类型,num:number:生成数量,trigger:boolean:是否触发事件
    ]]
    x,
    y,
    z,
    actorid,
    num,
    trigger
)
    return code, objs
    --[[
        code:number:成功(ErrorCode.OK),objs:table:生物ID组
    ]]
end

function World:despawnCreature( -- 移除生物
--[[
        objid:number:对象objID
    ]]
    objid
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function World:spawnItem( -- 在指定位置生成道具
--[[
        x|y|z:number:方块坐标,actorid:number:生物类型,num:number:生成数量
    ]]
    x,
    y,
    z,
    itemid,
    num
)
    return code, obj
    --[[
        code:number:成功(ErrorCode.OK),obj:number:掉落物ObjID
    ]]
end

function World:despawnItemByBox( -- 移除区域内的所有道具
--[[
        x1|y1|z1:number:起始坐标,x2|y2|z2:number:结束坐标
    ]]
    x1,
    y1,
    z1,
    x2,
    y2,
    z2
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function World:despawnItemByObjid( -- 移除道具(通过ID)
--[[
        objid:number:对象objID
    ]]
    objid
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function World:spawnProjectile( -- 生成投掷物
--[[
        shooter:number:设置投掷物归属的objid,itemid:number:投掷物id,x|y|z:number:投掷物起点,dstx|dsty|dstz:number:投掷物终点,speed:number:投掷物速度
    ]]
    shooter,
    itemid,
    x,
    y,
    z,
    dstx,
    dsty,
    dstz,
    speed
)
    return code, objid
    --[[
        code:number:成功(ErrorCode.OK),objid:number:投掷物的实例ID
    ]]
end

function World:spawnProjectileByDir( -- 生成投掷物(通过方向)
--[[
        shooter:number:设置投掷物归属的objid,itemid:number:投掷物id,x|y|z:number:投掷物起点,dstx|dsty|dstz:number:投掷方向,speed:number:投掷物速度
    ]]
    shooter,
    itemid,
    x,
    y,
    z,
    dirx,
    diry,
    dirz,
    speed
)
    return code, objid
    --[[
        code:number:成功(ErrorCode.OK),objid:number:投掷物的实例ID
    ]]
end

function World:calcDistance( -- 计算位置之间的距离
--[[
        pos1:table:起始坐标,pos2:table:结束坐标
    ]]
    pos1,
    pos2
)
    return code, len
    --[[
        code:number:成功(ErrorCode.OK),len:number:距离值
    ]]
end

function World:playParticalEffect( -- 在指定位置播放特效
--[[
        x|y|z:number:位置,particleId:number:特效id,scale:number:特效大小
    ]]
    x,
    y,
    z,
    particleId,
    scale
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function World:stopEffectOnPosition( -- 停止指定位置的特效
--[[
        x|y|z:number:位置,particleId:number:特效id
    ]]
    x,
    y,
    z,
    particleId
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function World:setEffectScaleOnPosition( -- 设置指定位置的特效大小
--[[
        x|y|z:number:位置,particleId:number:特效id,scale:number:特效大小
    ]]
    x,
    y,
    z,
    particleId,
    scale
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function World:randomParticleEffectID( -- 随机特效类型,随机返回一种特效ID
--[[
        无
    ]]
)
    return code, particleId
    --[[
        code:number:成功(ErrorCode.OK),particleId:number:特效id
    ]]
end

function World:playSoundEffectOnPos( -- 在指定位置上播放指定音效
--[[
        pos:table:位置,soundId:number:音效ID,volume:number:音量调节,pitch:number:音调调节,isLoop:bool:是否循环播放
    ]]
    pos,
    soundId,
    volume,
    pitch,
    isLoop
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function World:stopSoundEffectOnPos( -- 停止指定位置上的指定音效
--[[
        pos:table:位置,soundId:number:音效ID
    ]]
    pos,
    soundId
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function World:getLightByPos( -- 获取光照强度
--[[
        x|y|z:number:位置
    ]]
    x,
    y,
    z
)
    return code, lv
    --[[
        code:number:成功(ErrorCode.OK),lv:number:光照强度(0~16)
    ]]
end

function World:setBlockLightEx( -- 设置光照强度
--[[
        x|y|z:number:位置,lv:number:光照强度(0~16)
    ]]
    x,
    y,
    z,
    lv
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function World:randomSoundID( -- 随机一个音效ID
--[[
        无
    ]]
)
    return code, soundid
    --[[
        code:number:成功(ErrorCode.OK),soundid:number:声音ID
    ]]
end

function World:randomWeatherID( -- 随机一个天气ID
--[[
        无
    ]]
)
    return code, wtype
    --[[
        code:number:成功(ErrorCode.OK),wtype:number:天气值(WEATHERSTATUS)
    ]]
end

function World:getLocalDate( -- 获取主机时间
--[[
        enum:number:枚举值(EVENTDATE)
    ]]
    enum
)
    return code, time
    --[[
        code:number:成功(ErrorCode.OK),time:number:获取到的值
    ]]
end

function World:getLocalDateString( -- 获取完整设备时间
--[[
        无
    ]]
)
    return code, timestr
    --[[
        code:number:成功(ErrorCode.OK),timestr:string:时间描述
    ]]
end

function World:getServerDate( -- 获取服务器时间
--[[
        enum:number:枚举值(EVENTDATE)
    ]]
    enum
)
    return code, time
    --[[
        code:number:成功(ErrorCode.OK),time:number:获取到的值
    ]]
end

function World:getServerDateString( -- 获取完整服务器时间
--[[
        无
    ]]
)
    return code, timestr
    --[[
        code:number:成功(ErrorCode.OK),timestr:string:时间描述
    ]]
end

function World:getDateFromTime( -- 转换时间戳为时间单位
--[[
        time:number:时间戳,enum:number:枚举值(EVENTDATE)
    ]]
    time,
    enum
)
    return code, ret
    --[[
        code:number:成功(ErrorCode.OK),ret:number:时间值
    ]]
end

function World:getDateStringFromTime( -- 转换时间戳为完整时间
--[[
        time:number:时间戳
    ]]
    time
)
    return code, timestr
    --[[
        code:number:成功(ErrorCode.OK),timestr:string:时间描述
    ]]
end

WorldContainer = {}
function WorldContainer:addFurnace( -- 新增熔炉
--[[
        x|y|z:number:位置,blockid:number:方块类型ID
    ]]
    x,
    y,
    z,
    blockid
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function WorldContainer:removeFurnace( -- 移除熔炉
--[[
        x|y|z:number:位置
    ]]
    x,
    y,
    z
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function WorldContainer:checkFurnace( -- 检测是否是熔炉
--[[
        x|y|z:number:位置
    ]]
    x,
    y,
    z
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function WorldContainer:getFurnaceHeatPercent( -- 获取熔炉热度百分比
--[[
        x|y|z:number:位置,lev:number:熔炼热度
    ]]
    x,
    y,
    z,
    lev
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function WorldContainer:getFurnaceMeltPercent( -- 获取熔炉融化百分比
--[[
        x|y|z:number:位置
    ]]
    x,
    y,
    z
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function WorldContainer:addStorageBox( -- 新增储物箱
--[[
        x|y|z:number:位置,blockid:number:方块类型ID
    ]]
    x,
    y,
    z,
    blockid
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function WorldContainer:removeStorageBox( -- 移除储物箱
--[[
        x|y|z:number:位置
    ]]
    x,
    y,
    z
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function WorldContainer:checkStorage( -- 检测是否是储物箱
--[[
        x|y|z:number:位置
    ]]
    x,
    y,
    z
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function WorldContainer:clearStorageBox( -- 清空储物箱
--[[
        x|y|z:number:位置
    ]]
    x,
    y,
    z
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function WorldContainer:checkStorageEmptyGrid( -- 检测储物箱空余格子,传入道具ID则同时检测已存该道具的格子
--[[
        x|y|z:number:位置,itemid:number:道具类型ID
    ]]
    x,
    y,
    z,
    itemid
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function WorldContainer:setStorageItem( -- 设置储物箱道具
--[[
        x|y|z:number:位置,offset:number:仓库格子索引,itemid:number:道具类型ID,num:number:道具数量
    ]]
    x,
    y,
    z,
    offset,
    itemid,
    num
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function WorldContainer:getStorageItem( -- 获取储物箱道具ID
--[[
        x|y|z:number:位置,offset:number:仓库格子索引
    ]]
    x,
    y,
    z,
    offset
)
    return code, itemid, num
    --[[
        code:number:成功(ErrorCode.OK),itemid:number:道具类型ID,num:number:道具数量
    ]]
end

function WorldContainer:addStorageItem( -- 给储物箱添加道具
--[[
        x|y|z:number:位置,itemid:number:道具类型ID,num:number:道具数量
    ]]
    x,
    y,
    z,
    itemid,
    num
)
    return code, relNum
    --[[
        code:number:成功(ErrorCode.OK),relNum:number:成功添加数量
    ]]
end

function WorldContainer:removeStorageItemByID( -- 移除储物箱内指定类型的道具
--[[
        x|y|z:number:位置,itemid:number:道具类型ID,num:number:道具数量
    ]]
    x,
    y,
    z,
    itemid,
    num
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function WorldContainer:removeStorageItemByIndex( -- 移除储物箱内指定格子的道具
--[[
        x|y|z:number:位置,offset:number:储物箱格子索引(从0开始),num:number:道具数量
    ]]
    x,
    y,
    z,
    offset,
    num
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function WorldContainer:addItemToContainer( -- 将一定数量道具添加到储物箱中
--[[
        x|y|z:number:位置,itemid:number:道具类型ID,num:number:道具数量
    ]]
    x,
    y,
    z,
    itemid,
    num
)
    return code, relNum
    --[[
        code:number:成功(ErrorCode.OK),relNum:number:成功添加数量
    ]]
end

function WorldContainer:removeContainerItemByID( -- 移除储物箱内一定数量道具
--[[
        x|y|z:number:位置,itemid:number:道具类型ID,num:number:道具数量
    ]]
    x,
    y,
    z,
    itemid,
    num
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end

function WorldContainer:clearContainer( -- 清空指定位置的储物箱
--[[
        x|y|z:number:位置
    ]]
    x,
    y,
    z
)
    return code
    --[[
        code:number:成功(ErrorCode.OK)
    ]]
end
ScriptSupportEvent = {}
function ScriptSupportEvent:registerEvent(eventname,callback) end--给事件绑定响应函数
function copy_table(tab) return tab end     --深拷贝

function string.split(substr) return {"",""} end   --切割字符串

JSON = {
    encode = function(self, tab)
        return ""
    end,
    decode = function(self, str)
        return {}
    end
}
--最后一次保存时间是2025年2月7日   09:19:45

你可能感兴趣的:(lua,开发语言)