Lua接口/背包空间:修订间差异

来自天龙知识库
跳到导航跳到搜索
雪舞留言 | 贡献
维护服务端 Lua 接口:核对参数、返回值、边界条件与调用示例
雪舞留言 | 贡献
维护服务端 Lua 接口:核对参数、返回值、边界条件与调用示例
 
第81行: 第81行:
* [[Lua接口/时间与计时|时间与计时]]
* [[Lua接口/时间与计时|时间与计时]]
* [[Lua接口/怪物相关|怪物相关]]
* [[Lua接口/怪物相关|怪物相关]]
* [[Lua接口/队伍相关|队伍相关]]
* [[Lua接口/帮会相关|帮会相关]]
* [[Lua接口/消息与提示|消息与提示]]
* [[Lua接口/聊天与公告|聊天与公告]]


[[Lua接口/服务端调用约定|服务端调用约定]] · [[Lua接口/服务端调用示例|服务端调用示例]] · [[Lua接口/服务端函数索引|服务端函数索引]]
[[Lua接口/服务端调用约定|服务端调用约定]] · [[Lua接口/服务端调用示例|服务端调用示例]] · [[Lua接口/服务端函数索引|服务端函数索引]]

2026年9月12日 (六) 13:54的最新版本

首页 · 服务端接口 · 调用约定

查询三类背包的剩余空格、格子区间与批量密码锁。

空格查询

接口 参数与返回
LuaFnGetPropertyBagSpace sceneId, selfId → 普通道具栏剩余空格;失败 -1。
LuaFnGetTaskItemBagSpace sceneId, selfId → 任务物品栏剩余空格;失败 -1。
LuaFnGetMaterialBagSpace sceneId, selfId → 材料栏剩余空格;失败 -1。

三个接口签名相同,区别只在查询的背包类型。发放物品前应先检查对应栏是否有空格,否则 EndAddItem 可能返回 0。

格子区间

接口 参数与返回
GetBasicBagStartPos sceneId, selfId → 基础栏 0-29、材料栏 30-59;失败 0 或 -1。

GetBasicBagStartPos 返回基础栏的起始位置(0),用区间约定区分基础栏与材料栏。

批量密码锁

接口 参数与返回
SetAllItemPWLock sceneId, selfId, bLock → 按规则批量设置物品密码锁。
SetAllPetPWLock sceneId, selfId, bLock → 按规则批量设置宠物密码锁。

两个接口批量加锁或解锁,返回值含义按本服约定。bLock 为 1 加锁、0 解锁。

检查空格后发放

local space = LuaFnGetPropertyBagSpace(sceneId, selfId)
if type(space) == "number" and space > 0 then
    BeginAddItem(sceneId)
    AddItem(sceneId, itemTypeSn, 1)
    local ok = EndAddItem(sceneId, selfId)
    if ok == 1 then
        AddItemListToHuman(sceneId, selfId)
    end
end

先检查空格再构造待发列表,避免 EndAddItem 因背包满返回 0。

相关主题

服务端调用约定 · 服务端调用示例 · 服务端函数索引

函数不存在或提示 nil · 参数类型与顺序 · 返回值判断 · 对象 ID 与 GUID

本页函数签名与返回约定依据当前服务端注册表整理;sceneId、selfId 由实际回调提供,业务枚举、属性类型编号与运行效果需要实测。