Inventory
背包系统
玩家背包以及背包物品相关操作枚举列表
Inventory.EQUIP_INDEX
- 描述: 装备栏下标
| 成员名称 | 成员说明 |
|---|---|
| Main | 主武器 |
| Sub | 副武器 |
函数列表
GenerateDropItem
-
描述: 在指定位置创建多个可拾取进背包的掉落物
-
范围: 服务端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| ItemId | number | 物品Id |
| Count | number | 生成掉落物数量 |
| Pos | Engine.Vector | 生成掉落物位置坐标 |
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| success | boolean | 掉落物是否生成成功 |
local pos = Engine.Vector(0, 0, 200)Inventory:GenerateDropItem(100700001, 1, pos)GenerateDropCustomItem
-
描述: 在指定位置创建多个可拾取进背包的自定义物品掉落物
-
范围: 服务端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| ItemId | string | 自定义物品的”物品ID”,在自定义物品的编辑面板-实例信息中查看 |
| Count | number | 生成掉落物数量 |
| Pos | Engine.Vector | 生成掉落物位置坐标 |
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| success | boolean | 掉落物是否生成成功 |
local pos = Engine.Vector(0, 0, 200)Inventory:GenerateDropCustomItem("lw340", 1, pos)ClearAllDropItems
-
描述: 清除所有掉落物
-
范围: 服务端
local pos = Engine.Vector(0, 0, 200)Inventory:GenerateDropItem(100700001, 1, pos)TimerManager:AddTimer(3, function() Inventory:ClearAllDropItems()end)AddItem
-
描述: 给玩家背包添加指定数量的某物品。
-
范围: 服务端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PlayerId | number | 玩家ID |
| ItemId | number | 物品Id |
| Count | number | 背包物品数量 |
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| addCount | number | 添加进背包的物品数量,0表示添加失败 |
local playerIds = Character:GetAllPlayerIds()for _, v in ipairs(playerIds) do local addCount = Inventory:AddItem(v, 100700001, 1)endRemoveItem
-
描述: 给玩家扣除指定数量的某物品。
-
范围: 服务端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PlayerId | number | 玩家ID |
| ItemId | number | 物品Id |
| Count | number | 背包物品数量 |
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| count | number | 背包扣除的物品数量,0表示扣除失败 |
local playerIds = Character:GetAllPlayerIds()for _, v in ipairs(playerIds) do local addCount = Inventory:AddItem(v, 100700001 2) TimerManager:AddTimer(3, function() local removeCount = Inventory:RemoveItem(v, 100700001, 1) end)endAddCustomItem
-
描述: 给玩家背包添加指定数量的某自定义物品。
-
范围: 服务端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PlayerId | number | 玩家ID |
| ItemId | string | 自定义物品的”物品ID”,在自定义物品的编辑面板-实例信息中查看 |
| Count | number | 背包物品数量 |
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| addCount | number | 添加进背包的物品数量,0表示添加失败 |
local playerIds = Character:GetAllPlayerIds()for _, v in ipairs(playerIds) do local addCount = Inventory:AddCustomItem(v, "lw340", 1)endRemoveCustomItem
-
描述: 给玩家扣除指定数量的某自定义物品。
-
范围: 服务端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PlayerId | number | 玩家ID |
| ItemId | string | 自定义物品的”物品ID”,在自定义物品的编辑面板-实例信息中查看 |
| Count | number | 背包物品数量 |
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| count | number | 背包扣除的物品数量,0表示扣除失败 |
local playerIds = Character:GetAllPlayerIds()for _, v in ipairs(playerIds) do local addCount = Inventory:AddItem(v, 100700001 2) TimerManager:AddTimer(3, function() local removeCount = Inventory:RemoveCustomItem(v, "lw340", 1) end)endClearBag
-
描述: 清空玩家组的背包。
-
范围: 服务端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PlayerId | number | 玩家ID |
local playerIds = Character:GetAllPlayerIds()for _, v in ipairs(playerIds) do local addCount = Inventory:AddItem(v, 100700001 2) TimerManager:AddTimer(3, function() Inventory:ClearBag(v) end)endGetItemInfo
-
描述: 获取物品基础信息
-
范围: 服务端、客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| ItemId | number | 物品Id |
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| itemInfo | {name:string,desc:string,icon:number} | 物品信息,{name - 物品名称, desc - 物品描述, icon - 物品图标} |
local itemInfo = Inventory:GetItemInfo(100100001)GetItemCount
-
描述: 获取背包物品数量
-
范围: 服务端、客户端
-
警告: 客户端只能获取到自身背包物品数量
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PlayerId | number | 玩家ID |
| ItemId | number | 物品Id |
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| count | number | 背包物品数量 |
local count = Inventory:GetItemCount(playerId, 100100001)GetAllItem
-
描述: 获取背包所有物品
-
范围: 服务端、客户端
-
警告: 客户端只能获取到自身背包物品
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PlayerId | number | 玩家ID |
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| items | {slot:number,itemId:number|string,count:number,isCustom:boolean}[] | 背包物品数组,数组值-{slot-背包格子位置, itemId-物品类型ID, count-物品数量, isCustom-是否为自定义物品} |
local items = Inventory:GetAllItem(playerId)SwitchEquipByIndex
-
描述: 切换装备栏
-
范围: 客户端
-
警告: 需要在【地图设置】-【玩法设置】中切换【武器槽样式】为双武器
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| Index | Inventory.EQUIP_INDEX | 装备栏下标 |
Inventory:SwitchEquipByIndex(Inventory.EQUIP_INDEX.Main)SetSellable
-
描述: 设置物品是否可出售
-
范围: 服务端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| itemId | number|string | 物品Id 自定义物品的”物品ID”,在自定义物品的编辑面板-实例信息中查看 |
| isSellable | boolean | 是否可出售 |
Inventory:SetSellable(100100001, true)GetSellable
-
描述: 获取物品是否可出售
-
范围: 服务端 客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| itemId | number|string | 物品Id 自定义物品的”物品ID”,在自定义物品的编辑面板-实例信息中查看 |
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| isSellable | boolean | 是否可出售 |
Log:PrintLog("Sellable ",Inventory:GetSellable(100100001))SetDroppable
-
描述: 设置物品是否可丢弃
-
范围: 服务端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| itemId | number|string | 物品Id 自定义物品的”物品ID”,在自定义物品的编辑面板-实例信息中查看 |
| isDroppable | boolean | 是否可丢弃 |
Inventory:SetDroppable(100100001, true)GetDroppable
-
描述: 获取物品是否可丢弃
-
范围: 服务端 客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| itemId | number|string | 物品Id 自定义物品的”物品ID”,在自定义物品的编辑面板-实例信息中查看 |
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| isDroppable | boolean | 是否可丢弃 |
Log:PrintLog("Droppable ",Inventory:GetDroppable(100100001))SetUsable
-
描述: 设置物品是否可使用
-
范围: 服务端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| itemId | number|string | 物品Id 自定义物品的”物品ID”,在自定义物品的编辑面板-实例信息中查看 |
| isUsable | boolean | 是否可使用 |
Inventory:SetUsable(100100001, false)GetUsable
-
描述: 获取物品是否可使用
-
范围: 服务端 客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| itemId | number|string | 物品Id 自定义物品的”物品ID”,在自定义物品的编辑面板-实例信息中查看 |
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| isUsable | boolean | 是否可使用 |
Log:PrintLog("Usable ",Inventory:GetUsable(100100001))SetValue
-
描述: 设置物品价格
-
范围: 服务端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| itemId | number|string | 物品Id 自定义物品的”物品ID”,在自定义物品的编辑面板-实例信息中查看 |
| value | number | 价格 |
Inventory:SetValue(100100001, 100)GetValue
-
描述: 获取物品价格
-
范围: 服务端 客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| itemId | number|string | 物品Id 自定义物品的”物品ID”,在自定义物品的编辑面板-实例信息中查看 |
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| value | number | 价格 |
Log:PrintLog("Value ",Inventory:GetValue(100100001))SetSellCoin
-
描述: 设置物品价值对应货币
-
范围: 服务端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| itemId | number|string | 物品Id 自定义物品的”物品ID”,在自定义物品的编辑面板-实例信息中查看 |
| coinId | number | 货币Id |
Inventory:SetSellCoin(100100001, 101004)GetSellCoin
-
描述: 获取物品价值对应货币
-
范围: 服务端 客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| itemId | number|string | 物品Id 自定义物品的”物品ID”,在自定义物品的编辑面板-实例信息中查看 |
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| coinId | number | 货币Id |
Log:PrintLog("SellCoin ",Inventory:GetSellCoin(100100001))UseItem
-
描述: 使用物品,可以使用药品以及玩法物品,药品使用需要读条一次只能使用一个
-
范围: 服务端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| playerId | number | 玩家Id |
| itemId | number|string | 物品Id 自定义物品的”物品ID”,在自定义物品的编辑面板-实例信息中查看 |
| count | number | 使用数量 |
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| isSuccess | boolean | 是否成功使用 |
local isSuccess = Inventory:UseItem(v, 100700001, 1)SellItem
-
描述: 出售物品
-
范围: 服务端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| playerId | number | 玩家Id |
| itemId | number|string | 物品Id 自定义物品的”物品ID”,在自定义物品的编辑面板-实例信息中查看 |
| count | number | 出售数量 |
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| isSuccess | boolean | 是否成功出售 |
local isSuccess = Inventory:SellItem(v, 100700001, 1)DropItem
-
描述: 丢弃物品
-
范围: 服务端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| playerId | number | 玩家Id |
| itemId | number|string | 物品Id 自定义物品的”物品ID”,在自定义物品的编辑面板-实例信息中查看 |
| count | number | 丢弃数量 |
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| isSuccess | boolean | 是否成功丢弃 |
local isSuccess = Inventory:DropItem(v, 100700001, 1)