Appearance
容器模块管理接口 WorldContainer
具体函数名及描述如下:
| 序号 | 函数名 | 函数描述 |
|---|---|---|
| 1 | CheckStorage(...) | 检测储物箱 |
| 2 | ClearStorageBox(...) | 清空储物箱 |
| 3 | CheckStorageEmptyGrid(...) | 检测储物箱空位 |
| 4 | SetStorageItem(...) | 设置储物箱格子道具 |
| 5 | GetStorageItem(...) | 获取储物箱格子道具 |
| 6 | AddStorageItem(...) | 储物箱添加道具 |
| 7 | RemoveStorageItemByID(...) | 储物箱按类型移除道具 |
| 8 | RemoveStorageItemByIndex(...) | 储物箱按格子移除道具 |
| 9 | AddItemToContainer(...) | 储物箱添加道具(大箱) |
| 10 | RemoveContainerItemByID(...) | 移除储物箱中一定数量道具 |
| 11 | ClearContainer(...) | 清空容器 |
| 12 | AddWorldStorageItems(...) | 批量添加储物箱道具 |
| 13 | GetStorageItemInstanceId(...) | 获取储物箱道具实例ID |
| 14 | GetAllStorageItemInstanceIds(...) | 获取储物箱全部道具实例ID |
| 15 | SwapContainerItem(...) | 交换容器与背包道具 |
| 16 | GetGridAttr(...) | 获取格子属性 |
CheckStorage
- 参数及类型:
- 返回值及类型: ret:boolean,resIdOrBlockId:number|nil:是否为储物箱及方块标识(否仅返回false)
- 该方法的其他说明: 检测指定坐标是否为储物箱或 MOD 容器;是则返回方块资源ID或配置ID
- 具体使用案例如下:
lua
local isStorage = WorldContainer:CheckStorage(x, y, z, WorldId)ClearStorageBox
- 参数及类型:
- 返回值及类型:
- ret:
boolean是否清空成功
- ret:
- 该方法的其他说明: 清空指定坐标储物箱内所有物品
- 具体使用案例如下:
lua
local success = WorldContainer:ClearStorageBox(x, y, z, WorldId)CheckStorageEmptyGrid
- 参数及类型:
- 返回值及类型:
- ret:
boolean是否有可用格子
- ret:
- 该方法的其他说明: 检测储物箱是否还有空位或可叠加存放指定道具
- 具体使用案例如下:
lua
local isEmpty = WorldContainer:CheckStorageEmptyGrid(x, y, z, 100, WorldId)SetStorageItem
- 参数及类型:
- 返回值及类型:
- ret:
boolean是否设置成功
- ret:
- 该方法的其他说明: 按格子索引直接设置储物箱内道具与数量
- 具体使用案例如下:
lua
local success = WorldContainer:SetStorageItem(x, y, z, 3, 12500, 10, WorldId)GetStorageItem
- 参数及类型:
- 返回值及类型: ret:itemid:number|string|nil,num:number|nil:道具ID与数量(失败返回nil)
- 该方法的其他说明: 读取储物箱指定格子的道具ID与数量
- 具体使用案例如下:
lua
local itemId, num = WorldContainer:GetStorageItem(x, y, z, 1, WorldId)AddStorageItem
- 参数及类型:
- 返回值及类型:
- 该方法的其他说明: 向储物箱按堆叠规则添加道具,返回实际加入的数量
- 具体使用案例如下:
lua
local addNum = WorldContainer:AddStorageItem(x, y, z, 12507, 10, WorldId)RemoveStorageItemByID
- 参数及类型:
- 返回值及类型:
- ret:
boolean是否执行成功
- ret:
- 该方法的其他说明: 从储物箱中按道具类型移除指定数量(num 缺省或极大时表示尽量清空该类型)
- 具体使用案例如下:
lua
local isSuccess = WorldContainer:RemoveStorageItemByID(x, y, z, 12507, 3, WorldId)RemoveStorageItemByIndex
- 参数及类型:
- 返回值及类型:
- ret:
boolean是否移除成功
- ret:
- 该方法的其他说明: 从储物箱指定格子移除一定数量道具
- 具体使用案例如下:
lua
local isSuccess = WorldContainer:RemoveStorageItemByIndex(x, y, z, 1, 5, WorldId)AddItemToContainer
- 参数及类型:
- 返回值及类型:
- 该方法的其他说明: 向储物箱添加道具;成功返回本次实际加入数量
- 具体使用案例如下:
lua
local addNum = WorldContainer:AddItemToContainer(x, y, z, 12500, 10, WorldId)RemoveContainerItemByID
- 参数及类型:
- 返回值及类型:
- ret:
boolean是否移除成功
- ret:
- 该方法的其他说明: 移除储物箱中一定数量道具
- 具体使用案例如下:
lua
local isSuccess = WorldContainer:RemoveContainerItemByID(x, y, z, 12500, 5, WorldId)ClearContainer
- 参数及类型:
- 返回值及类型:
- ret:
boolean是否清空成功
- ret:
- 该方法的其他说明: 清空指定坐标上通用容器内所有物品
- 具体使用案例如下:
lua
local success = WorldContainer:ClearContainer(x, y, z, WorldId)AddWorldStorageItems
- 参数及类型:
- 返回值及类型:
- ret:
number累计成功添加数量
- ret:
- 该方法的其他说明: 批量向储物箱添加多组道具(每项含 itemId、itemNum),返回累计成功添加的总数量
- 具体使用案例如下:
lua
local addNum = WorldContainer:AddWorldStorageItems(x, y, z, {{itemId = 12541, itemNum = 10}}, WorldId)GetStorageItemInstanceId
- 参数及类型:
- 返回值及类型:
- ret:
string/ nil 实例ID(无则返回nil)
- ret:
- 该方法的其他说明: 读取储物箱某格道具的实例ID字符串(仅当格子含实例数据时有效)
- 具体使用案例如下:
lua
local ret = WorldContainer:GetStorageItemInstanceId(x, y, z, offset, worldId)GetAllStorageItemInstanceIds
- 参数及类型:
- 返回值及类型:
- ret:
table/ nil 实例ID字符串数组(失败返回nil)
- ret:
- 该方法的其他说明: 枚举储物箱内所有带实例ID的格子,收集实例ID列表(仅含通过接口创建的实例道具)
- 具体使用案例如下:
lua
local ret = WorldContainer:GetAllStorageItemInstanceIds(x, y, z, worldId)SwapContainerItem
- 参数及类型:
- 返回值及类型:
- ret:
boolean/ nil 是否成功(坐标无方块等可能返回nil)
- ret:
- 该方法的其他说明: 在玩家背包与指定坐标的储物箱或熔炉之间移动或交换道具
- 具体使用案例如下:
lua
local ret = WorldContainer:SwapContainerItem(x, y, z, 1,uin, BackpackBeginIndex.Shortcut)GetGridAttr
- 参数及类型:
- 返回值及类型:
- ret:
number属性值
- ret:
- 该方法的其他说明: 获取格子属性
- 具体使用案例如下:
lua
local num = WorldContainer:GetGridAttr(x, y, z, 1, GridAttr.ItemNum)