关于 Buoyant Helicopters
允许直升机漂浮在水中。
特征
- 允许迷你直升机、废料运输直升机和攻击直升机漂浮在水中
- (可选)需要车主或飞行员许可才能使车辆保持浮力
- 可选装饰内管的可配置数量、位置和旋转
- 可配置的浮力点数量、位置、大小和力
- 可配置的水下阻力,用于撞击水面时
- API 和 hooks 允许更强大的集成
运作方式
默认情况下,所有迷你直升机、废料运输直升机和攻击直升机都是浮力的,带有装饰性的内胎。内胎坚不可摧,无法捡起。
当以中低速飞行时,您可以简单地降落在水面上并下马。
高速飞行时,您可能会撞穿水面,导致发动机关闭。然后,车辆将缓慢上升到水面。如果您选择留在车内等待浮出水面,您可能会耗尽氧气。
在水面上驾驶直升机时,您不能像在地面上那样驾驶它,但您可以通过按住向下键并按向左或向右将其转到原位。
虽然装饰性内胎被配置为动态的,但它们会在接触水后不久出现,并在离开水后几秒钟内消失。
权限
此插件使用权限系统。要分配权限,请使用 oxide.grant <user 或 group> <name 或 steam id> <permission>
。要删除权限,请使用 oxide.revoke <user 或 group> <name 或 steam id> <permission>
。
或者,您可以要求车主或最近的飞行员获得许可,以便车辆保持浮力。为此,请在配置中为相应的车辆类型进行设置。"Require permission": true
buoyanthelicopters.owner.minicopter
— 如果拥有具有此权限的玩家拥有迷你直升机,则会有浮力。buoyanthelicopters.pilot.minicopter
— 如果当前(或最近的飞行员,如果当前没有飞行员)拥有此权限,迷你直升机将处于浮力状态。buoyanthelicopters.owner.scraptransport
— 如果拥有此权限的玩家拥有 Scrap Transport Helicopters,则会有浮力。buoyanthelicopters.pilot.scraptransport
— 如果当前(或最近的飞行员,如果当前没有飞行员)拥有此权限,则 Scrap Transport Helicopters 将处于浮力状态。buoyanthelicopters.owner.attackhelicopter
— 如果拥有具有此权限的玩家,则 Attack Helicopters 将会有浮力。buoyanthelicopters.pilot.attackhelicopter
— 如果当前(或最近的飞行员,如果没有当前飞行员)拥有此权限,则 Attack Helicopters 将处于浮力状态。
注意:如果你想使用基于所有权的权限,你必须知道直升机在原版 Rust 中没有所有权,所以要让它工作,你必须安装一个授予车辆所有权的插件。例如,Vehicle Vendor Options、Claim Vehicle、Vehicle Deployed Locks、Spawn Mini 和 Vehicle License 都具有与车辆所有权相关的功能。如果您不想处理车辆所有权,可以改用基于试点的权限。
配置
设置和选项可以在 config
目录下的 BuoyantHelicopters
文件中进行配置。建议使用编辑器和验证器,以避免格式问题和语法错误。
Admin debug
(true
或 ) — 确定当直升机变得浮力时是否向附近的管理员显示调试信息。这有助于配置浮力点。违约:。false
false
、 和 部分具有以下选项。Minicopter
Scrap Transport Helicopter
Attack Helicopter
Enabled
(true
或 ) — 确定车辆类型是否支持浮力。违约:。false
true
Require permission
(true
或 ) — 确定飞机类型是否需要车主或最近的飞行员获得许可才能使飞机保持浮力。违约:。false
false
- 注意:直升机在原版 Rust 中没有所有权。如果启用此选项,则必须安装并配置另一个授予车辆所有权的插件。
Underwater drag
— 确定浮力飞行器在水下时有多少阻力。提高此值将降低车辆下沉和上升的速度。如果更改此值,则可能还需要调整每个浮力点的力。违约:。2
Buoyancy points
— 浮力点列表。Position
— 确定浮力点相对于飞行器原点的位置。Size
— 确定浮力点的大小。违约:。2
Force
— 确定在浮力点处施加的力的大小。Decoration
Enabled
(true
或 ) — 确定浮力点是否具有装饰性内胎。false
Dynamic
(true
或 ) — 确定是否仅在接触水时 (以及接触水后的短时间内) 显示装饰性内胎。false
Position
— 确定装饰性内管相对于车辆原点的位置。Prefab
— 确定装饰性内胎的预制件。违约:。assets/prefabs/misc/summer_dlc/inner_tube/innertube.deployed.prefab
Rotation angles
— 确定装饰性内管的旋转。
开发人员 API
API_IsBuoyant
bool API_IsBuoyant(BaseEntity heli)
如果直升机有浮力,则返回 ,否则返回 。true
false
API_AddBuoyancy
void API_AddBuoyancy(BaseEntity heli)
使直升机浮力(如果尚未浮力)。
API_RemoveBuoyancy
void API_RemoveBuoyancy(BaseEntity heli)
使直升机没有浮力。
开发人员 Hook
OnVehicleBuoyancyAdd
object OnVehicleBuoyancyAdd(BaseEntity heli)
当即将向直升机添加浮力时调用。返回以取消。false
OnVehicleBuoyancyAdded
void OnVehicleBuoyancyAdded(BaseEntity heli)
在直升机上添加浮力后调用。
OnVehicleBuoyancyRemoved
void OnVehicleBuoyancyRemoved(BaseEntity heli)
从直升机上移除浮力后呼叫。