特点
允许玩家拥有为他们提供额外库存空间的背包。- 每个玩家的可自定义容量 (使用权限)
- 死亡时丢弃或擦除背包内容的选项
- 在地图擦除上清除背包内容的选项
- 可选项目限制
- 用于访问背包的可选GUI按钮
- 可选地自动收集新获得的物品到你的背包
- 可选地从您的背包中自动检索物品,用于制作,建筑等。
快速启动
允许玩家打开背包
允许所有玩家要使用背包,请运行以下命令。o.grant group default backpacks.use
这将允许所有玩家打开他们的背包/backpack聊天命令或backpack控制台命令。默认情况下,所有背包都有6个容量插槽 (1行),但可以在配置和分配权限中进行更改。
允许玩家使用GUI按钮
允许所有玩家要查看背包GUI按钮,请运行以下命令。o.grant group default backpacks.gui
玩家可以点击该按钮 (在他们的腰带旁边) 来打开和关闭他们的背包。他们还可以运行/backpackgui聊天命令隐藏或显示按钮。如果您想在默认情况下禁用该按钮,以便玩家必须明确启用它,则可以在配置中这样做。
或者,不要在这个插件中启用GUI按钮,可以考虑使用背包按钮插件更高级的功能。
命令
此插件使用相同的语法提供聊天和控制台命令。在聊天中使用命令时,请在其前面加上正斜杠: “/”。- backpack/backpack.open-打开自己的背包。需要backpacks.use许可。如果背包已经打开,这将前进到下一页,或者如果没有更多的页面,将关闭播放器库存。
- backpack.fetch <item short name or id> <amount>-从背包中取出一件物品。
- backpackgui-切换是否可以看到背包GUI按钮。
- backpack.setgathermode <All|Existing|Off> <optional page number>-- 为指定的背包页面设置收集模式。如果未指定页码,则适用于第一页。此命令可用于通过键绑定快速更改收集模式,而无需打开背包。注意: 如果您想通过聊天而不是通过控制台始终收到此命令的反馈,则应将其绑定为bind <key> chat.say "/backpack.setgathermode All"而不是bind <key> backpack.setgathermode All。
管理命令
- viewbackpack <name or steam id>-打开另一个玩家的背包 (需要backpacks.admin许可)
- backpack.addsize <name or steam id> <amount>-尝试将指定玩家的背包的大小更改指定的数量,而不会超出玩家的大小配置文件的范围。这可用于通过提供负数来降低容量。需要在配置中启用实验动态大小功能。
- backpack.setsize <name or steam id> <amount>-尝试将玩家背包的大小设置为指定的数量,而不会超出玩家的大小配置文件的范围。需要在配置中启用实验动态大小功能。
服务器命令
- backpack.erase <steam id>-强行擦除全部特定玩家背包的内容,即使他们有backpack.keeponwipe.*通常会免除他们的权限。
权限
此插件使用权限系统。要分配权限,请使用oxide.grant <user or group> <name or steam id> <permission>。要删除权限,请使用oxide.revoke <user or group> <name or steam id> <permission>。- backpacks.use-需要打开自己的背包。
- backpacks.admin-- 需要使用viewbackpack,backpack.addsize和backpack.setsize命令。
- backpacks.gui-- 需要看到GUI按钮。
- backpacks.fetch-- 需要使用backpack.fetch命令。
- backpacks.keepondeath-免除您因死亡而被删除或掉落的背包。
- backpacks.gather-允许您启用每个背包页面的收集模式,该模式会自动将新获得的库存物品转移到您的背包中。
- 备注: 当您断开与服务器的连接并在一段时间后重新连接时,聚集模式将不会激活,直到您至少打开一次背包。
- backpacks.retrieve-- 允许您启用每个背包页面的检索模式。启用检索模式后,您可以使用指定背包页面中的物品进行构建,制作等操作。需要项目检索器插件。
- 备注: 当您断开与服务器的连接并在一段时间后重新连接时,检索模式将不会激活,直到您至少打开一次背包。此外,重装武器弹药,交换武器弹药,从自动售货机购买物品,从NPC供应商购买车辆将无法从页面中提取项目,直到您在 (重新) 连接到服务器后至少访问这些特定页面一次。
大小权限
如果您想授予特定玩家或团体比默认 (Backpack size->Default size),那么您可以通过权限执行此操作。中存在的每个数字Backpack size->Permission sizes配置选项将导致插件生成格式的权限backpacks.size.<number>,它分配给相应的玩家或组那么多的容量。例如,backpacks.size.18将分配18个插槽的容量 (3行)。以下权限随插件的默认配置。
- backpacks.size.6-- 1行
- backpacks.size.12-- 2行
- backpacks.size.18-- 3行
- backpacks.size.24-- 4行
- backpacks.size.30-- 5行
- backpacks.size.36-- 6行
- backpacks.size.42-- 7行
- backpacks.size.48-- 8行
- backpacks.size.96-- 16行 (2 + 页)
- backpacks.size.144-24行 (3 + 页)
注:如果玩家被授予多个大小权限,则将应用最高权限。
动态尺寸 (高级/实验)
如果您想允许玩家升级背包的大小,可以通过backpacks.size.*上面的权限,通过简单地授予更高的权限,因为玩家进行购买或执行操作以获得更大的尺寸 (您负责使用其他插件在适当的时间授予和/或撤销权限)。但是,使用权限来确定背包大小并不是最适合所有类型的服务器,导致下面的一些示例问题。- 如果您希望在每次擦除开始时重置背包大小,则需要另一个插件来重置当时的权限。
- 如果你想让玩家增加他们的背包大小多种方式,如通过技能树,通过商店购买,通过发现和/或玩家之间的交易消耗品,这种组合是不可行的,因为每个升级源可能会覆盖其他升级源,或者如果授予的权限对应的大小比玩家当前拥有的更小,则不会产生任何影响。
为了开始使用动态背包大小,请将Dynamic Size (EXPERIMENTAL)->Enabled配置选项到true并重新加载插件。然后,授予以下权限之一 (或您在配置中定义的新权限)
以下权限随插件的默认配置。可以在配置文件中定义其他大小配置文件,这将生成额外的权限。
- backpacks.size.profile.6-48-- 6至48个插槽
- backpacks.size.profile.6-96-- 6至96个插槽
- backpacks.size.profile.6-144-- 6至144个插槽
- 如果玩家被授予多个backpacks.size.profile.*权限,最后将根据配置文件中的配置文件顺序应用。
- 如果玩家被授予任何backpacks.size.profile.*权限,它将覆盖配置中的默认背包大小,以及任何backpacks.size.<number>他们被授予的权限,因为大小配置文件优先于所有其他配置/权限。
- 此插件目前不提供内置功能来升级背包容量,因此必须将其他插件用于此类用例。有关如何查询和修改背包容量的详细信息,插件开发人员可以参考下面的API文档。值得注意的API方法名称如下。
- API_IsDynamicCapacityEnabled
- API_GetBackpackCapacity
- API_GetBackpackInitialCapacity
- API_GetBackpackMaxCapacity
- API_AddBackpackCapacity
- API_SetBackpackCapacity
- 其他插件可以使用backpack.addsize和backpack.setsize命令,但取决于您的确切设置,这可能会允许玩家在已经达到最大容量时可以有效地浪费资源来购买升级的情况。建议使用api进行更精确的集成,因为其他插件可以查询背包插件,以确定在向播放器充电之前是否可以进行升级。
项目限制权限
如果您想允许特定玩家或团体的背包接受与默认 (Item restrictions->Default ruleset),那么您可以通过权限执行此操作。中定义的每个规则集Item restrictions->Rulesets by permission配置选项将导致插件生成格式的权限backpacks.restrictions.<name>。授予该权限会将该规则集分配给相应的玩家或组。以下权限随插件的默认配置。可以在配置中定义其他项目限制规则集,这将生成其他权限。
- backpacks.restrictions.allowall-允许玩家背包中的所有物品。只有在自定义默认规则集以限制项目时才有用。
保留擦除权限
如果您想允许特定玩家或团体的背包在擦拭时保留不同的项目,而不是默认的 (Clear on wipe>Default ruleset),那么您可以通过权限执行此操作。中定义的每个规则集Clear on wipe>Rulesets by permission配置选项将导致插件生成格式的权限backpacks.keeponwipe.<name>。授予该权限会将该规则集分配给相应的玩家或组。以下权限随插件的默认配置。可以在配置中定义其他keep-on-wipe规则集,这将生成其他权限。
- backpacks.keeponwipe.all-允许将所有物品保存在湿巾上。
旧版权限
为了向后兼容,该插件仍支持以下权限,但建议您使用较新的权限。- backpacks.use.1 - 8-- 喜欢backpacks.size.*但分配指定的行数而不是插槽数。
- 这些权限将在"Backpack size">"Enable legacy backpacks.use.1-8 row permissions": true设置了config选项,从以前版本的插件升级时,该选项将自动添加到您的配置中,如果您有"Backpack Size (1-8 Rows)"此时设置的配置选项。
- 推荐的替代方案:backpacks.size.6通过backpacks.size.48(存在于默认配置中,但可能不存在,具体取决于您如何修改配置)
- backpacks.noblacklist-免除玩家的物品限制,允许将任何物品放在背包中。
- 此权限存在时"Item restrictions">"Enable legacy noblacklist permission": true设置了config选项,从以前版本的插件升级时,该选项将自动添加到您的配置中,如果您有"Use Whitelist (true/false)": true或"Use Blacklist (true/false)": true此时设置的配置选项。
- 推荐的替代方案:backpacks.restrictions.allowall(存在于默认配置中,但可能不存在,具体取决于您如何修改配置)
- backpacks.keeponwipe-免除玩家在地图擦除上删除其背包内容。
- 此权限存在时"Clear on wipe">"Enable legacy keeponwipe permission": true设置了config选项,从以前版本的插件升级时,该选项将自动添加到您的配置中,如果您有"Clear Backpacks on Map-Wipe (true/false)": true此时设置的配置选项。
- 推荐的替代方案:backpacks.keeponwipe.all(存在于默认配置中,但可能不存在,具体取决于您如何修改配置)
配置
设置和选项可以在Backpacks文件下的config目录。建议使用编辑器和验证程序,以避免格式问题和语法错误。默认配置:
代码:
{
"Backpack size": {
"Default size": 6,
"Max size per page": 48,
"Enable legacy backpacks.use.1-8 row permissions": false,
"Permission sizes": [
6,
12,
18,
24,
30,
36,
42,
48,
96,
144
],
"Dynamic Size (EXPERIMENTAL)": {
"Enabled": false,
"Size profiles": [
{
"Permission suffix": "6-48",
"Initial size": 6,
"Max size": 48
},
{
"Permission suffix": "6-96",
"Initial size": 6,
"Max size": 96
},
{
"Permission suffix": "6-144",
"Initial size": 6,
"Max size": 144
}
]
},
},
"Drop on Death (true/false)": true,
"Erase on Death (true/false)": false,
"Minimum Despawn Time (Seconds)": 300.0,
"GUI Button": {
"Enabled": true,
"Enabled by default (for players with permission)": true,
"Skin Id": 3050418770,
"Image": "",
"Background Color": "0.969 0.922 0.882 0.035",
"GUI Button Position": {
"Anchors Min": "0.5 0.0",
"Anchors Max": "0.5 0.0",
"Offsets Min": "185 18",
"Offsets Max": "245 78"
}
},
"Container UI": {
"Show page buttons on container bar": false,
"Max page buttons to show": 8
},
"Softcore": {
"Reclaim Fraction": 0.5
},
"Item restrictions": {
"Enabled": false,
"Enable legacy noblacklist permission": false,
"Feedback effect": "assets/prefabs/locks/keypad/effects/lock.code.denied.prefab",
"Default ruleset": {
"Allowed item categories": [
"All"
],
"Disallowed item categories": [],
"Allowed item short names": [],
"Disallowed item short names": [],
"Allowed skin IDs": [],
"Disallowed skin IDs": []
},
"Rulesets by permission": [
{
"Name": "allowall",
"Allowed item categories": [
"All"
],
"Disallowed item categories": [],
"Allowed item short names": [],
"Disallowed item short names": [],
"Allowed skin IDs": [],
"Disallowed skin IDs": []
}
]
},
"Clear on wipe": {
"Enabled": false,
"Enable legacy keeponwipe permission": false,
"Default ruleset": {
"Max slots to keep": 0,
"Allowed item categories": [],
"Disallowed item categories": [],
"Allowed item short names": [],
"Disallowed item short names": [],
"Allowed skin IDs": [],
"Disallowed skin IDs": []
},
"Rulesets by permission": [
{
"Name": "all",
"Max slots to keep": -1,
"Allowed item categories": [
"All"
],
"Disallowed item categories": [],
"Allowed item short names": [],
"Disallowed item short names": [],
"Allowed skin IDs": [],
"Disallowed skin IDs": []
}
]
},
}