迷你世界UGC3.0脚本Wiki背包模块管理接口 Backpack

迷你世界UGC3.0脚本Wiki


Menu
On this page
Sidebar Navigation
快速入门
欢迎

MOD、组件介绍

什么是Lua编程

组件介绍
组件说明

组件函数

组件属性

事件
触发器事件管理

组件事件管理

函数库
服务模块
世界模块管理接口 World

对象模块管理接口 GameObject

角色模块管理接口 Actor

玩家模块管理接口 Player

生物模块管理接口 Monster

方块模块管理接口 Block

道具模块管理接口 Item

背包模块管理接口 Backpack

界面模块管理接口 CustomUI

图文信息模块管理接口 Graphics

区域模块管理接口 Area

容器模块管理接口 WorldContainer

资源模块管理接口 Mod

计时器模块管理接口 Timer

状态模块管理接口 Buff

消息模块管理接口 Chat

普通变量数据管理接口 Data

数组变量数据管理接口 Array

二维表变量数据管理接口 Table

云服模块管理接口 CloudSever

全局函数
全局函数

枚举
枚举库

脚本常见问题
开发者常见问题

进阶指南
全局函数

触发器脚本交互

对象介绍

二维表介绍

更新日志
更新日志

背包模块管理接口 Backpack
具体函数名及描述如下:

序号    函数名    函数描述
1    SetGridItem(...)    设置背包格道具
2    RemoveGridItem(...)    移除背包格内一定数量道具
3    RemoveGridItemByItemID(...)    移除背包内一定数量道具,通过道具ID移除,默认全部移除
4    ClearPack(...)    清空指定背包栏
5    ClearAllPack(...)    清空全部背包(包含背包栏、快捷栏、装备栏)
6    MoveGridItem(...)    移动背包道具,默认全部转移
7    SwapGridItem(...)    交换背包道具
8    EnoughSpaceForItem(...)    背包(包含背包栏、快捷栏)是否有足够的空间存放一定数量的道具
9    CalcSpaceNumForItem(...)    计算背包(包含背包栏、快捷栏)能存放的道具剩余总数量
10    HasItemByBackpackBar(...)    检测背包是否持有某个道具
11    GetItemNumByBackpackBar(...)    获取背包持有某个道具总数量,同时返回装有道具的背包格数组
12    GetItemNum(...)    获取背包持有某个道具总数量,同时返回装有道具的背包格数组
13    GetGridItemID(...)    获取背包格道具ID(返回itemid, num)
14    GetGridItemName(...)    获取背包格道具名称
15    AddItem(...)    添加道具到背包
16    DiscardItemByID(...)    丢弃背包某个格子里的道具
17    ActEquipUpByResID(...)    玩家穿上装备
18    ActEquipOffByEquipID(...)    玩家脱下装备栏装备
19    ActDestructEquip(...)    销毁装备
20    CreateItem(...)    创建道具到玩家背包
21    PlayShortCutIxEffect(...)    在手持道具上播放特效
22    PlayShortCutIxParticle(...)    在手持道具上播放特效
23    StopShortCutIxEffect(...)    停止手持道具上播放特效
24    PlayShortCutItemParticle(...)    playerid:number:玩家ID,itemid:number:道具类型,effectid:number:特效ID,offset:table:偏移
25    StopShortCutItemEffect(...)    删除玩家快捷栏上某种类型道具手持特效
SetGridItem
参数及类型:
playerid:number玩家ID
gridid:number格子ID
itemid:number,string道具类型
num:number道具数量(默认1)
durability:number耐久值(默认1)
返回值及类型:
ret:boolean是否成功
该方法的主要作用: 设置背包格道具
具体使用案例如下:

    local playerid = Player:GetHostUin()

    -- 设置快捷栏第一个格子为100,数量为3

    local result = Backpack:SetGridItem(playerid, BackpackBeginIndex.Shortcut, 100, 3)
RemoveGridItem
参数及类型:
playerid:number玩家ID
gridid:number格子ID
num:number道具数量(默认全部移除)
返回值及类型:
ret:boolean是否成功
该方法的主要作用: 移除背包格内一定数量道具
具体使用案例如下:

    local playerid = Player:GetHostUin()

    -- 移除快捷栏第一个格内1个道具

    local result = Backpack:RemoveGridItem(playerid, BackpackBeginIndex.Shortcut, 1)
RemoveGridItemByItemID
参数及类型:
playerid:number玩家ID
itemid:number,string道具类型
num:number道具数量
返回值及类型:
ret:number移除数量(ret and ret> 0 成功)
该方法的主要作用: 移除背包内一定数量道具,通过道具ID移除,默认全部移除
具体使用案例如下:

    local playerid = Player:GetHostUin()

    -- 移除背包内 5个草块

    local result = Backpack:RemoveGridItemByItemID(playerid, 100, 5)

    -- 移除背包内 全部草块

    local resul2t = Backpack:RemoveGridItemByItemID(playerid, 100)
ClearPack
参数及类型:
playerid:number玩家ID
bartype:number快捷栏枚举(BackpackType)BackpackType
返回值及类型:
ret:boolean是否成功
该方法的主要作用: 清空指定背包栏
具体使用案例如下:

    local playerid = Player:GetHostUin()

    -- 清除快捷栏全部道具

    Backpack:ClearPack(playerid, BackpackType.Shortcut)
ClearAllPack
参数及类型:
playerid:number玩家ID
返回值及类型:
ret:boolean是否成功
该方法的主要作用: 清空全部背包(包含背包栏、快捷栏、装备栏)
具体使用案例如下:

    local result = Backpack:ClearAllPack(Player:GetHostUin())
MoveGridItem
参数及类型:
playerid:number玩家ID
gridsrc:number移动格子ID
griddst:number移动至的目标格子ID
num:number道具数量(默认全部)
返回值及类型:
ret:boolean是否成功
该方法的主要作用: 移动背包道具,默认全部转移
具体使用案例如下:

    -- 移动快捷栏第一个格子到第二个格子

    local result = Backpack:MoveGridItem(playerid, BackpackBeginIndex.Shortcut, BackpackBeginIndex.Shortcut + 1)
SwapGridItem
参数及类型:
playerid:number玩家ID
gridsrc:number交换格子ID1
griddst:number交换格子ID2
返回值及类型:
ret:boolean是否成功
该方法的主要作用: 交换背包道具
具体使用案例如下:

    local playerid = Player:GetHostUin()

    -- 交换快捷栏第一个格子和第二个格子

    local result = Backpack:SwapGridItem(playerid, BackpackBeginIndex.Shortcut, BackpackBeginIndex.Shortcut + 1)
EnoughSpaceForItem
参数及类型:
playerid:number玩家ID
itemid:number,string道具类型
num:number道具数量(默认1)
返回值及类型:
ret:boolean是否成功
该方法的主要作用: 背包(包含背包栏、快捷栏)是否有足够的空间存放一定数量的道具
具体使用案例如下:

    local playerid = Player:GetHostUin()

    local result = Backpack:EnoughSpaceForItem(playerid, 12005, 1)
CalcSpaceNumForItem
参数及类型:
playerid:number玩家ID
itemid:number,string道具类型
返回值及类型:
leftNum:number可以存放的数量
该方法的主要作用: 计算背包(包含背包栏、快捷栏)能存放的道具剩余总数量
具体使用案例如下:

    local playerid = Player:GetHostUin()

    local spaceNum = Backpack:CalcSpaceNumForItem(playerid, 12005)
HasItemByBackpackBar
参数及类型:
playerid:number玩家ID
bartype:number快捷栏枚举(BackpackType)BackpackType
itemid:number,string道具类型
返回值及类型:
ret:boolean是否成功
该方法的主要作用: 检测背包是否持有某个道具
具体使用案例如下:

    -- 快捷栏是否有草块

    local result = Backpack:HasItemByBackpackBar(playerid, BackpackType.Shortcut, 100)
GetItemNumByBackpackBar
参数及类型:
playerid:number玩家ID
bartype:number快捷栏枚举(BackpackType)BackpackType
itemid:number,string道具类型
返回值及类型:
num:number道具数量
arr:table格子ID数组
该方法的主要作用: 获取背包持有某个道具总数量,同时返回装有道具的背包格数组
具体使用案例如下:

    local itemNum, grids = Backpack:GetItemNumByBackpackBar(playerid, BackpackType.Shortcut, 100)
GetItemNum
参数及类型:
playerid:number玩家ID
itemid:number,string道具类型
isAddEquip:boolean是否添加装备栏(默认false)
返回值及类型:
num:number道具数量
arr:table格子ID数组
该方法的主要作用: 获取背包持有某个道具总数量,同时返回装有道具的背包格数组
具体使用案例如下:

    -- 获取道具的数量,包含装备栏

    local itemNum = Backpack:GetItemNum(playerid, 12202)

    -- 获取道具的数量,不包含装备栏

    local itemNum2 = Backpack:GetItemNum(playerid, 12202, false)
GetGridItemID
参数及类型:
playerid:number玩家ID
gridid:number格子ID
返回值及类型:
itemid:number,string道具类型
num:number道具数量
该方法的主要作用: 获取背包格道具ID(返回itemid, num)
具体使用案例如下:

    local playerid = Player:GetHostUin()

    local gridItemID = Backpack:GetGridItemID(playerid, BackpackBeginIndex.Shortcut)
GetGridItemName
参数及类型:
playerid:number玩家ID
gridid:number格子ID
返回值及类型:
name:string道具名称
该方法的主要作用: 获取背包格道具名称
具体使用案例如下:

    -- 获取快捷栏第一个格子物品名称

    local gridItemName = Backpack:GetGridItemName(playerid, BackpackBeginIndex.Shortcut)
AddItem
参数及类型:
playerid:number玩家ID
itemid:number,string道具类型
num:number道具数量
prioritytype:number优先快捷栏还是背包栏:1优先快捷栏 2优先背包栏(默认1)
返回值及类型:
num:number成功添加的数量
该方法的主要作用: 添加道具到背包
具体使用案例如下:

    local playerid = Player:GetHostUin()

    -- 创建物品,只添加能放入的数量

    local successNum = Backpack:AddItem(playerid, 100, 10)
DiscardItemByID
参数及类型:
playerid:number玩家ID
gridid:number格子ID
itemnum:number道具数量
返回值及类型:
code:boolean是否成功
该方法的主要作用: 丢弃背包某个格子里的道具
具体使用案例如下:

    local playerid = Player:GetHostUin()

    local result = Backpack:DiscardItemByID(playerid, 12005)

    local result2 = Backpack:DiscardItemByID(playerid, "r2_7485931052202679286_22924")
ActEquipUpByResID
参数及类型:
playerid:number玩家ID
itemid:number,string道具类型
返回值及类型:
code:boolean是否成功
该方法的主要作用: 玩家穿上装备
具体使用案例如下:

    local playerid = Player:GetHostUin()

    local result = Backpack:ActEquipUpByResID(playerid, 12202)
ActEquipOffByEquipID
参数及类型:
playerid:number玩家ID
equipid:number装备栏ID
返回值及类型:
code:boolean是否成功
该方法的主要作用: 玩家脱下装备栏装备
具体使用案例如下:

    local playerid = Player:GetHostUin()

    -- 卸下装备的皮胸甲

    -- 头盔1(BackpackBeginIndex.Equip),胸甲2,护腿3,靴子4,披风5

    local result = Backpack:ActEquipOffByEquipID(playerid, BackpackBeginIndex.Equip + 1)
ActDestructEquip
参数及类型:
playerid:number玩家ID
equipid:number装备栏ID
返回值及类型:
code:boolean是否成功
该方法的主要作用: 销毁装备
具体使用案例如下:

  -- 销毁装备栏的皮胸甲

    local result = Backpack:ActDestructEquip(playerid, BackpackBeginIndex.Equip + 1)
CreateItem
参数及类型:
playerid:number玩家ID
itemid:number道具类型
itemid:number道具数量
ipos:number优先存放的位置
返回值及类型:
code:bool成功(true)
该方法的主要作用: 创建道具到玩家背包
具体使用案例如下:

    local playerid = Player:GetHostUin()

    -- 创建物品,默认放快捷栏跟背包栏(放不下会掉落在地上)

    Backpack:CreateItem(playerid, 100, 3)

    -- 创建物品,默认放快捷栏(快捷栏放不下会掉落在地上)

    Backpack:CreateItem(playerid, 100, 2, BackpackType.Shortcut)

    -- 创建皮胸甲,直接装备上,装备不上会掉落

    Backpack:CreateItem(playerid, 12202, 1, BackpackType.Equip)
PlayShortCutIxEffect
参数及类型:
playerid:number玩家ID
effectid:number特效ID
scale:number特效缩放
返回值及类型:
code:boolean是否成功
该方法的主要作用: 在手持道具上播放特效
具体使用案例如下:

local code = Backpack:PlayShortCutIxEffect(playerid, effectid, scale)
PlayShortCutIxParticle
参数及类型:
playerid:number玩家ID
effectids:number特效ID
offset:table偏移
rot:table:旋转 scale:table:缩放
返回值及类型:
code:boolean是否成功
该方法的主要作用: 在手持道具上播放特效
具体使用案例如下:

    local playerid = Player:GetHostUin()

    -- 播放手持特效, 偏移量(0, 1, 0), 不旋转, 缩放(2, 2, 2)

    local result = Backpack:PlayShortCutIxParticle(playerid, 1011, {x = 0, y = 1, z = 0}, nil, {x = 2, y = 2, z = 2})
StopShortCutIxEffect
参数及类型:
playerid:number玩家ID
effectid:number特效ID
返回值及类型:
code:boolean是否成功
该方法的主要作用: 停止手持道具上播放特效
具体使用案例如下:

    local playerid = Player:GetHostUin()

    local result = Backpack:StopShortCutIxEffect(playerid, 1011)
PlayShortCutItemParticle
参数及类型: rot:table:旋转 scale:table:缩放
返回值及类型:
code:boolean是否成功
该方法的主要作用: playerid:number:玩家ID,itemid:number:道具类型,effectid:number:特效ID,offset:table:偏移
具体使用案例如下:

    local playerid = Player:GetHostUin()

    -- 播放手持能量剑时候播放特效1011, 不偏移量, 不旋转, 不缩放

    local result = Backpack:PlayShortCutItemParticle(playerid, 12005, 1011)
StopShortCutItemEffect
参数及类型:
playerid:number玩家ID
itemid:number道具类型
effectid:number特效ID
返回值及类型:
code:boolean是否成功
该方法的主要作用: 删除玩家快捷栏上某种类型道具手持特效
具体使用案例如下:

    local playerid = Player:GetHostUin()

    -- 停止手持能量剑时候播放特效1011

    local result = Backpack:StopShortCutItemEffect(playerid, 12005, 1011)
Last updated: 2025/4/16 12:06

Pager
Previous page
道具模块管理接口 Item
Next page
界面模块管理接口 CustomUI

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值