口袋尺寸
Pocket Dimensions 1.0.15

口袋尺寸 Pocket Dimensions 1.0.15

口袋尺寸
Pocket Dimensions 1.0.15-PCI1
口袋尺寸 Pocket Dimensions 1.0.15
此内容为付费资源,请付费后查看
10积分
付费资源
已售 1

原创地址Pocket Dimensions – 插件 – Codefling

24.99 美元

关于 Pocket Dimensions

推出便携式 3 x 3 盒装底座 – 您可以放入库存!部署并打开它们进入内部 – 储存、制作、冶炼、种植、聚会……住。扩展并维护保养以防止袭击者。接他们并部署到其他地方。跳出框框思考…里面也是!

问题?支持?加入 Discord:https://discord.nikhub.dev

观看 SRTBULL 的教程!

正如 SHADOWFRAX 所推荐的那样!(大约 0:55 标记)

 

就像《神秘博士》中的 TARDIS 一样,它们的内部更大!在“真实”的 Rust 世界中,一整块 9x9x9 米大(超过 25000 立方英尺)的袖珍维度整齐地装进一个小木箱里。你可以用任何你喜欢的方式来伪装或伪装它 – 只要玩家的创意工坊皮肤/服务器皮肤插件允许。

玩家可以通过 Tool Cupboard UI 中的一个按钮轻松地将现有建筑物转换为 Pocket Dimensions。或者,如果这太费力了,完整的、新鲜的、随时可以移动的 Copy Paste 文件可以作为带有您自己的自定义皮肤的盒子出售 – 这完全是可选的,需要 Copy Paste,更多内容在下面的专门部分中。是否允许这两种方法完全取决于您的配置。

默认情况下,该配置允许以多种不同的方式突袭 Pocket Dimensions – 但如果您打算在 PVE 服务器上运行此插件并且您不想要任何这些,则可以调整许多配置选项以增强您的服务器体验。两种类型的服务器在此页面上都有自己的专用部分 – 请阅读下文。

确保您保持 Pocket Dimension 的完整性!如果口袋维度建筑的任何外部结构(墙壁/门口)1) 腐烂 2) 被突袭 3) 被管理员/插件移除,或 4) 容纳维度本身的盒子被摧毁,维度将崩溃,传送其中的所有玩家,并掉落存储容器、炮塔、工具柜、 以及任何可以存储任何物品的其他东西,都存储到盒子上次部署的位置。来得容易去得快!

您可以随时选择 Pocket Dimension 盒子并将它们移动到其他地方,所有内容都仍然存在。您甚至可以在 Pocket Dimensions 内部部署 Pocket Dimensions…一个盒子般的感觉!默认情况下,该配置不允许拾取包含玩家的框,但您可以切换此设置。

快速开始

  • 作为管理员:请确保从下面的列表中授予您的组/玩家适当的权限。如果您打算使用任何扩展功能,请确保加载并正确配置 Copy PasteNo Escape 和 Server Rewards / Economics。下面将详细介绍对这些插件的支持。这也适用于任何可能兼容的插件,这些插件可以从配置中分配/支持皮肤盒模板,例如 Kits 或 Shop by Mevent,或基于 Copy Paste 的插件,例如 Raidable Bases
  • 作为玩家:制作一个满足有效性要求的 3 x 3 x 3 立方体(更多内容见下文)- 如果您有适当的许可和适当数量的所需货币,请打开工具柜并按下粉红色的“转换为 Pocket Dimension”按钮。如果构建正确,您现在将收到一个包含整个立方体的盒子。或者,部署一个新的小木箱,该木箱使用配置中提到的皮肤 ID 进行蒙皮,该 ID 引用了有效的复制粘贴模板 – 无需玩家构建,但仍然可以。这个插件带有几个预先构建的、已知的有效 Pocket Dimensions,可供您的玩家享用。

权限 (Oxide.Grant 用户 YourName [权限名称以 pocketdimensions 开头]。

该插件使用普通的 Oxide 权限系统。要在典型服务器上进行快速设置,请授予自己 pocketdimensions.admin 权限,并授予 Oxide 中的默认组 pocketdimensions.player.all 权限。

  • pocketdimensions.admin – 执行本节下方的 管理员命令 部分中提到的管理员命令需要此权限。
  • pocketdimensions.player.all – 此权限相当于授予下面提到的所有 4 个权限。如果您想要更自定义的权限设置,请不要授予此权限。例如,如果您不想允许玩家在内部重生和转换,而您只想允许部署/拾取和进入/退出,请使用以下 4 个权限的组合。
  • pocketdimensions.deploy.pickup – 此权限的持有者可以部署和拾取 Pocket Dimension 盒子,无论是现有的盒子还是基于配置中的皮肤 ID/复制粘贴文件组合的新盒子。当然,这也考虑了 Building Block/其他条件。
  • pocketdimensions.player.enter.exit – 拥有此权限的持有者可以通过打开其框来进入 Pocket Dimensions,并通过与他们的门户交互来退出它们。如果玩家没有该权限,他们将在打开/交互时收到通知,并被禁止穿越/退出。
  • pocketdimensions.player.convert – 拥有此权限的持有者可以通过从其工具柜的 UI 转换现有建筑来创建新的口袋维度 – 只要他们有所需的货币数量(某些必需的物品/服务器奖励/经济),并且建筑本身满足结构要求。没有此权限的玩家甚至不会在 UI 中看到转换按钮。
  • pocketdimensions.player.respawn – 此权限的持有者可以在 Pocket Dimensions 中部署的包、床和毛巾上重生。如果玩家没有该权限,并且他们(或其他人将他们装进)部署了一个袋子,则玩家不会在他们的死亡屏幕上看到该袋子作为可能的重生位置。

管理员命令(需要 pocketdimensions.admin 权限)

这些命令可以从控制台和聊天中执行 — 在聊天的情况下,它们必须以正斜杠 ( / ) 为前缀,在控制台的情况下,没有正斜杠。

/pd.check

靠近 TC 并直接查看它,然后从聊天或 F1 控制台发出此命令。它将执行有效性检查,而无需实际转换任何内容。如果发现任何问题,它会告诉你到底出了什么问题。用于制作您自己的 Copy Paste 模板。

/pd.convert

靠近 TC 并直接查看它,然后从聊天或 F1 控制台发出此命令。它将首先执行有效性检查。如果发现任何问题,它会告诉你到底出了什么问题。然后,如果没有发现问题,它会将建筑转换为口袋维度,你将以可部署的小木箱物品的形式收到它。

/pd.lostnfound

当 Pocket Dimension Item 消失、被回收、放置在被摧毁的容器中或以其他方式从世界中删除时,它所代表的 Dimension 将被标记为“丢失”。只要物品仍然存在于世界某个地方的容器(包括玩家的库存)中,这种特殊标记就不会发生。标记为“丢失”的口袋维度可以被管理员作为与建筑物绑定的新创建物品回收,部署和检查,并归还给合法所有者……或 Collapsed by the admin,如果管理员有一种预感,玩家故意 “丢失” 了他们的维度,这样当玩家离线时,没有人能够访问任何内容。

使用此命令会给你所有新回收的盒子物品(所以要确保你的库存里有空间),或者它会告诉你失物招领处没有任何东西可以回收。

/pd.givebox [皮肤 ID 或复制粘贴文件名] [可选:玩家部分名称/完整 Steam ID]

使用此命令创建一个 Small Wooden Box 物品,使用配置中提到的特殊皮肤进行皮肤处理,然后提供给玩家。首次将 Pocket Dimension 部署到某个位置时,将在该框内创建一个基于 Copy Paste 模板的新 Pocket Dimension。

此命令需要安装 Copy Paste 才能正常工作,并在配置中正确设置 Skin ID – to – Copy Paste 文件名条目。提到的文件名也必须存在于 Copy Paste 数据文件夹中。

使用第一个参数通过其皮肤 ID 或 Copy Paste 文件名来标识配置的 Copy Paste 部分中提到的模板。多个皮肤 ID 可以导致相同的复制粘贴文件名,因此如果您通过文件名识别模板,则配置中指向此文件名的第一个条目的皮肤 ID 将被选为新创建和给定框的皮肤。

如果未提供可选的第二个参数,则假定应该为执行此命令的玩家(通常是管理员)提供一个新皮肤的框。支持使用 STEAM ID 或玩家名称参数执行命令的插件可以使用此命令。

/pd.emergencycleanup

将此作为最后的手段,无论出于何种原因,都可以完全摆脱服务器上的所有 Pocket Dimensions 实体。毕竟,这是一个非常实验性的插件,事情可能会出错……这包括所有 Pocket Dimension 建筑、其内容、其中的战利品,以及部署在世界中的包含 Pocket Dimensions 的盒子。如果维度不是以盒子的形式部署的,而是作为物品保存在容器中,这些物品不会被移除,但在部署时,玩家会收到其关联的口袋维度被突袭或腐烂的通知。请谨慎使用,此命令无法撤消。

这些是到目前为止的所有 admin 命令。没有玩家命令,因为我认为当没有其他优雅的玩家输入/交互方式时,它们是最后的选择。

是什么让建筑成为 Pocket Dimension 的“有效”候选者?

并非每栋建筑都可以进行改造。一般来说,必须建造一个 3 x 3 x 3 的立方体,侧面的任何地方都只有一个外部单门 – 外面没有其他任何东西(除了屋顶上的太阳能电池板/风力涡轮机的潜在例外,如果您的配置允许的话)。构建块可以是任何层级或混合层级 – 从 Twig 到 Armoured。立方体内部是什么并不重要,只有外部 “shell” 很重要。一旦转换为 Pocket Dimension,玩家就可以像使用普通基地一样在内部建造/扩展/拆除。

更具体地说,当检查建筑物的有效性时,会测试以下标准,并且每个连续问题的答案必须是 “是”,然后才能进行下一个问题 – 如果答案为 “否”,玩家将被告知原因:

  1. 这座建筑总体上正好有 9 个方形地基吗?
  2. 这座建筑的整体面积是否正好是 9 平方英尺(大概是天花板)?
  3. 建筑物总体上是否至少有 1 个单门口?
  4. 建筑物整体上至少有 35 面普通墙吗?
  5. 9 个宫格的本位牌堆都在同一水平线上吗?
  6. 对于 9 个方形地基中的每一个,它是否有匹配的方形地板作为天花板,正好高于它 9 米?
  7. 建筑物的中间地基是否已经没有标记为属于 Pocket Dimension?
  8. 建筑物的四个侧面是否有一堵普通的墙(或一个门口,但只有一个),而不是墙框、窗框或缺失的建筑块,以使外壳“气密”并防止玩家从维度掉入虚空?
  9. 建筑物的外壳上是否恰好有一个门口 – 不多也不少 – ?
  10. 目前唯一的外部门口是否“空”,即目前没有门/自动售货机部署在那里?
  11. 如果配置不允许在天花板上放置太阳能电池板/风力涡轮机,那么建筑物中没有那些可能被禁止的结构吗?
  12. 3 x 3 x 3 立方体内的所有电气/水实体是否都与该立方体外部的实体没有任何电线/软管连接?(如果您的配置允许 Solar Panels / Wind Turbines,则这些实体在此检查阶段将获得特殊通行证)
  13. 建筑物是否没有任何实体从 3 x 3 x 3 立方体中“伸出”——例如屋顶、蜂窝、门廊、SAM 站点、楼梯等,或者太阳能电池板/风车(如果您的配置不允许它们)?

如果所有这些问题的答案都是响亮的 “是” – 别担心,提问和回答这些问题是插件的工作,而不是你!- 该建筑被视为有效,因此可以转换为 Pocket Dimension!无论成功与否,您都会收到结果通知。

突袭口袋维度(仅适用于默认启用 PVP 的设置)

这是新配置的默认行为。如果您打算在 PVE 服务器上运行此插件(玩家与环境,即人类玩家之间没有突袭/伤害),您可以跳过本节并直接进入下面的推荐 PVE 设置部分。

突袭口袋维度有两种主要方法:

  1. 从内部,通过损坏属于外壳的建筑结构 – 墙壁或容纳出口门户的门口
  2. 从外部,通过损坏展开的 Pocket Dimension 盒子。

默认情况下,不包含 Pocket Dimensions 的盒子上不能放置锁,以允许玩家从内部突袭 – 但如果您只想让玩家以无聊的方式突袭盒子,则可以切换此设置。当然,Pocket Dimension 内部的任何东西都可以 – 而且应该 – 被锁定!

当从外部突袭时,在默认配置下,次元箱会受到普通小木箱正常伤害的 2% (1/50)。换句话说,在默认配置下,大约需要 7-8 次 C4 充能才能使其内部的维度崩溃(或多或少与装甲级基础一样多)。

就像普通的原版建筑突袭一样,相同的策略(或这些策略的组合)也可以在这里应用:

  1. 深海 – 进入,拿走货物,出去,离开,向建筑物所有者说 GG,他们可以保留他们的 Pocket Dimension。Rust 突袭中的体育精神精髓。
  2. 悲伤 – 进来,拿走货物(或不拿走),让建筑无法使用直到它最终腐烂(维度崩溃),离开。高度恶意,但有时是唯一的选择……
  3. Yoink – 进入,拿走货物,重新密封入口,并声称维度现在是您的。不过,您可能希望将其盒子移动到另一个位置。
  4. 结束 – 进入并立即开始损坏外壳的外部方块之一(通常是出口入口所在的门口,或旁边的墙壁 – 甚至两者兼而有之!一旦其中一个外部 shell 元素消失(或被管理员“杀死”,或件删除),整个维度就会崩溃。有关维度 Collapses 的更多信息,请参见下面的部分。

建议的 PVE 设置(仅适用于启用 PVE 的默认设置)

这将需要调整一些配置设置并重新加载插件。如果您打算在 PVP 服务器上运行此插件(玩家对玩家,即允许人类玩家之间的突袭/伤害),请返回上面的 Raiding Pocket Dimensions 部分 – 大多数默认设置在大多数情况下应该可以正常工作。要了解这些推荐设置的作用,请查看下面的 配置 部分了解详细信息。

   "DimensionalBoxesSubtractItemConditionWhenPickingUp": 0.0,
   "DimensionalBoxesAllowLockingWithLocks": true,
   "DimensionalBoxesAllowDamage": false,
   "DimensionaBoxesDamageResistanceDivisor": 50.0,
   "DimensionalBoxesAlwaysHaveStability": true,
   "DimensionalBoxesCheckForPlayersInsideWhenPickingUp": false,
   "DimensionalBoxesCheckBuildingBlockOutsideWhenEnteringDimension": true,
   "DimensionalBoxesCheckTCAuthInsideWhenEnteringDimension": false,
   "DimensionalBoxesCheckTCAuthInsideWhenPickingUp": false,
   "DimensionalPocketsAllowSolarAndWindmill": true,
   "DimensionalPocketsTrapImmunityAfterTeleport": 5.0,
   "DimensionalPocketsExteriorBlocksAllowNonDecayDamage": false,
   "DimensionalPocketsActualAltitudeMin": 3200.0,
   "DimensionalPocketsActualAltitudeMax": 3900.0,
   "DimensionaPocketsAllowVendingMachineBroadcast": true,
   "EffectPlayerTeleportAppear": "assets/prefabs/missions/portal/proceduraldungeon/effects/appear.prefab",
   "EffectPlayerTeleportDisappear": "assets/prefabs/missions/portal/proceduraldungeon/effects/disappear.prefab",
   "EffectsPlayerTeleportEnable": true,

Pocket 维度的折叠

所有美好的事物最终都会结束。在这种情况下,“崩溃”意味着某个 Pocket Dimension 及其所有相关实体都被摧毁,最后,就好像 Pocket Dimension 根本不存在一样——除了从中掉落的所有多汁战利品。

这可能在以下情况下发生…

  • 包含 Pocket Dimension 的盒子被管理员/插件“杀死”,或者损坏到销毁点
  • Pocket Dimension 内部的一个外壳结构(墙壁/外部门口)被管理员插件“杀死”,或者腐烂/损坏到破坏点
  • 位于外部门口的出口门户被管理员/插件“杀死”

在正常情况下,在典型的 PVP 服务器上,你只会期望 Pocket Dimensions 在腐烂、被突袭或被管理员故意移除(通过“杀死”盒子或外壳结构)时崩溃。

If the Dimensions suddenly disappear with no apparent reason, it probably comes from another plugin’s functionality, for example Abandoned Bases – but that’s a completely expected outcome in this case: the Pocket Dimensions should behave as much as normal bases on the server as possible! On the topic of Abandoned Bases, if you use that plugin, you should definitely NOT allow locks on boxes containing Pocket Dimensions – otherwise the now-unlocked abandoned Pocket Dimension won’t be accessible, as the box itself will not count as a base, and it will stay locked!

在 Collapse 期间,与 Dimension 关联的框的最后已知位置将用作枢纽点,其中…

  • 所有在维度内的玩家,无论是睡着的还是在线的,活着的还是作为尸体或尸袋的,都会被传送到枢纽点,毫发无损
  • 所有拥有物品栏的实体,即其中存储的东西 – TC、盒子、炮塔、陷阱、储物柜等 – 都会在枢纽点掉落他们的灰色战利品袋,就好像所有这些实体都在同一时间被突袭一样
  • 所有构建块和其他结构都会死亡,在枢纽点碎裂

如果折叠的 Dimension 内部也包含 Pocket Dimensions,依此类推(又名 box-ception),则整个 “树” 也会在根部折叠。这样,最好的突袭方式总是在直接部署在世界中的 Dimension(“box-ception”序列中的第一个),因为它涉及的材料和精力最少。

与 CopyPaste(以及任何使用它的插件,如 Raidable Bases)配合使用效果很好

此插件与 Copy Paste 完全兼容,并将其作为可选依赖项包含在内:即 Pocket Dimensions 不需要 Copy Paste 运行,但可以通过额外的功能增强玩家的体验。强烈建议这样做。uMod 版本和分发的用于 Raidable Bases 的自定义补丁版本都可以工作。

作为管理员,您可以 /copy 和 /paste 建筑物,然后立即转换它(使用命令或在 Tool Cupboard UI 中),或者只是检查它是否是要转换的有效候选建筑物 – 有关有效性的更多信息,请参阅下文。你也可以在插件配置中将一些皮肤 ID 定义为特殊 ID:当带有这些特定皮肤的盒子第一次生成时(要么由玩家部署,要么由其他插件生成/粘贴 – 复制粘贴本身,要么使用它的插件,如 Raidable Bases,或完全独立的插件),无论你定义什么复制粘贴文件名,这个盒子都会立即变成一个 Pocket Dimension,其中包含在该框架下复制的建筑物中的所有内容名字。之后,盒子也可以毫无问题地重新换皮。

您还可以使用 /pd.give 命令从服务器/F1 控制台或聊天中按名称或 Steam ID(请参阅上面的管理员命令部分)为玩家提供单独的新 Pocket Dimension – 它的制作方式是依赖自定义命令的商店/套件插件可以轻松利用它们。如果您不希望玩家转换自己的建筑,这很有用。

Pocket Dimensions 插件甚至为这些插件提供了一些预定义的模板,因此您可以了解如何设置自己的模板。只需发出不带任何参数的 /pd.give 命令即可获取列表。如果您希望它们正常工作,请确保安装最新版本的 Copy Paste,并将包含的 Copy Paste 文件上传到服务器上的适当文件夹。

与 Server Rewards / Economics 兼容

将一个有效的建筑转换为袖珍维度不应该是免费的 – 事实并非如此。默认情况下,玩家需要将 500 个 Scrap 存入 TC – 或者在他们的库存中准备好该数量,两者都可以。您可以根据自己的喜好调整配置中货币项目的数量和简称。您甚至可以这样做,这样不仅可以检查此货币项目的简称,还可以检查其皮肤 – 如果您有自定义项目附带的插件,则很有用。

但您也可以将 Server Rewards 或 Economics 用作潜在货币!有关更多详细信息,请查看上面的 Configuration 部分。为此,必须安装 Server Rewards 或 Economics,具体取决于您要使用的版本。

此外,带有配置中提到的皮肤 ID 的盒子(导致复制粘贴模板)可以在 Server Rewards 商店中出售,因此它是双向的。

与 No Escape 的兼容性

如果您不在服务器上使用 No Escape 插件,则可以跳过此部分。

口袋维度在许多方面都只是常规基地,因此伤害属于它们的任何实体都会施加突袭阻止,攻击里面的任何玩家会施加战斗阻止。

这两者都算作一个 Escape Block。如果此插件检测到玩家被 Escape Blocked,则可以在 Pocket Dimension 配置中启用/禁用几个可选限制,以更改此 Escape Block 对受影响玩家游戏的影响:

  • 输入 Pocket 尺寸
  • 退出型腔尺寸
  • 将 Pocket Dimension Items 部署到 Box 中
  • 将 Pocket Dimension Boxes 拾取到物品中

与其他插件的兼容性

任何能够发布/使用蒙皮物品/生成蒙皮小木箱的插件,都应该开箱即用地与 Pocket Dimensions 一起使用(不是双关语)。如果有任何问题,请随时告诉我。

配置 (oxide/config/PocketDimensions.json)

以下是所有配置值(及其默认值)的概要,这些值与玩家权限相结合,将影响您服务器上的游戏玩法。除了高级内容(如 TC UI Button 的定位/样式,或 CopyPaste 模板)之外的所有内容都在本节中解释:

“DimensionalBoxesSubtractItemConditionWhenPickingUp”:0.0、

几乎每次捡起 Pocket Dimension 盒子时都被迫不断修复它会非常不方便,所以这个值将决定会丢失多少条件(在 0.0 到 1.0 的范围内,代表 0% 到 100%)——默认情况下,它是 0.0,所以盒子只有在损坏时才会失去状态。将其设置为更高的值(但绝不会超过 1.0),以防止玩家过多、过于轻松地移动他们的框。

“DimensionalBoxesAllowLockingWithLocks”: false,

明显。默认情况下,如果 Key Lock 或 Code Lock 被放置在 Pocket Dimension 盒子上(无论是自动的、带有插件的,还是由玩家手动放置的),锁就会掉到地上。这是为了给突袭玩家一个机会,让他们从内部对(从统计上讲)一个维度进行可以说是更难的选择。将此项设置为 true 可禁用此行为并允许锁定。

“DimensionalBoxesAllowDamage”: true,

默认情况下,包含 Pocket Dimensions 的箱子会受到伤害 – 这使得可以说更容易的突袭选项成为可能,即通过摧毁箱子从外部进行突袭。受到的伤害量取决于下面定义的 ResistanceDivisor 值。如果您想通过不让玩家损坏包含它的盒子,使部署的 Pocket Dimensions 从外部坚不可摧,请将此项设置为 false。

“DimensionaBoxesDamageResistanceDivisor”:50.0、

该值将决定 Dimensional 盒子与其常规 Small Wooden Box 相比的强度。例如,默认值 50 意味着它受到的伤害减少 50 倍,即 2%(1 除以 50)。相应地增加和减少此值以使来自外部的突袭更难或更容易。

“DimensionalBoxesAlwaysHaveStability”: true,

默认情况下,此设置为 true,这意味着如果放置 Dimensional box 的地板/地基突然被摧毁,则 Dimension box 本身将保持漂浮在空中,而不是与它一起被摧毁。它基本上将所有具有 Pocket Dimensions 的盒子视为始终直接放置在坚不可摧的地形上。当然,这永远不适用于正在折叠的 Dimension – “box-ception”序列中的任何子 Dimension 都不会一直漂浮在“纳尼亚”中。如果你想在盒子没有直接放置在实际地形上时更容易从外部突袭维度,请将此项设置为 false。

“DimensionalBoxesCheckForPlayersInsideWhenPickingUp”: true,

If a player is inside of a Pocket Dimension and its box was just picked up, the player inside is now stuck, until the box gets re-deployed somewhere else. On the other hand… entire 30-man teams could be “smuggled” this way, all tucked quietly inside! Thus, by default, you cannot pick up pocket dimensions with players inside, and it’s also not recommended to allow players to respawn inside, either, for the same reason. Set this to false if you really know what you’re doing.

“DimensionalBoxesCheckBuildingBlockOutsideWhenEnteringDimension”: false,

In vanilla Rust, if a box is unlocked, it can be opened, even if the player attempting it is not authorised on the TC. As such, this value is set to false, so that even if you’re not authorised on the TC, you can still enter inside of a Dimensional Box. Set this value to true if you want that extra layer of security, in lieu of having a lock on the box that contains a Dimension.

“DimensionalBoxesCheckTCAuthInsideWhenEnteringDimension”: false,

This setting, on the other hand, makes sure that an authorization on the TC is needed INSIDE of the pocket dimension itself (if there’s one present at that point). For the same reason as above, it’s set to false, but if you’re feeling extra EXTRA paranoid, feel free to set it to false, and the only players that will be able to enter a Pocket Dimension were those originally authed on the TC before it as converted – and others bagged in later, but this requires the pocketdimensions.player.respawn permission, too.

“DimensionalBoxesCheckTCAuthInsideWhenPickingUp”: false,

Similar to above, but related to picking up the Dimensional Box – of course, all the other checks for picking up are tested for, too (like building block outside). By default, this value is set to false, but if you want, you can toggle it to true, so that the only way to pick up a pocket dimension is to be authorised on its TC inside.

“DimensionalPocketsAllowSolarAndWindmill”:false、

在 Pocket Dimension 内允许几乎无限且不受挑战的电力可能会对游戏玩法产生多种影响 – 因此默认为 false。此外,当屋顶上太阳能/风力发电机的电线连接被切断时,恢复它们的唯一方法是使用“卡出”的管理员干预。如果您不希望玩家在 Pocket Dimension 内依赖燃料发生器,请将此项设置为 true。

“DimensionalPocketsAllowTestGenerators”: true,

与上面的设置类似,只处理 Test Generators(静态的、静态不可见的或可部署的)。通常这些是普通玩家无法获得的(除非涉及管理员/插件),因此,这个设置是真的。如果你有插件/工具包,玩家可以获取/生成它们,你应该把它设置为 false。

“DimensionalPocketsTrapImmunityAfterTeleport”:1.5、

当你进入一个未知的口袋维度时,你永远不知道霰弹枪陷阱或炮塔是否正对着入口门户放置。同样,当你在 Pocket Dimension 内部时,你不知道外面发生了什么,所以你永远无法确定是否有人放置了瞄准包含 Dimension 的盒子的陷阱。因此,玩家进入/退出口袋维度后自动陷阱瞄准的默认冷却时间设置为 1.5 秒。随你喜欢,让它变长或变短,只是不要消极,最好不超过 60 秒。

“DimensionalPocketsExteriorBlocksAllowNonDecayDamage”: true,

这可以通过从内部攻击其外部外壳块(墙壁/门口)来有效地折叠整个口袋维度 – 因此,它被设置为 true。如果要使整个外壳不受伤害(衰退伤害除外),请将其设置为 false。

“DimensionalPocketsActualAltitudeMin”:3200.0、

所以诀窍是这样的:在现实中,实际的 Pocket Dimension 建筑存在于地图上随机选择的位置,但在天空中,玩家被物理传送到它们之间或从它们之间传送——所以它创造了一种错觉,即在“正常现实”之外的一个完全隐蔽的地方,你甚至听不到实际地图上发生的任何事情。类似于万圣节传送门的工作原理。此设置定义在擦除持续时间内 Pocket Dimensions 实际驻留的最小随机高度 – 默认情况下为 3200 米(3.2 公里或大约 2 英里)。如果您有任何其他插件可以在高空生成事物,请调整它。不建议将其设置为低于 1000 – 里面的玩家可能会听到实际地图上发生的事情,例如 C4、补给飞机、直升机等。

“DimensionalPocketsActualAltitudeMax”:3900.0、

与上述设置类似,此参数定义最大高度。这两种设置共同有效地在天空中创建了一个长方体空间,Pocket Dimensions 实际上应该位于随机选择的位置。默认情况下,这个值被设置为 3900.0,这是有充分理由的:在正好 4000 米的高度,所有玩家都会立即死亡,包括上帝模式的管理员,这就是原版锈迹斑斑的行为。因此,不建议将此值设置为高于 DEFAULT。

“DimensionaPocketsAllowVendingMachineBroadcast”: false,

在保持幻觉的话题上 – 允许玩家在地图上有效地广播他们的 Pocket Dimension 的位置肯定会打破这种幻觉,因此此值默认为 false。尝试在 Pocket Dimensions 中部署的自动售货机中启用广播的玩家将收到警告,并且不会启用广播。如果您真的不太关心这样的视觉细节,请将此项设置为 true。

“DimensionalPocketsRespawningInsideRequiresDeployment”: true,

防止玩家试图在当前未部署的尺寸的袋子/床/毛巾内重生,以防止玩家被有效地困在里面(至少直到他们重生到其他地方,或者直到盒子被重新部署到外面)。

“DimensionalPocketsTeleportingInsideRequiresDeployment”: true,

与上述设置类似,但不是处理在睡袋内重生,而是防止玩家传送到当前未部署的口袋维度(适用于任何类型的传送/传送插件)。注意:当前处于 noclip 状态的管理员可以随心所欲地传送,这仅适用于普通玩家。

“DimensionalPocketsMaxInceptionDepth”:10、

如果要限制维度内部的维度数量等,这是适合您的设置。如果在擦除过程中更改此值,则只会选中新部署的框以查看它们是否保持在限制范围内,并且不会影响现有的维度树。

“DimensionalPocketsLocationMinTemperature”:15.0、

当选中口袋维度的新随机位置时,此设置将确保在中午 12 点(中午)基于生物群系的温度始终大于此值。如果您想要凉爽的气候,请减小此值。

“DimensionalPocketsLocationMaxTemperature”:32.0、

与上面的设置类似,当考虑口袋维度的新随机位置时,这将使基于生物群系的温度上限为中午 12 点(中午)。如果您不介意更热的气候,请增加此值。

 

“EffectPlayerTeleportAppear”: “assets/prefabs/missions/portal/proceduraldungeon/effects/appear.prefab”,

这是一个纯粹的装饰性设置。当玩家进入或离开口袋维度时,它算作一次传送。发生这种情况时,您选择的视听效果将在玩家的新位置播放。默认情况下,它与用于万圣节地牢的相同。您可以在此列表中使用大多数预制件 Effect,只需在 “Search” 框中按 “effect” 进行筛选即可。

“EffectPlayerTeleportDisappear”: “assets/prefabs/missions/portal/proceduraldungeon/effects/disappear.prefab”,

与上述设置对应的是 – 它只是在被传送的玩家的旧位置创建效果。同样,这是来自万圣节地牢的效应。如果您想使用不同的 effect,请查看我上面链接的预制件列表。在提交之前,您可以使用 Play FX 插件先在游戏中找到所有可以找到的插件进行测试。

“EffectsPlayerTeleportEnable”: true,

效果可能会很响亮并吸引注意力。也许你不想要。默认情况下,传送效果处于启用状态,但如果将此设置的值设置为 false,则当玩家进入或退出时,不会播放任何特殊效果。

“CheckEscapeBlockWhenEnteringDimensions”: true,

如果您安装了 No Escape,这将阻止被 Escape 阻止的玩家进入 Pocket 维度,顾名思义。默认情况下,它是 true。如果您认为从外部突袭的玩家仍然可以进入内部,请随意将其更改为 false。

“CheckEscapeBlockWhenExitingDimensions”: true,

同样,如果您没有安装 No Escape,请忽略此设置以及之后的接下来两个设置。与上述类似,只是在退出维度时。玩家将被告知,由于被 Escape Blocked 的原因,他们无法退出或进入维度。如果您认为 Escape Block 对退出无关紧要,请将默认值更改为 false。

“CheckEscapeBlockWhenDeployingDimensions”: true,

无 Escape 特定设置编号 3。你现在明白了:如果这个设置为 true(默认情况下是这样),Escape Blocked 玩家将无法将任何 Pocket Dimension Item 部署到他们可以输入的 Box 表单中。如果您认为此限制太严格,请将默认的 “true” 值更改为 false。

“CheckEscapeBlockWhenPickingUpDimensions”: true,

最后一个适用于 No Escape 的设置 – 它与上面的设置相反。默认情况下,被施加了逃脱块的玩家无法捡起里面有口袋维度的盒子。如果您不同意,请将其更改为 false。

“ForbiddenCommandsInsideDimensions”: [“tp”,“warp”,“back”,“home”,“tpr”,“tpa”,“kit”],

此黑名单包含默认聊天和控制台命令,没有管理员权限的玩家将无法运行这些命令,而他们自己位于 Pocket Dimension 图层高度范围内。您可以添加或删除自己的命令集(不包括正斜杠)。

“ForbiddenCommandsCheckingEnabled”: true,

如果将其设置为 false,这将禁用对上述黑名单的依赖,并且任何玩家都可以在 Pocket Dimension 内执行任何命令。

“ConversionCostCurrencyUsed”: “CustomItemAmount”, //英语

默认情况下,从普通基础到 Pocket 维度的转换会花费 Rust 中存在的某个物理 Item,该设置反映在 “CustomItemAmount” 的值中。如果您更喜欢使用 Server Rewards / Economics 来支付转换费用,请将此值分别设置为“ServerRewards”或“Economics”。您甚至可以将其设置为 “NoCost” – 并且转换对玩家是免费的(但基地仍然需要正确构建和维护)。

“ConversionCostAmount”:500、

500 个废料来转换听起来像是适中的数量。500 印尼盾或 ¤500 则不需要 – 因此您可以根据所使用的货币,根据需要将此金额调整为更高或更低。仅接受大于 0 的整数。

“ConversionCostCustomItemShortname”: “报废”,

除了默认的 “scrap” 之外,还有什么 – 通用货币。当然,如果您选择了 Server Rewards 或 Economics,则此设置将无关紧要。无论您从已批准列表中选择什么有效的项目简称,这就是玩家的转换费用。由于并非所有物品都可以放入 TC 中,因此它还会检查玩家的物品栏中是否有该物品。

“ConversionCostCustomItemOverrideName”: null,

同样,这仅适用于 “CustomItemAmount” 选项。如果您想使用完全自定义的项目,例如,由另一个插件注册的项目,具有不同的图标/行为,则这些项目通常具有自定义名称。如果此值为 null(没有引号)或空(只有 “” 引号),则将使用翻译为客户端语言的 Item 定义名称。

“ConversionCostCustomItemSkinID”:0、

最后:如果您只想接受物品的某些皮肤变体 – 同样,对于具有自定义物品的插件(如 Water Bases)很有用 – 将默认值 0 设置为 Steam 创意工坊上可用的任何有效物品 ID。如果您的货币未设置为 “CustomItemAmount”,此设置也将被忽略。

还有一些设置,但这些都是最重要的设置,它们将塑造您独特的服务器体验。

翻译支持 (oxide/lang/en/PocketDimensions.json)

玩家看到的几乎所有字符串,包括聊天和 GUI 中显示的文本,都可以编辑。只需加载插件并让它生成文件 – 编辑后,重新加载插件。

Hooks/API(适用于插件开发人员)

如果您不想添加 [PluginReference],您也可以通过 Interface.CallHook() 调用这些函数

//get an array of BasePortal entities that are assigned to Dimensional Pockets
// - or null if none are present
var portalArray = PocketDimensions?.CallHook("GetDimensionalPortals") as BasePortal[];

//get an array of BuildingManager.Building instances that are assigned to Dimensional Pockets
// - or null if none are present
var pocketArray = PocketDimensions?.CallHook("GetDimensionalPockets") as BuildingManager.Building[];

//get an array of StorageContainer entities that are assigned to Dimensional Pockets
// - or null if none are present
var boxArray = PocketDimensions?.CallHook("GetDimensionalBoxes") as StorageContainer[];

//pass a BasePortal entity and get a boolean true if it's assigned to a Dimensional Pocket
// - or false if it's not
var isDimensionalPortal = PocketDimensions?.CallHook("CheckIsDimensionalBox", basePortal).Equals(true);

//pass a BuildingManager.Building instance and get a boolean true if it's assigned to a Dimensional Pocket
// - or false if it's not
var isDimensionalPocket = PocketDimensions?.CallHook("CheckIsDimensionalPocket", building).Equals(true);

//pass a StorageContainer entity and get a boolean true if it's assigned to a Dimensional Pocket
//- or false if it's not
var isDimensionalBox = PocketDimensions?.CallHook("CheckIsDimensionalBox", storageContainer).Equals(true);

//pass a BuildingBlock entity and get a boolean true if it's assigned to a Dimensional Pocket SPECIFICALLY as a Shell Block
// - or false if it's not
var isDimensionalShellBlock = PocketDimensions?.CallHook("CheckIsDimensionalShellBlock", buildingBlock).Equals(true);

//pass a DecayEntity entity and get a boolean true if inside a DimensionalPocket Building
// - or false if it's not
var doesBelongToDimensionalPocket = PocketDimensions?.CallHook("CheckBelongsToDimensionalPocket", decayEntity).Equals(true);

//pass a global::Item instance and get a boolean true if it's assigned to a Dimensional Pocket
// - or false if it's not.
//You must also specify whether you're looking for "fresh", unopened dimensions in that item OR an already existing dimensions.
//If you want to check both cases, you must do two separate checks, passing a different boolean (true when looking for fresh,
//false when not) as the second (counting from 0th) argument.
var isDimensionalItem = PocketDimensions?.CallHook("CheckIsDimensionalItem", item, lookingForFresh).Equals(true);

 

 

 

 

图片[1]-口袋尺寸
Pocket Dimensions 1.0.15-PCI1

图片[2]-口袋尺寸
Pocket Dimensions 1.0.15-PCI1

图片[3]-口袋尺寸
Pocket Dimensions 1.0.15-PCI1

图片[4]-口袋尺寸
Pocket Dimensions 1.0.15-PCI1

图片[5]-口袋尺寸
Pocket Dimensions 1.0.15-PCI1

图片[6]-口袋尺寸
Pocket Dimensions 1.0.15-PCI1

图片[7]-口袋尺寸
Pocket Dimensions 1.0.15-PCI1

图片[8]-口袋尺寸
Pocket Dimensions 1.0.15-PCI1

图片[9]-口袋尺寸
Pocket Dimensions 1.0.15-PCI1

图片[10]-口袋尺寸
Pocket Dimensions 1.0.15-PCI1

图片[11]-口袋尺寸
Pocket Dimensions 1.0.15-PCI1

图片[12]-口袋尺寸
Pocket Dimensions 1.0.15-PCI1

图片[13]-口袋尺寸
Pocket Dimensions 1.0.15-PCI1

图片[14]-口袋尺寸
Pocket Dimensions 1.0.15-PCI1

图片[15]-口袋尺寸
Pocket Dimensions 1.0.15-PCI1

图片[16]-口袋尺寸
Pocket Dimensions 1.0.15-PCI1

图片[17]-口袋尺寸
Pocket Dimensions 1.0.15-PCI1

图片[18]-口袋尺寸
Pocket Dimensions 1.0.15-PCI1

图片[19]-口袋尺寸
Pocket Dimensions 1.0.15-PCI1

图片[20]-口袋尺寸
Pocket Dimensions 1.0.15-PCI1

图片[21]-口袋尺寸
Pocket Dimensions 1.0.15-PCI1

图片[22]-口袋尺寸
Pocket Dimensions 1.0.15-PCI1

图片[23]-口袋尺寸
Pocket Dimensions 1.0.15-PCI1

图片[24]-口袋尺寸
Pocket Dimensions 1.0.15-PCI1

图片[25]-口袋尺寸
Pocket Dimensions 1.0.15-PCI1

 

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容