跳转到内容

Inventory

背包系统

玩家背包以及背包物品相关操作

枚举列表

Inventory.EQUIP_INDEX

  • 描述: 装备栏下标
成员名称成员说明
Main主武器
Sub副武器

函数列表

GenerateDropItem

  • 描述: 在指定位置创建多个可拾取进背包的掉落物

  • 范围: 服务端

参数列表:

参数类型说明
ItemIdnumber物品Id
Countnumber生成掉落物数量
PosEngine.Vector生成掉落物位置坐标

返回字段:

返回字段字段类型说明
successboolean掉落物是否生成成功
local pos = Engine.Vector(0, 0, 200)
Inventory:GenerateDropItem(100700001, 1, pos)

GenerateDropCustomItem

  • 描述: 在指定位置创建多个可拾取进背包的自定义物品掉落物

  • 范围: 服务端

参数列表:

参数类型说明
ItemIdstring自定义物品的”物品ID”,在自定义物品的编辑面板-实例信息中查看
Countnumber生成掉落物数量
PosEngine.Vector生成掉落物位置坐标

返回字段:

返回字段字段类型说明
successboolean掉落物是否生成成功
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

  • 描述: 给玩家背包添加指定数量的某物品。

  • 范围: 服务端

参数列表:

参数类型说明
PlayerIdnumber玩家ID
ItemIdnumber物品Id
Countnumber背包物品数量

返回字段:

返回字段字段类型说明
addCountnumber添加进背包的物品数量,0表示添加失败
local playerIds = Character:GetAllPlayerIds()
for _, v in ipairs(playerIds) do
local addCount = Inventory:AddItem(v, 100700001, 1)
end

RemoveItem

  • 描述: 给玩家扣除指定数量的某物品。

  • 范围: 服务端

参数列表:

参数类型说明
PlayerIdnumber玩家ID
ItemIdnumber物品Id
Countnumber背包物品数量

返回字段:

返回字段字段类型说明
countnumber背包扣除的物品数量,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)
end

AddCustomItem

  • 描述: 给玩家背包添加指定数量的某自定义物品。

  • 范围: 服务端

参数列表:

参数类型说明
PlayerIdnumber玩家ID
ItemIdstring自定义物品的”物品ID”,在自定义物品的编辑面板-实例信息中查看
Countnumber背包物品数量

返回字段:

返回字段字段类型说明
addCountnumber添加进背包的物品数量,0表示添加失败
local playerIds = Character:GetAllPlayerIds()
for _, v in ipairs(playerIds) do
local addCount = Inventory:AddCustomItem(v, "lw340", 1)
end

RemoveCustomItem

  • 描述: 给玩家扣除指定数量的某自定义物品。

  • 范围: 服务端

参数列表:

参数类型说明
PlayerIdnumber玩家ID
ItemIdstring自定义物品的”物品ID”,在自定义物品的编辑面板-实例信息中查看
Countnumber背包物品数量

返回字段:

返回字段字段类型说明
countnumber背包扣除的物品数量,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)
end

ClearBag

  • 描述: 清空玩家组的背包。

  • 范围: 服务端

参数列表:

参数类型说明
PlayerIdnumber玩家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)
end

GetItemInfo

  • 描述: 获取物品基础信息

  • 范围: 服务端、客户端

参数列表:

参数类型说明
ItemIdnumber物品Id

返回字段:

返回字段字段类型说明
itemInfo{name:string,desc:string,icon:number}物品信息,{name - 物品名称, desc - 物品描述, icon - 物品图标}
local itemInfo = Inventory:GetItemInfo(100100001)

GetItemCount

  • 描述: 获取背包物品数量

  • 范围: 服务端、客户端

  • 警告: 客户端只能获取到自身背包物品数量

参数列表:

参数类型说明
PlayerIdnumber玩家ID
ItemIdnumber物品Id

返回字段:

返回字段字段类型说明
countnumber背包物品数量
local count = Inventory:GetItemCount(playerId, 100100001)

GetAllItem

  • 描述: 获取背包所有物品

  • 范围: 服务端、客户端

  • 警告: 客户端只能获取到自身背包物品

参数列表:

参数类型说明
PlayerIdnumber玩家ID

返回字段:

返回字段字段类型说明
items{slot:number,itemId:number|string,count:number,isCustom:boolean}[]背包物品数组,数组值-{slot-背包格子位置, itemId-物品类型ID, count-物品数量, isCustom-是否为自定义物品}
local items = Inventory:GetAllItem(playerId)

SwitchEquipByIndex

  • 描述: 切换装备栏

  • 范围: 客户端

  • 警告: 需要在【地图设置】-【玩法设置】中切换【武器槽样式】为双武器

参数列表:

参数类型说明
IndexInventory.EQUIP_INDEX装备栏下标
Inventory:SwitchEquipByIndex(Inventory.EQUIP_INDEX.Main)

SetSellable

  • 描述: 设置物品是否可出售

  • 范围: 服务端

参数列表:

参数类型说明
itemIdnumber|string物品Id 自定义物品的”物品ID”,在自定义物品的编辑面板-实例信息中查看
isSellableboolean是否可出售
Inventory:SetSellable(100100001, true)

GetSellable

  • 描述: 获取物品是否可出售

  • 范围: 服务端 客户端

参数列表:

参数类型说明
itemIdnumber|string物品Id 自定义物品的”物品ID”,在自定义物品的编辑面板-实例信息中查看

返回字段:

返回字段字段类型说明
isSellableboolean是否可出售
Log:PrintLog("Sellable ",Inventory:GetSellable(100100001))

SetDroppable

  • 描述: 设置物品是否可丢弃

  • 范围: 服务端

参数列表:

参数类型说明
itemIdnumber|string物品Id 自定义物品的”物品ID”,在自定义物品的编辑面板-实例信息中查看
isDroppableboolean是否可丢弃
Inventory:SetDroppable(100100001, true)

GetDroppable

  • 描述: 获取物品是否可丢弃

  • 范围: 服务端 客户端

参数列表:

参数类型说明
itemIdnumber|string物品Id 自定义物品的”物品ID”,在自定义物品的编辑面板-实例信息中查看

返回字段:

返回字段字段类型说明
isDroppableboolean是否可丢弃
Log:PrintLog("Droppable ",Inventory:GetDroppable(100100001))

SetUsable

  • 描述: 设置物品是否可使用

  • 范围: 服务端

参数列表:

参数类型说明
itemIdnumber|string物品Id 自定义物品的”物品ID”,在自定义物品的编辑面板-实例信息中查看
isUsableboolean是否可使用
Inventory:SetUsable(100100001, false)

GetUsable

  • 描述: 获取物品是否可使用

  • 范围: 服务端 客户端

参数列表:

参数类型说明
itemIdnumber|string物品Id 自定义物品的”物品ID”,在自定义物品的编辑面板-实例信息中查看

返回字段:

返回字段字段类型说明
isUsableboolean是否可使用
Log:PrintLog("Usable ",Inventory:GetUsable(100100001))

SetValue

  • 描述: 设置物品价格

  • 范围: 服务端

参数列表:

参数类型说明
itemIdnumber|string物品Id 自定义物品的”物品ID”,在自定义物品的编辑面板-实例信息中查看
valuenumber价格
Inventory:SetValue(100100001, 100)

GetValue

  • 描述: 获取物品价格

  • 范围: 服务端 客户端

参数列表:

参数类型说明
itemIdnumber|string物品Id 自定义物品的”物品ID”,在自定义物品的编辑面板-实例信息中查看

返回字段:

返回字段字段类型说明
valuenumber价格
Log:PrintLog("Value ",Inventory:GetValue(100100001))

SetSellCoin

  • 描述: 设置物品价值对应货币

  • 范围: 服务端

参数列表:

参数类型说明
itemIdnumber|string物品Id 自定义物品的”物品ID”,在自定义物品的编辑面板-实例信息中查看
coinIdnumber货币Id
Inventory:SetSellCoin(100100001, 101004)

GetSellCoin

  • 描述: 获取物品价值对应货币

  • 范围: 服务端 客户端

参数列表:

参数类型说明
itemIdnumber|string物品Id 自定义物品的”物品ID”,在自定义物品的编辑面板-实例信息中查看

返回字段:

返回字段字段类型说明
coinIdnumber货币Id
Log:PrintLog("SellCoin ",Inventory:GetSellCoin(100100001))

UseItem

  • 描述: 使用物品,可以使用药品以及玩法物品,药品使用需要读条一次只能使用一个

  • 范围: 服务端

参数列表:

参数类型说明
playerIdnumber玩家Id
itemIdnumber|string物品Id 自定义物品的”物品ID”,在自定义物品的编辑面板-实例信息中查看
countnumber使用数量

返回字段:

返回字段字段类型说明
isSuccessboolean是否成功使用
local isSuccess = Inventory:UseItem(v, 100700001, 1)

SellItem

  • 描述: 出售物品

  • 范围: 服务端

参数列表:

参数类型说明
playerIdnumber玩家Id
itemIdnumber|string物品Id 自定义物品的”物品ID”,在自定义物品的编辑面板-实例信息中查看
countnumber出售数量

返回字段:

返回字段字段类型说明
isSuccessboolean是否成功出售
local isSuccess = Inventory:SellItem(v, 100700001, 1)

DropItem

  • 描述: 丢弃物品

  • 范围: 服务端

参数列表:

参数类型说明
playerIdnumber玩家Id
itemIdnumber|string物品Id 自定义物品的”物品ID”,在自定义物品的编辑面板-实例信息中查看
countnumber丢弃数量

返回字段:

返回字段字段类型说明
isSuccessboolean是否成功丢弃
local isSuccess = Inventory:DropItem(v, 100700001, 1)