额外的物理背包 Backpacks Backpacks

#精品
额外的物理背包 Backpacks Backpacks

2023-07-16 0 119
资源编号 109 评分:5 最近更新 2023-07-23
¥ 5金币 升级VIP
立即下载 升级会员
下载不了?请联系网站客服提交链接错误!
增值服务:

额外的物理背包 Backpacks Backpacks

额外的物理背包 Backpacks Backpacks

特征
允许玩家拥有背包,为他们提供额外的库存空间。

每个玩家可定制的容量
选择在死亡时删除或删除内容
清除地图擦除的选项
可选项目白名单或黑名单
可选的 GUI 按钮
注意:要绑定打开背包的钥匙,bind b backpack.open请在 F1 客户端控制台中使用:

聊天命令
/backpack— 打开自己的背包
/backpackgui— 切换是否可以看到背包 GUI 按钮
/viewbackpack <name or id>— 打开另一个玩家的背包(需要backpacks.admin许可)
控制台命令
backpack.open— 打开你的背包(用于键绑定,也由 GUI 按钮调用)
backpack.fetch <item short name or id> <amount>— 从你的背包中取出一件物品
服务器命令
backpack.erase <id>— 强制清除特定玩家背包的内容
权限
该插件使用权限系统。要分配权限,请使用

oxide.grant <user or group> <name or steam id> <permission>. 要删除权限,请使用

oxide.revoke <user or group> <name or steam id> <permission>.

backpacks.admin— 需要使用/viewbackpack命令
backpacks.gui— 需要查看 GUI 按钮
backpacks.use— 需要打开自己的背包
backpacks.use.1 – 8— 允许玩家访问一定数量的库存行,覆盖配置的默认大小(例如,backpacks.use.3 为他们提供 3 行物品空间;仍然需要backpacks.use)
backpacks.fetch— 需要使用backpack.fetch命令
backpacks.keepondeath— 玩家死亡时背包不会被擦掉或掉落
backpacks.keeponwipe— 免除玩家的背包在地图擦除时被擦除
backpacks.noblacklist— 免除玩家物品限制(黑名单或白名单)
配置
可以在目录

Backpacks下的文件中配置设置和选项

config。建议使用编辑器和验证器来避免格式​​问题和语法错误。

{
“Drop on Death (true/false)”: true,
“Erase on Death (true/false)”: false,
“Clear Backpacks on Map-Wipe (true/false)”: false,
“Only Save Backpacks on Server-Save (true/false)”: false,
“Use Blacklist (true/false)”: false,
“Blacklisted Items (Item Shortnames)”: [
“autoturret”,
“lmg.m249”
],
“Use Whitelist (true/false)”: false,
“Whitelisted Items (Item Shortnames)”: [],
“Minimum Despawn Time (Seconds)”: 300.0,
“GUI Button”: {
“Image”: “https://i.imgur.com/CyF0QNV.png”,
“Background color (RGBA format)”: “1 0.96 0.88 0.15”,
“GUI Button Position”: {
“Anchors Min”: “0.5 0.0”,
“Anchors Max”: “0.5 0.0”,
“Offsets Min”: “185 18”,
“Offsets Max”: “245 78”
}
},
“Softcore”: {
“Reclaim Fraction”: 0.5
},
“Backpack Size (1-8 Rows)”: 1
}
注意:使用项目白名单时,黑名单被忽略。

背包图标定制
替代背包图片:

右边
左边
普遍的
本土化
默认消息位于目录

Backpacks下的文件中

lang/en。要添加对另一种语言的支持,请创建一个新的语言文件夹(例如

de德语)(如果尚未创建),将默认语言文件复制到新文件夹,然后自定义消息。

{
“No Permission”: “You don’t have permission to use this command.”,
“May Not Open Backpack In Event”: “You may not open a backpack while participating in an event!”,
“View Backpack Syntax”: “Syntax: /viewbackpack <name or id>”,
“User ID not Found”: “Could not find player with ID ‘{0}'”,
“User Name not Found”: “Could not find player with name ‘{0}'”,
“Multiple Players Found”: “Multiple matching players found:\n{0}”,
“Backpack Over Capacity”: “Your backpack was over capacity. Overflowing items were added to your inventory or dropped.”,
“Blacklisted Items Removed”: “Your backpack contained blacklisted items. They have been added to your inventory or dropped.”,
“Backpack Fetch Syntax”: “Syntax: backpack.fetch <item short name or id> <amount>”,
“Invalid Item”: “Invalid Item Name or ID.”,
“Invalid Item Amount”: “Item amount must be an integer greater than 0.”,
“Item Not In Backpack”: “Item \”{0}\” not found in backpack.”,
“Items Fetched”: “Fetched {0} \”{1}\” from backpack.”,
“Fetch Failed”: “Couldn’t fetch \”{0}\” from backpack. Inventory may be full.”,
“Toggled Backpack GUI”: “Toggled backpack GUI button.”
}
常问问题
为什么玩家死后背包不会掉落?
背包不会掉落的三个可能原因。

配置选项”Drop on Death (true/false)”是false.
玩家有backpacks.keepondeath权限。
另一个插件防止背包通过CanDropBackpack挂钩掉落。竞技场插件通常会为竞技场中的玩家执行此操作。
如何将背包按钮移动到快捷栏的左侧?
将插件配置部分替换”GUI Button Position”为以下内容。

“GUI Button Position”: {
“Anchors Min”: “0.5 0.0”,
“Anchors Max”: “0.5 0.0”,
“Offsets Min”: “-265 18”,
“Offsets Max”: “-205 78”
}
已知限制
可绘制实体、照片、寻呼机、手机和磁带将在地图擦除时丢失数据。目前没有计划跨擦除保留此数据,但可以根据要求考虑此类功能。

开发者 API
API_GetBackpackContainer
ItemContainer API_GetBackpackContainer(ulong backpackOwnerID)
返回对ItemContainer玩家背包底层的引用。null如果玩家本质上没有背包(没有数据文件,也没有内存中的背包),则返回。

笔记:

如果容器实体不存在,这将创建它。这会给服务器增加负载,因此建议仅在其他 API 方法不能满足您的需求时才使用此 API。例如,如果您只想知道玩家背包中物品的数量,您可以使用API_GetBackpackItemAmountwhich 可以在不创建容器的情况下计算物品。
你应该避免缓存容器,因为几个事件可能会导致背包的底层容器被替换或删除,这会使缓存的引用变得无用。
API_GetBackpackItemAmount
int API_GetBackpackItemAmount(ulong backpackOwnerID, int itemId)
返回玩家背包中给定物品的数量。0如果玩家没有背包则返回。这个 API 比API_GetBackpackContainer它不需要创建背包容器更高效。

API_DropBackpack
DroppedItemContainer API_DropBackpack(BasePlayer player)
将玩家的背包放在当前位置。例如,这可以用于仅在玩家死在 PvP 区域时才放下玩家的背包。

注意:这故意忽略了玩家的backpacks.keepondeath权限,以便为其他插件提供最大的灵活性,因此建议其他插件提供类似的权限以允许豁免。

API_EraseBackpack
void API_EraseBackpack(ulong backpackOwnerID)
擦除特定玩家背包的内容。

注意:这不能被CanEraseBackpack钩子挡住。

API_GetBackpackOwnerId
ulong API_GetBackpackOwnerId(ItemContainer container)
如果是背包,则返回背包所有者的 Steam ID ItemContainer。
0如果ItemContainer不是背包则返回。
API_GetExistingBackpacks
Dictionary<ulong, ItemContainer> API_GetExistingBackpacks()
返回缓存在插件内存中的所有背包容器,由背包所有者的 Steam ID 键入。这最初是为了让物品清理插件可以确定背包中的物品以忽略它们。但是,从 Backpacks v3.7.0 开始,如果所有项目清理插件验证容器具有有效的entityOwner.

开发者挂钩
可以打开背包
string CanOpenBackpack(BasePlayer player, ulong backpackOwnerID)
当玩家尝试打开背包时调用。返回字符串将取消背包打开并将字符串作为聊天消息发送给尝试打开背包的玩家。

OnBackpackOpened
void OnBackpackOpened(BasePlayer player, ulong backpackOwnerID, ItemContainer backpackContainer)
当玩家成功打开背包时调用。
没有退货行为。
OnBackpack关闭
void OnBackpackClosed(BasePlayer player, ulong backpackOwnerID, ItemContainer backpackContainer)
当玩家关闭背包时调用。
没有退货行为。
CanBackpackAcceptItem
bool CanBackpackAcceptItem(ulong backpackOwnerID, ItemContainer backpackContainer, Item item)
当玩家试图将物品移动到背包中时调用。
返回false可防止项目被移动。
CanDrop背包
bool CanDropBackpack(ulong backpackOwnerID, Vector3 position)
“Drop on Death (true/false)”当玩家在选项设置时死亡时,请打电话true。
返回false可防止背包掉落。
CanErase背包
bool CanEraseBackpack(ulong backpackOwnerID)
“Erase on Death (true/false)”当玩家在选项设置时死亡时,请打电话true。
返回false可防止背包被擦除。

资源下载此资源下载价格为5金币立即购买
收藏 (0) 打赏

感谢您的支持,我会继续努力的!