About Deployable Zipline
Features
- Allows players to deploy ziplines from a distance using a crossbow
- Allows bidirectional ziplines
- Allows adjusting zipline movement speed, optionally based on incline
- Optionally requires cable to deploy ziplines
- Extensive configuration options to restrict zipline deployment
- Integrates with Economics and Server Rewards to allow buying the Zipline Tool
- Integrates with No Escape to prevent deploying ziplines while Raid blocked or Combat blocked
- Integrates with Remover Tool to provide an alternate way to pick up ziplines
How it works
To deploy a zipline, a player must first obtain a Zipline Tool and some Zipline Cable. By default, the Zipline Tool is a crossbow with a custom skin, and Zipline Cable is rope with a custom skin. Once acquired, the player must shoot the crossbow where they want to start the zipline, then shoot again where they want to end the zipline (no arrows needed). Once the zipline has been deployed, players can ride it just like the vanilla ziplines, by looking up at the top of the start point and interacting with the "Use Zipline" prompt.
Since both the Zipline Tool and Zipline Cable are items, there are many ways you can provide them to players, including via kits, vending machines, and loot tables. The plugin also allows players to purchase them directly with chat commands.
Permissions
This plugin uses the permission system. To assign a permission, use oxide.grant <user or group> <name or steam id> <permission>
. To remove a permission, use oxide.revoke <user or group> <name or steam id> <permission>
.
Admin permissions
-
deployablezipline.protect
-- Allows the player to run thezipline protect
command to toggle protection for any ziplines they deploy. Protected ziplines do not decay, and can only be picked up by players with this permission.
Purchase permissions
-
deployablezipline.buy.tool
- Allows buying the Zipline Tool with thezipline buy
command. -
deployablezipline.buy.cable
- Allows buying Zipline Cable with thezipline buycable <amount>
command.
Tool usage permissions
Depending on how you have configured the plugin, there will be additional permissions like deployablezipline.profile.<suffix>
, one for each profile. The plugin comes with the following profiles by default. Note: Players must have permission to a profile in order to use the Zipline Tool.
-
deployablezipline.profile.balanced
- 4 ziplines max
- 100m max zipline length
- 10 uses per Zipline Tool, but can be repaired
- Allows up to 45° decline and 15° incline
- Disallows monuments
-
deployablezipline.profile.fun
- 6 ziplines max
- 200m max zipline length
- Unlimited uses per Zipline Tool
- Allows up to 45° decline and 45° incline
- Allows monuments
-
deployablezipline.profile.unrestricted
- Unlimited ziplines
- 10000m max zipline length
- Unlimited uses per Zipline Tool
- No angle or location restrictions
Speed permissions
The speed that players move along a deployed zipline can be configured according to the permissions of the player riding the zipline (not the player who deployed it). Each speed profile will have a permission like deployablezipline.speed.<suffix>
. You can make as many speed profiles as you want in the configuration. The plugin comes with the following speed profiles by default.
-
deployablezipline.speed.slow
- 0.25x min uphill speed
- 0.5x max horizontal speed
- 0.75x max downhill speed
-
deployablezipline.speed.balanced
- 0.5x min uphill speed
- 1x max horizontal speed
- 1.5x max downhill speed
-
deployablezipline.speed.fast
- 0.75x min uphill speed
- 1.5x max horizontal speed
- 2.25x max downhill speed
-
deployablezipline.speed.ridiculous
- 5x max speed
-
deployablezipline.speed.ludicrous
- 10x max speed
Commands
This plugin provides both chat and console commands using the same syntax. When using a command in chat, prefix it with a forward slash: /
.
-
zipline buy
-- Purchases a Zipline Tool. Requires thedeployablezipline.buy.tool
permission. By default, it costs100 scrap
. -
zipline buycable <amount>
-- Purchases Zipline Cable. Requires thedeployablezipline.buy.cable
permission. By default, it costs1 scrap
. -
zipline toggle
-- Enables or disables bidirectional mode for ziplines you deploy after running this command. Alternatively, you can press MMB (middle mouse button) while wielding a Zipline Tool. To use this command, you must have permission to a Zipline Tool profile that allows bidirectional ziplines. -
zipline protect
-- Enables or disables protection of ziplines you deploy after running this command. Requires thedeployablezipline.protect
permission. A protected zipline does not decay, and can only be picked up by players who have thedeployablezipline.protect
permission.
Configuration
The settings and options can be configured in the DeployableZipline
file under the config
directory. The use of an editor and validator is recommended to avoid formatting issues and syntax errors.
Zipline tool
-
Zipline Tool
-- Determines which item is considered the Zipline Tool. This item can also be used to pick up ziplines whenPickup restrictions
>Require hammer or zipline tool to pick up zipline
is set totrue
. Players may purchase this tool with thezipline buy
command if they have thedeployablezipline.buy.tool
permission.-
Item short name
-- The short name of the Zipline Tool item. Must be an equippable item. Default:"crossbow"
. -
Item skin ID
-- The skin ID of the Zipline Tool item. Default:2793006815
. -
Purchase info
-
Cost
-- Determines the cost to purchase the Zipline Tool.-
Item short name
-- The short name of the currency item. Default:"scrap"
. -
Item skin ID
-- The skin ID of the currency item. Set to0
to require an unskinned currency item. Default:0
. -
Amount
-- The amount of currency required to purchase the Zipline Tool. Default:100
. -
Use Economics
(true
orfalse
) -- Set totrue
to require Economics currency instead of item currency. Default:false
. -
Use Server Rewards
(true
orfalse
) -- Set totrue
to require Server Rewards currency instead of item currency. Default:false
.
-
-
Attachment item short names
-- Determines which attachments will be added to the Zipline Tool when purchased. Only applies to weapons that can have attachments. Default:["weapon.mod.holosight", "weapon.mod.lasersight"]
.
-
-
Zipline cable
-
Zipline Cable
-- Determines which item is considered Zipline Cable. Note: You can independently configure the condition loss of the Zipline Tool if you want to consume the tool itself.-
Item short name
-- The short name of the item. Default:"rope"
. -
Item skin ID
-- The skin ID of the cable item. Default:2793158547
. -
Cost
-- Determines the cost to purchase Zipline Cable.-
Item short name
-- The short name of the currency item. Default:"scrap"
. -
Item skin ID
-- The skin ID of the currency item. Set to0
to require an unskinned currency item. Default:0
. -
Amount
-- The amount of currency required to purchase Zipline Cable. Default:1
. -
Use Economics
(true
orfalse
) -- Set totrue
to require Economics currency instead of item currency. Default:false
. -
Use Server Rewards
(true
orfalse
) -- Set totrue
to require Server Rewards currency instead of item currency. Default:false
.
-
-
Pickup restrictions
-
Pickup restrictions
-- Determines under which circumstances players may pick up ziplines.-
Require hammer or zipline tool to pick up zipline
(true
orfalse
) -- Set totrue
to require the player to be holding a hammer or the Zipline Tool to pick up a zipline. This only applies to ends of the zipline that use the spear item, since the Tesla Coil end already requires a hammer to pick up. Default:true
. -
Allow pickup while building blocked at other end
(true
orfalse
) -- Set totrue
to allow players to pick up a zipline from one end, while they are building blocked at the other end of the zipline. Default:true
. Note: Regardless of this option, players may not pick up a zipline from an end where they are building blocked.
-
Effects
-
Effects
-- Determines the effects that are played when using the Zipline Tool, or when trying to pick up a zipline.-
Tool impact (player only)
-- Plays when the player hits a surface with the Zipline Tool. Only the Zipline Tool wielder will witness the effect. This provides feedback to the player so they can see where they hit. -
Tool failed (player only)
-- Plays when the player tries to use the Zipline Tool but experiences an error. Only the Zipline Tool wielder will witness the effect. The wielder may experience an error for many reasons, such as being Building Blocked, or due to having insufficient Zipline Cable. -
Tool used
-- Plays when the player successfully places either end of zipline using the Zipline Tool. Other players will witness the effect. -
Deploy succeeded
-- Plays when the player successfully deploys a zipline using the Zipline Tool. Plays on both ends of the zipline. Other players will witness the effect. -
Pickup failed (player only)
-- Plays when the player fails to pick up a zipline due to being Building Blocked. Only the Zipline Tool wielder will witness the effect.
-
Zipline Tool permission profiles
-
Zipline Tool permission profiles
- Zipline Tool profiles allow you to define complex rulesets depending on a user's Oxide permissions. You may define unlimited profiles, but at most one will be assigned to each player. Profiles toward the end of the list have highest priority.-
Permission suffix
-- Determines the permission that you must grant to assign the profile to a player or group. For example, set this to"fun"
to produce the permissiondeployablezipline.profile.fun
. -
Allow tool while building blocked
(true
orfalse
) -- Determines whether the player may use the Zipline Tool while they are standing in a location where they are Building Blocked. -
Allow bidirectional ziplines
(true
orfalse
) -- Determines whether the player is allowed to place bidirectional ziplines. A bidirectional zipline can be mounted from either end. The player can pressMMB
(Mouse3) to enable/disable bidirectional mode. -
Zipline min length
-- Determines the minimum zipline length that the player can deploy. -
Zipline max length
-- Determines the maximum zipline length that the player can deploy. -
Zipline max decline angle
-- Determines the maximum downward angle of ziplines that the player can deploy. Set to90.0
to allow the player to deploy ziplines that go straight downward. Set to0
to only allow ziplines to go across or upward. -
Zipline max incline angle
-- Determines the maximum upward angle of ziplines that the player can deploy. Set to90.0
to allow the player to deploy ziplines that go straight upward. Set to0
to only allow ziplines to go across or downward. -
Zipline max elevation increase
-- Determines the maximum delta between the zipline start position and end position. Set to0
to only allow ziplines to go across or downward. -
Tool condition loss percent per zipline deployed
-- Determines how much condition the Zipline Tool will lose when the player deploys a zipline. Set to0
to allow unlimited uses. Set to100
to allow only one use per Zipline Tool. The Zipline Tool will be destroyed when reaching0
condition. -
Tool cooldown seconds
-- Determines how long the player must wait after deploying a zipline with the Zipline Tool before they can deploy another one. -
Max ziplines at once
-- Determines the maximum number of ziplines that the player may have in the map at once. -
Cable cost
-- Determines how much Zipline Cable will be consumed when deploying a zipline.-
Cost per meter
-- Determines how much Zipline Cable is required per meter. Set to0
to not require any Zipline Cable. Set to a fraction such as0.5
to allow each unit of Cable to cover multiple meters. -
Refund amount per meter on pickup
-- Determines how much Zipline Cable is refunded when the player's ziplines are picked up. Set this to the same value asCost per meter
to allow players to recover all their Zipline Cable when picking up a zipline. Set to less thanCost per meter
to effectively impose a penalty by refunding less than what was spent.
-
-
Start point ruleset
-- Determines the locations at which the player can place a zipline start point.-
Allow while building blocked
(true
orfalse
) -- Determines whether the player can remotely place this end of the zipline at a location where they are Building Blocked, regardless of whether they are standing in a Building Blocked location. -
Min height above terrain
-- Determines how close to terrain the player can deploy this end of the zipline. Set to0
to allow placing a zipline at terrain level. -
Max deploy distance
-- Determines the maximum distance away from the player that they can place this end of the zipline. -
Allowed layers
-- (Advanced) Determines the Rust object layers to which the player can attach this end of the zipline. The player will not be able to attach a zipline to objects on other layers. Allowed values:Default
,TransparentFX
,Ignore_Raycast
,Reserved1
,Water
,UI
,Reserved2
,Reserved3
,Deployed
,Ragdoll
,Invisible
,AI
,Player_Movement
,Vehicle_Detailed
,Game_Trace
,Vehicle_World
,World
,Player_Server
,Trigger
,Player_Model_Rendering
,Physics_Projectile
,Construction
,Construction_Socket
,Terrain
,Transparent
,Clutter
,Debris
,Vehicle_Large
,Prevent_Movement
,Prevent_Building
,Tree
,Unused2
. -
Disallowed topology
-- (Advanced) Determines the types of Terrain Topology to which the player cannot attach this end of the zipline. Set to[]
to allow all types of Terrain Topology. Allowed values:Field
,Cliff
,Summit
,Beachside
,Beach
,Forest
,Forestside
,Ocean
,Oceanside
,Decor
,Monument
,Road
,Roadside
,Swamp
,River
,Riverside
,Lake
,Lakeside
,Offshore
,Rail
,Railside
,Building
,Cliffside
,Mountain
,Clutter
,Alt
,Tier0
,Tier1
,Tier2
,Mainland
,Hilltop
.
-
-
End point ruleset
-- Determines the locations at which the player can place the zipline end point. Same options asStart point ruleset
. -
Zipline decay settings
-- Determines how quickly deployed ziplines decay while outside of Tool Cupboard range. Note: Only one end of the zipline must be within Tool Cupboard range to protect it from decay. Also, instead of taking damage, the zipline will simply disappear when the decay time has elapsed.-
Enabled
(true
orfalse
) -- Determines whether decay is enabled. Default:true
. -
Decay minutes
-- Determines how long a zipline is protected from decay after being deployed, or after nearby Tool Cupboards are removed. Default:60
.
-
-
No Escape integration
-- Determines whether the player can use the Zipline Tool while Raid Blocked or Combat Blocked, as determined by the No Escape plugin.-
Allow tool while raid blocked
(true
orfalse
) -- Set tofalse
to prevent the player from using the Zipline Tool while they are Raid Blocked. -
Allow tool while combat blocked
(true
orfalse
) -- Set tofalse
to prevent the player from using the Zipline Tool while they are Combat Blocked.
-
-
Speed permission profiles
-
Speed permission profiles
-- Speed profiles allow you to configure how quickly players move along ziplines, depending on the Oxide permissions of the player riding it. You may define unlimited speed profiles, but at most one will be assigned to each player. Speed profiles toward the end of the list have highest priority.-
Permission suffix
-- Determines the permission that you must grant to assign the speed profile to a player or group. For example, set this to"balanced"
to produce the permissiondeployablezipline.speed.balanced
. -
Move speed
-- Determines the max speed that applies when the player is not holding the forward key. -
Bonus move speed
-- Determines the additional max speed that applies when the player is holding the forward key. This value is added on top ofMove speed
to determine the total max speed. -
Acceleration time (seconds)
-- Determines how many seconds it will take the player to reach max speed after mounting the zipline. -
Downhill speed bonus
-- Determines how much to increase speed while going downhill.-
Percent increase per angle degree
-- Example: While this is set to1.0
, going downhill at a 45° angle will increase max speed to 145%. -
Max speed percent
-- Example: whilePercent increase per angle degree
is set to1.0
, and while this is set to130.0
, going downhill at a 45° angle would increase speed to only 130% instead of to 145%.
-
-
Uphill speed penalty
-- Determines how much to decrease speed while going uphill.-
Percent decrease per angle degree
-- Example: While this is set to1.0
, going uphill at a 45° angle will decrease max speed to 55%. -
Min speed percent
-- Example: WhilePercent decrease per angle degree
is set to1.0
, and while this is set to70.0
, going uphill at a 45° angle would decrease speed to only 70% instead of 55%.
-
-
Localization
The default messages are in the DeployableZipline
file under the lang/en
directory. To add support for another language, create a new language folder (e.g. de
for German) if not already created, copy the default language file to the new folder and then customize the messages.