关于水基
Water Bases Rust 插件使具有权限的玩家无需柱子即可在海上和水下建造和扩展结构,结合了类似原版的机制、水下网等特殊功能以及针对不同玩家等级的可自定义设置。
总之
这个 Rust 插件使具有适当权限的玩家能够在水面上建造结构,甚至以一种感觉自然且符合游戏原始风格的方式将它们延伸到水下。不需要高大、不稳定的柱子伸向海床;只需将地基放在水面上,然后使用建筑平面图或锤子将其扩展即可。
这些水上建筑遵循与服务器上的传统基地相同的稳定性、维护和衰败原则,但也引入了独特的元素,例如用于收集随机物品的水下网(带有完全可定制的战利品表)和创新的建筑技术。
该插件根据权限容纳各种配置文件,提供了一种奖励不同级别的 VIP 玩家的绝佳方法。它允许您控制谁可以在水上建造、他们的建筑规模、他们离海岸的距离以及他们可以使用的最高级别的构建块,以及其他方面。
此外,该插件旨在提醒玩家他们的建造是否干扰了货船的路线。随着 Submarine 更新的临近,是时候让您的服务器为 Water Bases 的水上冒险做好准备了!
“货船呢,它会破坏路上的结构吗?”
默认情况下,如果玩家试图在货船的路径上建造水地基,他们会收到警告,但他们的水地基会留下来。您可以将此设置从 “Warn” 更改为 “Prevent”,这样玩家将无法首先构建它。将其更改为 “None” 将跳过此检查。每个海洋路径节点都会创建一个具有可配置半径的“气泡”。请参阅下面的管理员聊天命令部分,以可视化这些气泡,并引导您的玩家找到他们可以毫无问题地构建的区域。
快速入门(适用于玩家和管理员)
将 WaterBases.cs 文件上传到您的 oxide/plugins 文件夹,您应该很高兴,它都是即插即用的。无需重新启动服务器!在您可以在水上建造之前,您需要一些 Water Foundation。水基础是重新蒙皮的内胎物品 (简称: 内胎 / 物品 ID: -697981032 ; 注意减号,这很重要!皮肤 ID 2484982352 (https://steamcommunity.com/sharedfiles/filedetails/?id=2484982352) 或 2485021365 (https://steamcommunity.com/sharedfiles/filedetails/?id=2485021365)。该信息只是为了以防您想将它们包含在您自己的工具包/服务器奖励商店/战利品表/自定义制作插件中。如何在插件中获取这些?
制作水基基础(使用 Building Planner)
默认情况下,所有玩家都可以制作、部署、扩展和加固水地基。有关限制以及如何更改它们(离岸边多远/更近、水的最小和最大深度、每个建筑物允许的水基础数量等)的更多信息,请参见 高级配置 部分。当玩家装备建筑计划时,右下角会显示一个小 GUI(位置/颜色等也可以在配置中更改)。在那里,玩家将能够制作可部署的水地基 – 方形和三角形。当玩家扩大已经部署的基础或加固它们时,这些制作的物品也会被消耗掉。默认权限配置文件要求玩家靠近 2 级工作台 – 可以在配置中编辑此要求以更改所需的级别,或者您可以根据权限配置文件完全关闭对工作台的需求。如果您不希望您的玩家能够制作基础 – 因此他们必须找到它们/购买它们/赚取它们 – 您可以按配置文件禁用它。在这种情况下,他们将看不到 GUI。
使用聊天命令进行捐赠(仅限管理员)
键入 /give_square [amount] 或 /give_triangle [amount] 为自己提供一些该类型的基础。如果您未指定金额,则只会收到 1。
在水上部署“入门”基础
出海到湖边/海边,选择水地基作为你的主动物品,用甜甜圈形状的导引器,部署在水面上。在尝试部署/扩展现有水基础后,将根据该玩家的全局配置和单个权限配置文件执行一些检查:
- 玩家是否有权部署第一个 foundation/扩展现有 foundation?
- 玩家的建筑被挡住了吗?
- 玩家尝试从岸上建造多远(基于地图拓扑)?太近/太远?
- 玩家尝试建造的水有多深?是太深/太浅吗?
- 玩家是否试图建造得太靠近货物/石油钻井平台的路径?
- 玩家可以在建筑物中拥有这么多的水地基吗?
如果所有检查都成功,将建造一个新的树枝地板,具有 100% 的稳定性(就像普通的地基一样)。它将连接一些坚不可摧的漂浮桶,部分覆盖水基础的柔软面(底部)。然后,可以扩建、升级、使用工具柜保护(就像任何其他建筑一样)或加固水地基。
扩大
一旦你部署了第一个 “初始 ”水地基,所有后续的地基都将使用原版建筑机制进行放置 – 只需拿一个建筑计划,在你的水地基附近建造一些楼层就行了!如果你的库存中有足够的所需类型的水基础物品,那些新放置的地板也会变成水基础。它们可以调用被拆除/升级,就像普通的树枝结构一样,只要你放置一个工具柜。扩建单面水地基需要 1 个合适的水地基物品,扩建双面水地基(加固 1)需要 2 个。
加强
加固水地基意味着使其双面 – 这样它就可以完全覆盖柔软的一面,并使您能够从表面向下建造,直到海床/湖床!为了加固,确保已建成的水基础已完全修复,然后他们用锤子敲击它。如果你的库存中有所需的水基础物品,它将被消耗并加固地基:你会看到另一层地板上有倒置的漂浮桶。如果你试图扩大一个加固的地基(通过在底部连接一个地板,加固的一侧),并且上面没有水地基(正常方向),它会尝试创建一个,前提是你的库存中有足够的物品。加固(倒置的水基)总是与它们所连接的水基相关联,不能单独存在 – 如果你摧毁了水基,它的加固也会被摧毁。但是,破坏加固不会破坏水基础。
Upgrading Water base structures
你的水基地内的建筑块有一定的等级限制 – 这是为了帮助平衡。默认情况下,非 VIP 和非管理员玩家将能够将水地基升级到钣金层,将地板框架和墙框升级到石头层,将其他所有内容(包括墙壁、地板和加固地基)升级到木质层。您可以轻松决定哪个权限配置文件在配置中具有哪个最高层(每种类型的构建基块)。
Water Base 独家功能
- 因为水基础被视为具有地基稳定性的地板,所以您可以将屋顶放置在“地面”,这在普通地基中是不可能的!
- 同样,您可以在水基础所在的地方留下一个“洞”,并放置一个带有舱口的地板框架 – 现在您可以从水下的底部进入您的基地!
- 加固水基础意味着您将能够从水面向下建造,以创造额外的保护层,或者……
- 部署在水下墙架中的网会收集带有可编辑战利品表的随机垃圾物品,包括鱼和潜水设备!此功能是高度可配置的,甚至可以禁用。
- 还有鲨鱼!阅读下面的内容。
1.0.5 中的新功能:当心网鲨!
如果启用,鲨鱼会在水下的网周围随机生成。尤其是那些积累了大量物品的玩家,但前提是距离网 100 米范围内至少有 1 名玩家。一旦第一件物品被空网捕获,就会设置一个随机的静音计时器。每生成一个额外的物品,就会减少一定百分比的计时器(默认 8%)。当它达到 0,并且尚未达到本地/全局 Netting Shark 数量限制时(全部在配置中),Shark 将在该 Netting 附近的某个地方生成。鲨鱼具有可配置的仇恨距离以及速度和生命值的乘数。他们会在吸引他们的网的位置周围徘徊,并试图追逐视线中的任何人。使用适当的工具收割网鲨尸体会从其内脏中产生一些免费物品 – 默认情况下,比您通常从默认战利品表中装满物品的网中获得的 5 倍多。当然,配置中的默认鲨鱼战利品表,就像 Netting 战利品表一样,是完全可配置的 – 请查看下面的配置部分。
总而言之,它就像任何其他基地一样……只是在水上,没有烦人的海底支撑。
水地基的稳定性始终是 100%,并且你建造得越高,稳定性就越低。加固基础的稳定性也从 100% 开始,并随着您建造的海底的深度而下降。所有腐烂的东西(墙壁、地板、门等)都需要在 Tool Cupboard 中放置适当的保养材料。可以使用插件修复、拆除、升级和移除结构。基地可以被突袭、接管或任其腐烂。
Water Bases 权限 (Oxide.Grant 用户 YourName [权限名称以 waterbases 开头]。
默认情况下,插件在配置中生成 3 个权限配置文件 – 一个用于管理员,一个用于没有特定权限的普通玩家(默认),一个用于 VIP。有关它们可以处理的权限配置文件和配置值的更多信息,请参阅 高级配置 部分。除非您添加了更多权限配置文件,否则您的配置将仅使用以下两个:
waterbases.admin(英文)
管理员权限的持有者还可以运行 /wb_cfg、/give_square 和 /give_triangle 命令。此外,默认情况下,它们将与对放置水基础没有限制的权限配置文件相关联。
水基地.vip1
此权限的持有者将遵循与该权限配置文件关联的设置和限制。以下权限也已注册,但默认情况下不会使用。要使用它们,只需创建一些以这些权限为键的权限配置文件。
- 水基.vip2
- 水基地.vip3
- 水基地.vip4
- 水基地.vip5
管理员聊天命令(必须具有 ownerid/moderatorid/waterbases.admin 权限)
/give_square [optional arg: amount of items to receive] Will give the player a given amount of square-shaped water foundations. If no amount is provided, only 1 will be received. /give_triangle [optional arg: amount of items to receive] Will give the player a given amount of triangle-shaped water foundations. If no amount is provided, only 1 will be received. /draw_cargo This will draw a "bubble" (only for you, not every player) around every path node, and the bubble's radius will be taken from your config. If a player tries building inside one of these bubbles, they might get a warning or get prevent from doing so (because cargo ship destroys all structures in its way). Useful to visualise where your players can and cannot build, based on the cargo ship path. /shore_distance This will show you the current distance from the shore, to help you decide how close to/far from the shore to allow players to build. The unit used by Rust to measure shore distance is not in meters, it's something roughly equivalent to 1/10th of a map grid length. Mind you though, it's based off of the map's topology, so it should be fine on procgens, but if you have a custom map without topology layers reflecting the actual shoreline, you might want to disable relying on shore distance in your config.
Admin Console/聊天命令
此命令在聊天(在这种情况下,请在其前面加上正斜杠 / )和控制台(F1 或服务器/RCON 控制台)中都有效。以玩家身份运行此命令需要未启用 moderatorid/ownerid 的玩家的 waterbases.admin 权限。
wb.give [square/triangle] [partial player name or full steam ID] If a player executes it in the chat or console in-game and they don't specify a recipient, it will be given to the player executing this command. Executing from the server console requires specifying the player.
配置(oxide/config/WaterBases.json 和 /wb_cfg chat 命令)
绝大多数设置都可以使用 /wb_cfg chat 命令进行配置。在聊天中输入不带参数的 ID 应该会转储 config 字段及其值的概要。要运行任何 config 命令,您需要具有 ownerid 或 moderatorid(或 waterbases.admin 权限)。
/wb_cfg RelyOnShoreDistance [logical values (true or false)] /wb_cfg GlobalOceanLevelCheckBeforePlacing [logical values (true or false)] /wb_cfg GlobalOceanLevelBaseline [fractions (like 1.2345) between -1000.00 and 1000.00] /wb_cfg CargoShipPathHandling ["Warn", "Prevent" or "None"] /wb_cfg MinDistanceFromCargoShipNode [fractions (like 1.2345) between 0.00 and 10000.00] /wb_cfg UnderwaterNetsCollectJunk [logical values (true or false)] /wb_cfg UnderwaterNetsRandomTimerMin [fractions (like 1.2345) between 0.00 and 10000.00] /wb_cfg UnderwaterNetsRandomTimerMax [fractions (like 1.2345) between 0.00 and 10000.00] /wb_cfg UnderwaterNetsItemLimit [integers (like 12345) between 0 and 100] /wb_cfg UnderwaterNetsSpawnSharks [logical values (true or false)] /wb_cfg UnderwaterNetsSharkRandomTimerMin [fractions (like 1.2345) between 1.00 and 100000.0] /wb_cfg UnderwaterNetsSharkRandomTimerMax [fractions (like 1.2345) between 1.00 and 100000.0] /wb_cfg UnderwaterNetsSharkTimerShortenByPercent [fractions (like 1.2345) between 1.00 and 100000.0] /wb_cfg UnderwaterNetsSharkSpawningMinDistance [fractions (like 1.2345) between 2.00 and 100000.0] /wb_cfg UnderwaterNetsSharkSpawningMaxDistance [fractions (like 1.2345) between 2.00 and 100000.0] /wb_cfg UnderwaterNetsSharkPopulationLimitLocal [integers (like 12345) between 0 and 1000] /wb_cfg UnderwaterNetsSharkPopulationLimitGlobal [integers (like 12345) between 0 and 1000] /wb_cfg UnderwaterNetsSharkSleepDespawnTimer [fractions (like 1.2345) between 2.00 and 100000.0] /wb_cfg UnderwaterNetsSharkHealthMultiplier [fractions (like 1.2345) between 0.001 and 100.0] /wb_cfg UnderwaterNetsSharkSpeedMultiplier [fractions (like 1.2345) between 0.001 and 100.0] /wb_cfg UnderwaterNetsSharkAggroRange [fractions (like 1.2345) between 0.001 and 100.0] /wb_cfg SharkHarvestingLootEnabled [logical values (true or false)] /wb_cfg GuiNEW1AnchorMinX [fractions (like 1.2345) between 0.00 and 1.00] /wb_cfg GuiNEW2AnchorMinY [fractions (like 1.2345) between 0.00 and 1.00] /wb_cfg GuiNEW3AnchorMaxX [fractions (like 1.2345) between 0.00 and 1.00] /wb_cfg GuiNEW4AnchorMaxY [fractions (like 1.2345) between 0.00 and 1.00] /wb_cfg GuiNEW5OffsetMinX [fractions (like 1.2345) between 0.00 and 1.00] /wb_cfg GuiNEW6OffsetMinY [fractions (like 1.2345) between 0.00 and 1.00] /wb_cfg GuiNEW7OffsetMaxX [fractions (like 1.2345) between 0.00 and 1.00] /wb_cfg GuiNEW8OffsetMaxY [fractions (like 1.2345) between 0.00 and 1.00] /wb_cfg GuiTextSize [integers (like 12345) between 0 and 100] /wb_cfg GuiButtonColor [hexadecimal numbers WITHOUT preceding # (like 3db4b3)] /wb_cfg GuiTextColor [hexadecimal numbers WITHOUT preceding # (like 3db4b3)] /wb_cfg GuiButtonAlpha [fractions (like 1.2345) between 0.00 and 1.00] /wb_cfg GuiTextAlpha [fractions (like 1.2345) between 0.00 and 1.00] /wb_cfg EnableBarrelEntities [logical values (true or false)]
Advanced config (only editable through oxide/config/WaterBases.json) Water foundation crafting cost
在这里,您可以调整制作水基的成本。使其更昂贵、更便宜或添加/删除所需的材料。所有权限配置文件的成本将保持不变。项目简称的完整列表可在 https://www.corrosionhour.com/rust-item-list/ 中找到
"CraftingCostSquare": [ { "Shortname": "wood", "Amount": 100 }, { "Shortname": "metal.fragments", "Amount": 200 } ], "CraftingCostTriangle": [ { "Shortname": "wood", "Amount": 50 }, { "Shortname": "metal.fragments", "Amount": 100 } ],
Shortname 应属于游戏中的可用物品之一。该数量应为大于 0 且小于有符号 32 位整数限制的整数 (2 147 483 647) 的整数。
权限配置文件
使用档案,您可以为不同的玩家快速创建/编辑不同的权限,例如,如果您的服务器上有超过 1 个 VIP 等级 – 只需添加一些新的档案即可。不同的玩家可以有不同的限制和权限来建造水基地。为了检查播放器应该属于哪个权限配置文件,插件会遍历所有权限配置文件,并检查播放器是否被授予了该权限。权限是按顺序检查的,这意味着如果玩家没有第一个权限,它将尝试列表中的下一个权限,依此类推(类似于 Auto Kits 根据玩家的权限顺序检查要给玩家的工具包)。如果玩家没有从授予的列表中获得任何权限,他们将回退到“default”配置文件。这是你唯一不应该删除的!如果删除它,将创建一个具有默认值的新 MissAV.com |因此,如果您不希望默认的非 VIP 玩家建造水基地,请不要删除默认配置文件,只需取消该配置文件中的权限(例如部署/扩展/增援)。您不必使用内置的 VIP 权限 – 来自任何插件的任何权限都可以!默认情况下,配置中会生成三个权限配置文件:default、waterbases.admin 和 waterbases.vip1。默认权限配置文件将应用于配置文件列表中未列出任何权限的任何玩家 – 让我们看一下:
"PermissionProfiles": { "default": { "PermissionRequired": "default", "MaxBuildingGradeGeneric": "Wood", "MaxBuildingGradeFrames": "Stone", "MaxBuildingGradeWaterFoundations": "Metal", "WaterDepthMin": 2.0, "WaterDepthMax": 100.0, "MaxWaterFoundationsPerBuilding": 25, "MinDistanceFromOilrig": 200.0, "MinDistanceFromShore": 2.0, "MaxDistanceFromShore": 20.0, "CanDeployWaterFoundations": true, "CanReinforceWaterFoundations": true, "CanExpandWaterFoundations": true, "CanExpandReinforcedFoundations": true, "CanCraftWaterFoundations": true, "RequireMaterialsForCrafting": true, "WorkbenchLevelRequired": 2.0, "CanDeployUnderwaterNets": true, }
- PermissionRequired 应包含任何插件以 pluginname.permissionname 的形式注册的现有权限
- MaxBuildingGradeGeneric、MaxBuildingGradeFrames 和MaxBuildingGradeWaterFoundations 定义水基特定部分允许的最高坡度。通用是指不是水基础或门/地板框架的任何事物(包括普通地板、墙壁、半墙和反向基础)。对于这 3 种设置,可接受的选项是 “Twigs”、“Wood”、“Stone”、“Metal” 或 “TopTier”。如果您不希望对水基有任何等级限制,请将它们全部设置为 “TopTier”。
- WaterDepthMin 和 WaterDepthMax 定义了放置水基础时允许的水深范围 – 以确保某些玩家不会在太浅/太深的水中建造。单位 meters。
- MaxWaterFoundationsPerBuilding 顾名思义,它将阻止此权限配置文件下的玩家向水基添加更多水基础,从而限制其大小。设置为较大的值(如 100000)几乎没有限制。
- MinDistanceFromOilrig 将定义在放置水基础之前必须遵守的距最近石油钻井平台的最小距离(以米为单位)。减少可让玩家建造得更近,增加则使他们建造得更远。
- MinDistanceFromShore 和 MaxDistanceFromShore 都依赖于您的地图拓扑。如果您确定自己离海岸很近,但 /shore_distance 命令显示的值很荒谬,这意味着您的地图没有正确绘制拓扑图(请联系地图开发人员并让他们知道!在这种情况下,您应该将配置中的 RelyOnShoreDistance 选项设置为 false,并依赖于水深(如果启用了岸距,它将同时依赖于两者)。这里的单位不是米,而是大约地图网格的 1/10(约 15 米)。
- 如果 CanDeployWaterFoundations 设置为 true,则允许使用此配置文件的玩家部署新启动的地基(使用圆环指南,前提是他们有一个形状合适的水基础物品可供使用)。
- 如果 CanReinforceWaterFoundations 设置为 true,则允许使用此配置文件的玩家通过用锤子敲击水根基来加固水根基(前提是他们有形状合适的水根基物品可供食用)。
- 如果 CanExpandWaterFoundations 设置为 true,则允许使用此配置文件的玩家在已有的水基础上建造更多水基础,方法是将相邻的楼层与他们的建筑平面图一起放置(前提是他们有一个形状合适的水基础物品可供消耗)。
- 如果设置为 true,则允许使用此配置文件的玩家将地板附加到加固基础的一侧 – 只要他们的库存中有 2 个水基础物品,他们就会扩展该加固基础及其水基础。
- 如果 CanCraftWaterFoundations 设置为 true,将允许使用此配置文件的玩家使用右下角的 GUI 制作水地基(在装备建筑平面图时显示)。将此设置设置为 false 的配置文件不会显示这些 GUI,玩家将不得不寻找其他方法来获得水基础(战利品、工具包、服务器奖励等)。
- RequireMaterialsForCrafting,则使用此配置文件的玩家在尝试制作水基础时,需要在其库存中拥有所需的制作材料。如果设置为 false,玩家将能够免费制作无限数量的水基础,因此请谨慎使用它们。
- WorkbenchLevelRequired 设置为 0.0(附近不需要工作台)、1.0(需要 1 级)、2.0(需要 2 级)或 3.0(需要 3 级)来制作水基。
- CanDeployUnderwaterNets如果设置为 true,则玩家将能够在水下墙框架中部署网。如果您的服务器上启用了该功能,这些设置将慢慢积累水下垃圾物品 – 请查看下面的战利品表配置。
水下垃圾和网鲨战利品表
如果您尚未禁用水下网收集垃圾,您可以在此处调整某些物品的种类和稀有度。您甚至可以删除条目并添加自己的条目,包括自定义皮肤和物品名称!“战利品表”可能不是正确的术语,因为该列表包含“捕获”物品属于特定类型的个别几率。一次只能捕获 1 个项目,并且该表为每个可能的条目定义了随机权重。权重越大(与所有权重之和相比),遇到特定项目的几率就越大。因此,如果您有 10 个条目,并且每个条目的权重为 1,则每个条目将有相等的 10% 的机会成为列表中的随机条目之一(因为权重之和为 10)。因此,你可以让一些物品非常常见,而有些物品真的很稀有。以下是列表中的 2 个示例条目:
{ "Shortname": "innertube", "CustomName": null, "SkinID": 2484982352, "RandomChanceWeight": 1.0, "MinRandomAmount": 1, "MaxRandomAmount": 1 }, { "Shortname": "innertube", "CustomName": null, "SkinID": 2485021365, "RandomChanceWeight": 1.0, "MinRandomAmount": 1, "MaxRandomAmount": 1 },
- Shortname 是最重要的一点 – 确保它是正确的!您可以在上面找到这些名称的完整列表的链接。
- CustomName 允许您为网中捕获的项目提供不同的名称。您可以保留该 null 以保留默认项名称。在此示例中,这两个项目是 water foundations – 无论如何,插件都会自动应用这些项目的正确名称。无论你在那里输入什么,请确保将其括在引号中,例如“CustomName”: “My Custom Item Name”(如果它不为空)!
- SkinID 是不言自明的 – 它是 Steam 创意工坊物品 URL 中的长数字。默认情况下,它是 0 (无皮肤)。
- RandomChanceWeight 允许您决定物品在生成时的稀有度 – 相对于其他物品的稀有度。增加或减少这个数字(可以是分数)以使物品或多或少稀有。
- MinRandomAmount 和 MaxRandomAmount 顾名思义 – 它们都应该大于 0(整数),当捕获该特定项目时,堆栈将包含这两个数字之间的数量。
翻译支持 (oxide/lang/en/WaterBases.json)
玩家看到的几乎所有字符串,包括水基金会物品的名称以及聊天和 GUI 中显示的消息,都可以编辑。只需加载插件并让它生成文件 – 编辑后,重新加载插件。