Jump to content

AlaEddine Yahia's Wishlist

  1. More information about "Pocket Dimensions"

    $24.99

    Pocket Dimensions

    Introducing portable 3 x 3 bases in a box - that you can carry in your inventory! Deploy them and open them to go inside - to store, craft, smelt, grow, party... live. Expand and maintain the upkeep to protect from raiders. Pick them up and deploy somewhere else. Think outside of the box... and inside too!

    Questions? Support? Join the discord: https://discord.nikhub.dev

    WATCH THE TUTORIAL BY SRTBULL!

    AS FEATURED BY SHADOWFRAX! (around 0:55 mark)
     
    Just like the TARDIS from Doctor Who, they're bigger on the inside! In the "real" Rust world, an entire 9x9x9 metre large (over 25000 cubic foot) Pocket Dimension fits neatly inside of a Small Wooden Box. You can skin that box any way you like to camouflage or disguise it - whatever the player's Workshop Skins / server skin plugins allow.
    Players can convert existing buildings into Pocket Dimensions easily with one button in the Tool Cupboard's UI. Or if that's too much of an effort, entire, fresh, ready-to-be-moved-in Copy Paste files can be sold as boxes with your own, custom defined skin - this is entirely optional and requires Copy Paste, more on that in the dedicated section below. Whether to allow either approach is entirely up to your configuration.
    By default, the configuration allows raiding the Pocket Dimensions in several different ways - but if you're planning on running this plugin on a PVE server and you don't want any of that, there's many configuration options that can be adjusted to enhance your server experience. Both styles of servers have their own dedicated sections on this page - just read below.
    Make sure you maintain the integrity of your Pocket Dimension! If any of the external structures (wall/doorway) of the Pocket Dimension building  either 1) decays 2) is raided 3) is removed by an admin/plugin, or 4) the box housing the dimension itself gets destroyed, the Dimension will Collapse, teleporting all players inside of it, and dropping all contents of storage containers, turrets, the Tool Cupboard, and anything else that can store any items, to the location where the box is/was last deployed. Easy come, easy go!
    You can pick the Pocket Dimension boxes up and move them somewhere else at any time, and everything will still be there. You can even deploy Pocket Dimensions inside Pocket Dimensions inside Pocket Dimensions... a box-ception! By default, the configuration does not allow picking up boxes with players inside of them, but you can toggle this setting.
    Quick Start
    As an admin: make sure you grant your groups/players appropriate permissions from the list below. Make sure Copy Paste, No Escape and Server Rewards / Economics are loaded in and configured properly, if you're planning on utilising any of the extended capabilities. More on the support for those plugins below. That also goes for any potentially compatible plugins that dispense/support skinned box templates from the config, like Kits or Shop by Mevent, or Copy Paste - based plugins, like Raidable Bases. As a player: make a 3 x 3 x 3 cube that meets the validity requirements (more on that below) - if you have the proper permission and the appropriate amount of required currency, open the Tool Cupboard and press the pink "Convert to Pocket Dimension" button. If built correctly, you will now receive a box containing that entire cube inside. Alternatively, deploy a new Small Wooden Box skinned with a skin ID mentioned in the config that references a valid Copy Paste template - no construction by players necessary, but still possible. This plugin comes with several pre-built, already known to be valid Pocket Dimensions, ready to be enjoyed by your players. Permissions (Oxide.Grant user YourName [permission name starting with pocketdimensions.])
    This plugin utilises the plain Oxide permission system. For a quick setup on a typical server, grant yourself the pocketdimensions.admin permission, and grant the default group in Oxide the pocketdimensions.player.all permission.
    pocketdimensions.admin - this permission is required to execute the admin commands mentioned in the section Admin Commands just below this section. pocketdimensions.player.all - this permission is the quick-start equivalent of giving all 4 permissions mentioned below. Don't grant this if you want a more customised permission setup. For example, if you don't want to allow respawning inside and converting by players, and you only want to allow deployment/pickup and entering/exiting, use the combination of the 4 permissions below. pocketdimensions.deploy.pickup - holders of this permission can deploy and pick up Pocket Dimension boxes, be it already existing ones and fresh ones based on skin ID/Copy Paste file combo in your config. Of course, this takes into account building block/other conditions, too. pocketdimensions.player.enter.exit - holders of this permission can enter Pocket Dimensions by opening their boxes, and exit them by interacting with their portals. If a player doesn't have that permission, they will be informed upon opening/interaction, and barred from traversing in/out. pocketdimensions.player.convert - holders of this permission can create new Pocket Dimensions by converting an existing building from its Tool Cupboard's UI - as long as they have the required amount of currency (certain required item / Server Rewards / Economics), and the building itself meets the structural requirements. Players without this permission won't even see the conversion button in the UI. pocketdimensions.player.respawn - holders of this permission can respawn on bags, beds and towels deployed inside Pocket Dimensions. If a player doesn't have that permission, and a bag is deployed by them (or someone else bags them in) inside a Pocket Dimension, the players will not see that bag on their Death Screen as a possible respawn location. Admin Commands (require the pocketdimensions.admin permission)
    These commands can be executed both from console and the chat - in case of chat, they must be prefixed with a forward slash ( / ), and in case of console, no forward slash.
    /pd.check
    Come close to a TC and look directly at it, then issue this command from the chat or F1 console. It will perform the validity check without actually converting anything. If any problems are found, it will tell you exactly what's wrong. Useful for making your own Copy Paste templates.
    /pd.convert
    Come close to a TC and look directly at it, then issue this command from the chat or F1 console. It will first perform the validity check. If any problems are found, it will tell you exactly what's wrong. Then, if no problems are found, it will convert the building into a Pocket Dimension and you will receive it as a deployable Small Wooden Box item.
    /pd.lostnfound
    When a Pocket Dimension Item despawns, is recycled, is placed in a container that gets destroyed, or is otherwise removed from the world, the Dimension that it represents will be marked as "lost". This special marking will NOT happen as long as the Item still exists in a container (including players' inventories) somewhere in the World. Pocket Dimensions marked as "lost" can then be reclaimed as a newly created Item tied to the building by an admin, deployed and inspected, and given back to the rightful owner... or Collapsed by the admin, if the admin has a hunch that the player "lost" their dimension on purpose so nobody would be able to access anything while the player was offline.
    Using this command will either give you ALL newly reclaimed box items (so make sure you have room in your inventory), or it will tell you there's nothing in the lost-and-found to be reclaimed.
    /pd.givebox [skin ID or Copy Paste filename] [optionally: player partial name / full steam ID]
    Use this command to create a Small Wooden Box item, skinned with a special skin mentioned in your config, and then given to a player. A new Pocket Dimension based on the Copy Paste template will be created inside of that box the first time it's deployed somewhere.
    This command requires Copy Paste to be installed to work properly, and a properly set up Skin ID - to - Copy Paste filename entries in your config. The filenames mentioned must exist in your Copy Paste data folder, too.
    Use the first parameter to identify the template mentioned in your Copy Paste section of the config either by its skin ID or its Copy Paste file name. Multiple skin IDs can lead to the same Copy Paste filename, so if you're identifying the template by filename, the skin ID of the first entry in your config that leads to this file name will be picked as the skin of the newly created and given box.
    If the optional second parameter is not provided, it will be assumed a freshly skinned box should be given to the player executing this command - typically an admin. This command can be used by plugins that support executing commands with the STEAM ID or player name parameter.
    /pd.emergencycleanup
    Use this as a last resort to completely get rid of ALL Pocket Dimensions entities on the server  for whatever reason. This is a very experimental plugin after all and things COULD go wrong... This includes all the Pocket Dimension buildings, their contents, loot inside of them, and the boxes containing Pocket Dimensions deployed in the world. If a dimension was not deployed as a box, but held as an Item in a container, those items will NOT be removed, but when deployed, the player will be informed that its associated Pocket Dimension was raided or decayed away. USE WITH CAUTION, THIS COMMAND CANNOT BE UNDONE.
    Those are all the admin commands so far. There's no player commands, as I consider them to be the last resort option when there's just no other elegant way of player input/interaction.
    What makes buildings "valid" candidates to be used as a Pocket Dimension?
    Not every building is viable to be converted. Generally speaking, a 3 x 3 x 3 cube with exactly 1 external single doorway anywhere on the side must be constructed - and nothing else on the outside (apart from the potential exception for Solar Panels / Wind Turbines on the roof, if your config allows them). The building blocks can be of any tier or a mix of tiers - from Twig to Armoured. It doesn't matter what's inside of the cube, only the outer "shell" matters. Once converted into a Pocket Dimension, players can build/expand/demolish inside just like they would with regular bases.
    To be more specific, when a check for the validity of a building is made, the following criteria are tested for, and the answer to each consecutive question must be "yes" before the test proceeds to the next question - if the answer is "no", the player will be informed of the reason:
    Does the building have exactly 9 square foundations overall? Does the building have exactly 9 square floors overall (presumably, for the ceilings)? Does the building have at least 1 single doorway overall? Does the building have at least 35 normal walls overall? Are the 9 square foundations all at the same level? For each of the 9 square foundations, does it have a matching square floor for ceiling, exactly 9 metres above it? Is the building's middle foundation NOT marked as belonging to a Pocket Dimension already? Does the building have either a normal wall (or a single doorway, but only one) all 4 sides, and not a wall frame, window frame, or a missing building block, to make the shell "air-tight" and prevent players from falling out of the Dimension into the void? Does the building have exactly 1 single doorway - no more, no less - on the external shell? Is the only external doorway currently "empty", i.e. no doors / vending machines are deployed there at this moment? If the config doesn't allow Solar Panels / Wind Turbines placed on the ceiling, is the building free of those potentially forbidden structures? Are all the electrical/water entities inside of the 3 x 3 x 3 cube free of any wire/hose connections to entities outside of that cube? (if Solar Panels / Wind Turbines are allowed in your config, those entities get a special pass at this stage of the check)  Is the building free of ANY entities "sticking out" from the 3 x 3 x 3 cube - for instance roofs, honeycombs, porches, SAM sites, stairs etc, or Solar Panels / Windmills if your config does not allow them? If the answer to all those questions is a resounding "yes" -  don't worry, it's the plugin's job to ask and answer those, not you! - the building is considered valid and as such can be converted into a Pocket Dimension! You will be informed of the result, whether it was successful or not.
    Raiding Pocket Dimensions (only applies to the default PVP-enabled settings)
    This is the default behaviour on a fresh configuration. If you're planning on running this plugin on a PVE server (player vs. environment, i.e. no raiding/hurting between human players themselves), you can skip this section and go straight to the Recommended PVE Settings section below.
    There are two main ways of raiding a Pocket Dimension:
    From the inside, by damaging the building structures belonging to the external shell - either the wall or the doorway housing the exit portal From the outside, by damaging the deployed Pocket Dimension box. By default, no locks can be placed on boxes containing Pocket Dimensions, to allow players raiding from the inside, too - but this setting can be toggled if you only want players to raid the boxes in the boring way. Of course, anything INSIDE of the Pocket Dimension can - and should - be locked!
    When raiding from the outside, on default configuration, the dimensional box will take 2% (1/50) of the damage it would normally take if it were just a regular Small Wooden Box. In other words, on default configuration, it takes about 7-8 C4 charges to make the dimension inside of it Collapse (so more or less as much as an Armoured-tier foundation).
    Just like with regular vanilla building raids, the same strategies (or combinations of those) can be applied here, too:
    The Deep - get in, take the goods, get out, leave, say GG to the building owner, who gets to keep their Pocket Dimension. The quintessence of sportsmanship in Rust raiding. The Grief - get in, take the goods (or not), make the building unusable till it eventually decays (and the dimension Collapses), leave. Highly malicious, but sometimes the only option... The Yoink - get in, take the goods, re-seal the entrance, and claim the dimension as now yours. You might want to move its box to another location though. The End - get in, and immediately start damaging one of the external blocks of the shell (typically the doorway housing the exit portal, or a wall next to it - or even both!). As soon as one of the external shell elements is gone (or is "ent killed" by an admin, or removed with a plugin), the entire dimension Collapses. More on dimensional Collapses in the section below. Recommended PVE Settings (only applies to default PVE-enabled settings)
    This will require adjusting some config settings and reloading the plugin. If you're planning on running this plugin on a PVP server (player vs. player, i.e. raiding/hurting between human players allowed), go back to the Raiding Pocket Dimensions section above - most default settings should work fine in the majority of scenarios. To find out what each of these  recommended settings does, check out the Configuration section below for details.
      "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, Collapse of a Pocket Dimension
    All good things eventually come to an end. "Collapse" in this context means that a certain Pocket Dimension and all its associated entities get destroyed and in the end, it's as if the Pocket Dimension never existed at all - save for all the juicy loot dropped from it.
    This can happen when...
    The box containing a Pocket Dimension gets "ent killed" by an admin/plugin, or gets damaged to the point of destruction One of the external shell structures inside of the Pocket Dimension (wall/external doorway) gets "ent killed" by an admin plugin, or decays/gets damaged to the point of destruction The exit portal housed in the external doorway gets "ent killed" by an admin/plugin Under normal circumstances, on a typical PVP server, you only expect the Pocket Dimensions to Collapse when they decay away, are raided, or purposefully removed by an admin (by "ent killing" the box or the external shell structure).
    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!
    During the Collapse, the last known position of the box associated with the Dimension will serve as the nexus point, where...
    All players inside of the dimension, asleep or online, alive or as dead bodies or bodybags, will be teleported to the nexus point, unharmed All entities that have an inventory, i.e. something stored inside of them - TC, boxes, turrets, traps, lockers etc - will drop their grey loot bags at the nexus points, as if all those entities were raided at the same time All building blocks and other structures will die, crumbling with gibs at the nexus point If the collapsing Dimension also contains Pocket Dimensions inside of it, and so on (A.K.A. box-ception), the entire "tree" collapses as well, at the root. That way, the best way to raid is always at the Dimension deployed directly in the world (the first one in the "box-ception" sequence), because it involved the least materials and effort.
    Works great with CopyPaste (and any plugin utilising it, like Raidable Bases)
    This plugin is fully compatible with Copy Paste and includes it as an optional dependency: i.e. Copy Paste is not needed for Pocket Dimensions to operate, but can potentially enhance the player's experience with extra capabilities. It's strongly recommended. Both the uMod version and the custom patched version distributed to work with Raidable Bases will work.
    As an admin, you can /copy and /paste a building and either convert it straight away (either with a command or in the Tool Cupboard UI), or just check if it's a valid candidate to be converted - more on validity below. You can also define some Skin IDs as special in the plugin configuration: when boxes with those particular skins are spawned for the first time (either being deployed by players, spawned/pasted by other plugins - Copy Paste itself or plugins utilising it, like Raidable Bases, or entirely separate plugins ), whatever Copy Paste filename you define, this box will be instantly made into a Pocket Dimension containing everything from the building that was copied under that name. And after that, the box can be re-skinned without any issues, too.
    You can also use the /pd.give command to give individual fresh Pocket Dimensions to players, by name or steam ID (look in the section Admin Commands above) from the server / F1 console or the chat - it's made in a way that shop/kit plugins relying on custom commands can utilise those easily. Useful if you don't want your players to convert their own buildings.
    Pocket Dimensions plugin even comes with a few predefined templates for those, so you can see how to set up your own. Just issue the /pd.give command without any arguments to get the list. If you want them to work properly, make sure you install the latest version of Copy Paste, and also upload the included Copy Paste files to the proper folder on your server.
    Compatible with Server Rewards / Economics
    Converting a valid building to a pocket dimension should NOT be free - and it isn't. By default, players need to deposit 500 Scrap into the TC - or have that amount ready in their inventory, both will work. You can adjust the amount and the shortname of the currency item in your config to your liking. You can even make it so that not only the shortname of this currency item is checked, but also its skin - useful if you have plugins that come with custom items.
    But you can also use Server Rewards or Economics as potential currencies, too! Check out the Configuration section above for more details. For this, either Server Rewards or Economics must be installed, depending on which one you want to use.
    Additionally, boxes with skin IDs mentioned in your config (leading to Copy Paste templates) can be sold in the Server Rewards shop, so it works both ways.
    Compatibility with No Escape
    If you don't use the No Escape plugin on your server, you can skip this section.
    Pocket Dimensions are just regular bases in many regards, so damaging any entities belonging to them will impose a Raid Block, and attacking any players inside will impose a Combat Block.
    Both of these count as an Escape Block. If this plugin detects that a player is Escape Blocked, several optional restrictions can be enabled/disabled in the Pocket Dimension config, to change how this Escape Block affects the gameplay for affected players:
    Entering Pocket Dimensions Exiting Pocket Dimensions Deploying Pocket Dimension Items into Boxes Picking up Pocket Dimension Boxes into Items Compatibility with other plugins
    Any plugin capable of issuing /utilising skinned items / spawning skinned Small Wooden Boxes, should work with Pocket Dimensions right out of the box (pun not intended). If there are any that have issues, please don't hesitate to let me know.
    Configuration (oxide/config/PocketDimensions.json)
    Below is a rundown of all the config values (and their defaults) that, combined with player permissions, will affect the gameplay on your server. Everything apart from the advanced stuff (like positioning/styling of the TC UI Button, or the CopyPaste templates) is explained in this section:
    "DimensionalBoxesSubtractItemConditionWhenPickingUp": 0.0,
    It would be highly inconvenient to be forced to constantly fix your Pocket Dimension box pretty much every time you pick it up, so this value will determine how much condition (in the range of 0.0 to 1.0, representing 0% to 100%) will be lost - and by default, it's 0.0, so the box will only lose condition when damaged. Set it to higher values (but never more than 1.0) to discourage players from moving their boxes too much, too effortlessly.
    "DimensionalBoxesAllowLockingWithLocks": false,
    Self-explanatory. By default, if a Key Lock or a Code Lock is placed on a Pocket Dimension box (be it automatically, with plugins, or manually, by players), the lock will just fall to the ground. It's to give the raiding players an opportunity to do the arguably HARDER option for raiding (statistically speaking) a dimension - from the inside. Set this to true to disable this behaviour and allow locks.
    "DimensionalBoxesAllowDamage": true,
    By default, boxes containing Pocket Dimensions will take damage - this enables the arguably easier raiding option, to raid from the outside, by destroying the box. How much damage is taken depends on the ResistanceDivisor value defined below. Set this to false if you want to make deployed Pocket Dimensions indestructible from the outside, by not letting players damage the box that contains it.
    "DimensionaBoxesDamageResistanceDivisor": 50.0,
    This value will determine how much stronger a Dimensional box is compared to its regular Small Wooden Box counterpart. For example, the default value of 50 means that it takes 50 times less damage, i.e 2% (1 divided over 50). Increase and decrease this value to make raiding from the outside harder or easier, accordingly.
    "DimensionalBoxesAlwaysHaveStability": true,
    This setting is true by default and it means that if a floor/foundation that the Dimensional box is placed on is suddenly destroyed, the box itself will remain floating in the air, instead of being destroyed along with it. It basically treats all boxes with Pocket Dimensions as if they were always placed directly on indestructible terrain. Of course, this never applies to Dimensions that are collapsing - no child Dimension in a "box-ception" sequence will ever remain floating "in Narnia". Set this to false if you want to make raiding the Dimensions from the outside easier if a box is not placed directly on actual terrain.
    "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,
    Allowing pretty much unlimited AND unchallenged electrical power inside of a Pocket Dimension can have several consequences for gameplay - and as such the default is false. Also, when the wires connection to the Solar/Wind generators on the roof are severed, the only way to restore them is with an intervention of an admin using "noclip". If you don't want your players to rely on fuel generators when inside of a Pocket Dimension, set this to true.
    "DimensionalPocketsAllowTestGenerators": true,
    Similar to the setting above, just dealing with Test Generators (either the static one, static invisible one, or deployable one). Normally those cannot be obtained by regular players (unless admins/plugins are involveds), and as such, this setting is true. If you have plugins/kits that make it possible for players to get them/spawn them, you should set it to false.
    "DimensionalPocketsTrapImmunityAfterTeleport": 1.5,
    When you enter an unknown Pocket Dimension, you never know if a shotgun trap or a turret are placed aiming right at the entry portal. Similarly, when you're inside of a Pocket Dimension, you don't know what's going on outside, so you can never be sure if somebody hasn't placed a trap aiming at the box containing the Dimension. Because of that, the default cooldown to be targeted by auto-traps right after a player enters/exits a pocket dimension is set to 1.5 seconds. Make it longer or shorter as you please, just not negative, and preferably no longer than 60 seconds.
    "DimensionalPocketsExteriorBlocksAllowNonDecayDamage": true,
    This effectively enables Collapsing an entire Pocket Dimension by attacking one of its external shell blocks (wall/doorway) from the inside - and as such, it's set to true. If you want to make the entire external shell impervious to damage (other than decay damage), set this to false.
    "DimensionalPocketsActualAltitudeMin": 3200.0,
    So here's the trick: in reality, the actual Pocket Dimension buildings exist at a randomly picked position on the map, but high up in the sky, and players are physically teleported to and from them - so it creates an illusion of being in a completely secluded place outside of "normal reality", where you can't even hear anything happening on the actual map. Similar to how Halloween Portals work. This setting defines the minimum random altitude at which Pocket Dimensions will physically reside for the duration of the wipe - by default, 3200 metres (3.2 kilometres, or roughly 2 miles). Adjust it if you have any other plugins that spawn things high up in the sky. IT'S NOT RECOMMENDED TO SET IT TO LOWER THAN 1000 - PLAYERS INSIDE MIGHT THEN HEAR THINGS HAPPENING ON THE ACTUAL MAP, LIKE C4, SUPPLY PLANES, HELI ETC.
    "DimensionalPocketsActualAltitudeMax": 3900.0,
    Similar to the setting above, this defines the maximum altitude. Both settings, together, effectively create a cuboid space high up in the sky, where Pocket Dimensions are expected to actually physically reside, at randomly picked locations. By default, this value is set to 3900.0, and there's a very good reason for that: AT EXACTLY 4000 METRES OF ALTITUDE, ALL PLAYERS WILL INSTANTLY DIE, INCLUDING ADMINS IN GOD MODE, AND THIS IS VANILLA RUST BEHAVIOUR. AS SUCH, IT IS NOT RECOMMENDED TO SET THIS VALUE TO HIGHER THAN DEFAULT.
    "DimensionaPocketsAllowVendingMachineBroadcast": false,
    While on the topic of maintaining an illusion - allowing players to effectively broadcast the location of their Pocket Dimension on the map would definitely break that illusion, so this value is false by default. Players who try to enable broadcasting in the Vending Machines deployed inside Pocket Dimensions will receive a warning instead, and the broadcast won't be enabled. Set this to true if you honestly couldn't care less about a visual detail like that.
    "DimensionalPocketsRespawningInsideRequiresDeployment": true,
    A safeguard against players trying to respawn inside bags/beds/towelrs in dimensions that are not currently deployed, to prevent the players from being effectively stuck inside (until they respawn somewhere else, at least, or until the box is re-deployed on the outside).
    "DimensionalPocketsTeleportingInsideRequiresDeployment": true,
    Similar to the setting above, but rather than dealing with respawning inside sleeping bags, this will prevent players from teleporting into a pocket dimension that is currently not deployed (works for any type of warp/teleport plugin). NOTE: Admins who are currently in noclip are allowed to teleport as they please, this is only checked for regular players.
    "DimensionalPocketsMaxInceptionDepth": 10,
    If you want to limit the amount of dimensions inside of dimensions inside of dimensions etc, this is the setting for you. If you change this value mid-wipe, only newly deployed boxes will be checked to see if they stay within the limit, and it won't affect already existing dimension trees.
    "DimensionalPocketsLocationMinTemperature": 15.0,
    When a new random location for a pocket dimension is checked, this setting will ensure that the biome-based temperature at 12PM (noon) will always be larger than this value. Decrease this value if you want a cooler climate.
    "DimensionalPocketsLocationMaxTemperature": 32.0,
    Similar to the setting above, this will put the upper limit on the biome-based temperature at 12PM (noon) when a new random location for a Pocket Dimension is considered. Increase this value if you don't mind a hotter climate.
     
    "EffectPlayerTeleportAppear": "assets/prefabs/missions/portal/proceduraldungeon/effects/appear.prefab",
    This is a purely cosmetic setting. When a player enters or exits a Pocket Dimension, it counts as a teleport. An audio-visual effect of your choosing will be played at the player's new location when that happens. By default, it's the same one used for the Halloween Dungeon. You can use most prefab effect on this list, just filter by "effect" in the "Search" box.
    "EffectPlayerTeleportDisappear": "assets/prefabs/missions/portal/proceduraldungeon/effects/disappear.prefab",
    The counterpart of the setting above - it just creates an effect at the old position of the player that's being teleported. And similarly, it's an effect from the Halloween Dungeon. Check out the prefab list I linked above if you want to use a different effect. You can use the Play FX plugin to test all the ones you can find in-game first, before you commit.
    "EffectsPlayerTeleportEnable": true,
    Effects can be loud and attract attention. Maybe you don't want. By default, the teleport effects are enabled, but if you set this setting's value to false, no special effects will be played while players are entering or exiting.
    "CheckEscapeBlockWhenEnteringDimensions": true,
    If you have No Escape installed, this will prevent players that are Escape Blocked from entering Pocket dimensions, like the name suggests. By default it's true. Feel free to change it to false if you believe that players raiding from the outside should still be able to enter inside.
    "CheckEscapeBlockWhenExitingDimensions": true,
    Again, if you don't have No Escape installed, ignore this setting and the next two after that. Similar to above, just when exiting the dimensions. Players will be informed that they cannot exit or enter dimensions for the reason of being Escape Blocked. Change the default value to false if you feel like the Escape Block should not matter for exiting.
    "CheckEscapeBlockWhenDeployingDimensions": true,
    No Escape specific setting number 3. You get it by now: if this setting is true (and it IS by default), Escape Blocked players won't be able to deploy any Pocket Dimension Items into their Box form that can be entered. Change the default "true" value to false if you consider this restriction to be too tight.
    "CheckEscapeBlockWhenPickingUpDimensions": true,
    And the last setting that's applicable to No Escape - it's the reverse of the one above. By default, players with an Escape Block imposed on them cannot pick up boxes with Pocket Dimensions inside. Change this to false if you beg to differ.
    "ForbiddenCommandsInsideDimensions": ["tp","warp","back","home","tpr","tpa","kit"],
    This blacklist contains the default chat and console commands that players without the admin permission will NOT be able run, while they themselves are within the Pocket Dimension layer altitude range. You can add or remove your own sets of commands (do not include the forward slash).
    "ForbiddenCommandsCheckingEnabled": true,
    If you set this to false, this will disable relying on the blacklist above, and any command will be permitted inside a Pocket Dimension to be executed by any player.
    "ConversionCostCurrencyUsed": "CustomItemAmount",
    By default, conversion from a normal base to a Pocket Dimension costs a certain physical Item that exists in Rust, and that setting is reflected by the value of "CustomItemAmount". If you instead prefer Server Rewards / Economics to be used to pay for conversion, set this value to "ServerRewards" or "Economics", respectively. You can even set this to "NoCost" - and the conversion will be free for the player (but the base will still need to be built correctly and maintained).
    "ConversionCostAmount": 500,
    500 scrap to convert sounds like a moderate amount. 500 RP, or ¤500 however, do not - so you can adjust this amount to be higher or lower however you like,depending on your currency used. Only integers larger than 0 are accepted.
    "ConversionCostCustomItemShortname": "scrap",
    What else but "scrap" by default - the universal currency. Of course, if you picked Server Rewards or Economics instead, this setting won't matter in the slightest. Whatever valid item shortname from the approved list you pick, this is what players will be charged for conversion. Since not everything can be put in the TC, it will also check the player's inventory for that item.
    "ConversionCostCustomItemOverrideName": null,
    Again, this only applies to the "CustomItemAmount" option. If you want to use a completely custom item, for example, one registered by another plugin, that has a different icon/behaviour, those items often have a custom name. If this value is null (with no quotes) or empty (just the "" quotes), the Item's definition name translated to the client's language will be used.
    "ConversionCostCustomItemSkinID": 0,
    And finally: if you only want to accept certain skinned variants of an item - again, useful for plugins with custom items like Water Bases - set the default value of 0 to any valid item ID available on the Steam Workshop. This setting will also be ignored if your currency is not set to "CustomItemAmount".
    There's a few more settings, but these are all the most important ones that will shape your unique server experience.
    Translation support (oxide/lang/en/PocketDimensions.json)
    Almost every string the players see, including the text displaying in the chat and the GUI, can be edited. Just load the plugin and let it generate the file - after you edit it, reload the plugin.
    Hooks/API (for plugin developers)
    You can call these through Interface.CallHook() as well, if you don't want to add a [PluginReference]
    //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);  
  2. More information about "Water Event"

    $40.00

    Water Event

    A new event includes a lot of game mechanics
     

    Description
    The event starts with a warning in the chat: a submarine will soon be passed near the island.
    A submarine will appear on the water when the time is up.
    There are 4 floors in the submarine. 2 floors are over the water and 2 floors are under the water.
    It is possible to get into the submarine on absolutely any transport. There are 4 outside entrances, 4 underwater entrances, and 2 submarine entrances (added in the Underwater Update).
    There are about 50 NPCs outside the boat and two upper floors.
    There are about 120 crates of items, rooms with blue and red doors, locked crates, recyclers, workbenches in the submarine (it is possible to set up in the configuration).
    There are also 4 cameras on the submarine that you can connect to (Submarine1, Submarine2, Submarine3, Submarine4).
    The number and location of all NPCs and crates can be changed in the plugin configuration. It is also possible to change the dropdown items in them.
    It is necessary to blow up the doors on the submarine with explosives to get to the crates (it is possible to set up the amount of damage to the doors in the configuration).
    When an event appears, a marker will display on the map (configurable in the configuration file).
    It is possible to set up in the configuration the PVP zone for those who use the TruePVE plugin.
    A timer with a countdown to the Event end and the number of crates and NPCs will display for all players in the Event zone.
    The conditions for the completing event are the end of the timer or the end of the loot crates.
    The submarine will disappear at the end of the event.
    It is possible to set up an automatic event appear on the map. All timers can be set up in the configuration.
    It is possible to lower the FPS on the server due to the large number of entities during the submarine appearance or the end of the event!
     
    Dependencies Required
    NpcSpawn  
    Dependencies (optional, not required)
    True PVE PveMode GUI Announcements Notify Discord Messages AlphaLoot CustomLoot NTeleportation Economics Server Rewards IQEconomic Kits  
    Chat commands (only for administrators)
    /waterstart - start the event
    /waterstop - end the event
    /waterpos - determining the position and rotation coordinates for changing the location of NPCs and crates.It should write in the configuration (Attention! The event must be started, the current position of the administrator in relation to the submarine is read)
     
    Console commands (RCON only)
    waterstart - start the event
    waterstop - end the event
     
    Plugin Config
    en - example of plugin configuration in English ru - example of plugin configuration in Russian  
    Hooks
    void OnWaterEventStart(HashSet<BaseEntity> entities, Vector3 position, float radius) – called when the event starts
    void OnWaterEventEnd() – called when the event ends
    void OnWaterEventWinner(ulong winnerId) – called at the end of the event, where the winnerId is the player who did more actions to complete the event
     
    My Discord: KpucTaJl#8923
    Join the Mad Mappers Discord here!
    Check out more of my work here!
    The submarine is designed by Jtedal
  3. More information about "Blackjack"

    $9.99

    Blackjack

    Blackjack plugin is just like any other blackjack game, although is a portable version players can do from anywhere on your server! This plugin is fully configurable and supports Economics plugin as well as Server Rewards.
     
    Features:
    Customizable Card Deck Economics, Server Rewards, & Custom Item Betting Player vs Dealer Double Down, with Pushing if player and dealer have same card value. Ace 1-11 depending on your cards value.  
    Language:
    There is a full language file which allows server owners to fully support other languages. 
     
    Commands:
    /blackjack or /bj - Open the Blackjack UI Menu.
     
    Config:
    { "Bet Settings": { "Use Economics": false, "Use Server Rewards": false, "Use Item": true, "Item Shortname": "scrap", "Item Skin ID": 0, "Minimum Bet": 500, "Maximum Bet": 2000 }, "Chat Settings": { "Message Prefix": "<color=#FFD700>[Billys Blackjack]</color>", "Message Icon (Steam ID)": 76561198194158447 }, "Card Deck": [ { "cardImage": "assets/content/ui/gameui/cardgames/deck_small/clubs/2_small_clubs.png", "cardType": "2", "cardValue": 2 }, { "cardImage": "assets/content/ui/gameui/cardgames/deck_small/clubs/3_small_clubs.png", "cardType": "3", "cardValue": 3 }, { "cardImage": "assets/content/ui/gameui/cardgames/deck_small/clubs/4_small_clubs.png", "cardType": "4", "cardValue": 4 }, { "cardImage": "assets/content/ui/gameui/cardgames/deck_small/clubs/5_small_clubs.png", "cardType": "5", "cardValue": 5 }, { "cardImage": "assets/content/ui/gameui/cardgames/deck_small/clubs/6_small_clubs.png", "cardType": "6", "cardValue": 6 }, { "cardImage": "assets/content/ui/gameui/cardgames/deck_small/clubs/7_small_clubs.png", "cardType": "7", "cardValue": 7 }, { "cardImage": "assets/content/ui/gameui/cardgames/deck_small/clubs/8_small_clubs.png", "cardType": "8", "cardValue": 8 }, { "cardImage": "assets/content/ui/gameui/cardgames/deck_small/clubs/9_small_clubs.png", "cardType": "9", "cardValue": 9 }, { "cardImage": "assets/content/ui/gameui/cardgames/deck_small/clubs/10_small_clubs.png", "cardType": "10", "cardValue": 10 }, { "cardImage": "assets/content/ui/gameui/cardgames/deck_small/clubs/Jack_small_clubs.png", "cardType": "10", "cardValue": 10 }, { "cardImage": "assets/content/ui/gameui/cardgames/deck_small/clubs/King_small_clubs.png", "cardType": "10", "cardValue": 10 }, { "cardImage": "assets/content/ui/gameui/cardgames/deck_small/clubs/Queen_small_clubs.png", "cardType": "10", "cardValue": 10 }, { "cardImage": "assets/content/ui/gameui/cardgames/deck_small/clubs/Ace_small_clubs.png", "cardType": "Ace", "cardValue": 11 }, { "cardImage": "assets/content/ui/gameui/cardgames/deck_small/diamonds/2_small_diamonds.png", "cardType": "2", "cardValue": 2 }, { "cardImage": "assets/content/ui/gameui/cardgames/deck_small/diamonds/3_small_diamonds.png", "cardType": "3", "cardValue": 3 }, { "cardImage": "assets/content/ui/gameui/cardgames/deck_small/diamonds/4_small_diamonds.png", "cardType": "4", "cardValue": 4 }, { "cardImage": "assets/content/ui/gameui/cardgames/deck_small/diamonds/5_small_diamonds.png", "cardType": "5", "cardValue": 5 }, { "cardImage": "assets/content/ui/gameui/cardgames/deck_small/diamonds/6_small_diamonds.png", "cardType": "6", "cardValue": 6 }, { "cardImage": "assets/content/ui/gameui/cardgames/deck_small/diamonds/7_small_diamonds.png", "cardType": "7", "cardValue": 7 }, { "cardImage": "assets/content/ui/gameui/cardgames/deck_small/diamonds/8_small_diamonds.png", "cardType": "8", "cardValue": 8 }, { "cardImage": "assets/content/ui/gameui/cardgames/deck_small/diamonds/9_small_diamonds.png", "cardType": "9", "cardValue": 9 }, { "cardImage": "assets/content/ui/gameui/cardgames/deck_small/diamonds/10_small_diamonds.png", "cardType": "10", "cardValue": 10 }, { "cardImage": "assets/content/ui/gameui/cardgames/deck_small/diamonds/Jack_small_diamonds.png", "cardType": "10", "cardValue": 10 }, { "cardImage": "assets/content/ui/gameui/cardgames/deck_small/diamonds/King_small_diamonds.png", "cardType": "10", "cardValue": 10 }, { "cardImage": "assets/content/ui/gameui/cardgames/deck_small/diamonds/Queen_small_diamonds.png", "cardType": "10", "cardValue": 10 }, { "cardImage": "assets/content/ui/gameui/cardgames/deck_small/diamonds/Ace_small_diamonds.png", "cardType": "Ace", "cardValue": 11 }, { "cardImage": "assets/content/ui/gameui/cardgames/deck_small/hearts/2_small_hearts.png", "cardType": "2", "cardValue": 2 }, { "cardImage": "assets/content/ui/gameui/cardgames/deck_small/hearts/3_small_hearts.png", "cardType": "3", "cardValue": 3 }, { "cardImage": "assets/content/ui/gameui/cardgames/deck_small/hearts/4_small_hearts.png", "cardType": "4", "cardValue": 4 }, { "cardImage": "assets/content/ui/gameui/cardgames/deck_small/hearts/5_small_hearts.png", "cardType": "5", "cardValue": 5 }, { "cardImage": "assets/content/ui/gameui/cardgames/deck_small/hearts/6_small_hearts.png", "cardType": "6", "cardValue": 6 }, { "cardImage": "assets/content/ui/gameui/cardgames/deck_small/hearts/7_small_hearts.png", "cardType": "7", "cardValue": 7 }, { "cardImage": "assets/content/ui/gameui/cardgames/deck_small/hearts/8_small_hearts.png", "cardType": "8", "cardValue": 8 }, { "cardImage": "assets/content/ui/gameui/cardgames/deck_small/hearts/9_small_hearts.png", "cardType": "9", "cardValue": 9 }, { "cardImage": "assets/content/ui/gameui/cardgames/deck_small/hearts/10_small_hearts.png", "cardType": "10", "cardValue": 10 }, { "cardImage": "assets/content/ui/gameui/cardgames/deck_small/hearts/Jack_small_hearts.png", "cardType": "10", "cardValue": 10 }, { "cardImage": "assets/content/ui/gameui/cardgames/deck_small/hearts/King_small_hearts.png", "cardType": "10", "cardValue": 10 }, { "cardImage": "assets/content/ui/gameui/cardgames/deck_small/hearts/Queen_small_hearts.png", "cardType": "10", "cardValue": 10 }, { "cardImage": "assets/content/ui/gameui/cardgames/deck_small/hearts/Ace_small_hearts.png", "cardType": "Ace", "cardValue": 11 }, { "cardImage": "assets/content/ui/gameui/cardgames/deck_small/spades/2_small_spades.png", "cardType": "2", "cardValue": 2 }, { "cardImage": "assets/content/ui/gameui/cardgames/deck_small/spades/3_small_spades.png", "cardType": "3", "cardValue": 3 }, { "cardImage": "assets/content/ui/gameui/cardgames/deck_small/spades/4_small_spades.png", "cardType": "4", "cardValue": 4 }, { "cardImage": "assets/content/ui/gameui/cardgames/deck_small/spades/5_small_spades.png", "cardType": "5", "cardValue": 5 }, { "cardImage": "assets/content/ui/gameui/cardgames/deck_small/spades/6_small_spades.png", "cardType": "6", "cardValue": 6 }, { "cardImage": "assets/content/ui/gameui/cardgames/deck_small/spades/7_small_spades.png", "cardType": "7", "cardValue": 7 }, { "cardImage": "assets/content/ui/gameui/cardgames/deck_small/spades/8_small_spades.png", "cardType": "8", "cardValue": 8 }, { "cardImage": "assets/content/ui/gameui/cardgames/deck_small/spades/9_small_spades.png", "cardType": "9", "cardValue": 9 }, { "cardImage": "assets/content/ui/gameui/cardgames/deck_small/spades/10_small_spades.png", "cardType": "10", "cardValue": 10 }, { "cardImage": "assets/content/ui/gameui/cardgames/deck_small/spades/Jack_small_spades.png", "cardType": "10", "cardValue": 10 }, { "cardImage": "assets/content/ui/gameui/cardgames/deck_small/spades/King_small_spades.png", "cardType": "10", "cardValue": 10 }, { "cardImage": "assets/content/ui/gameui/cardgames/deck_small/spades/Queen_small_spades.png", "cardType": "10", "cardValue": 10 }, { "cardImage": "assets/content/ui/gameui/cardgames/deck_small/spades/Ace_small_spades.png", "cardType": "Ace", "cardValue": 11 } ] }  
  4. More information about "Sentry Turrets"

    $19.99

    Sentry Turrets

    Sentry turrets
    The original and most advanced plugin that allows players to deploy their own NPC turrets, similar to those found at outposts. These turrets can be strategically placed anywhere, giving players enhanced control and defense capabilities. With a custom, user-friendly UI, players can easily manage their turrets, which are capable of targeting both ground and air threats. Fully customizable, this plugin adds a unique tactical element to your server, offering both protection and immersion.
    Plugin config variables
    { "Turrets profiles": [ { "Key name, for command": "default", "Item display name": "Sentry Turret", "Skin Id": 1587601905, "Is weapon required?": false, "Can players put own weapons?": true, "Items blacklist": [ "lmg.m249", "minigun" ], "Can get damage": true, "Required power": 0, "Authorize friends and team members": false, "Authorize tc members": false, "Amount of ammo for one spray (set to 0 for no-ammo mode)": 1, "Amount of ammo for one air spray (set to 0 for no-ammo mode)": 1, "Range (normal turret - 30)": 55, "Air Range (set to 0 to disable air mode": 100, "Air Fire Rate Every N seconds (Default every 1 second)": 1.0, "Give back on ground missing": true, "Health (normal turret - 1000)": 1500.0, "Aim cone (normal turret - 4)": 2.0 } ] } Commands:
    sentryturrets.give <name or steamID> <amount> <profile key> - give turret to player
    Video:
    Contacts:
    Need help or custom plugin for your server?
    Contact me using Discord: metangerine
    ----------------------------------------------------------------------
  5. More information about "GunShips"

    $32.99

    GunShips

    Ever wanted to be able to rain death on your enemies while being in what is essentially a flying tank!?

    The GunShip plugin allows you to spawn 16 different preconfigured customized vehicles allowing for new ways to play the game! Whether it is base raiding, pvp, or monument clearing youll always have the right tools, and the right firepower, to get the job done!

    The plugin itself requires one main dependency but has a few optional ones as well. After Entity Scale Manager is installed all vehicles will be able to be spawned in and used right out of the box!
    Support
    Please read through this as well as the extended documentation available on my discord before flagging a ticket! 🙂
    Open a support request here or join the discord and get in touch with me directly!
    I may not answer right away, please allow around 24 hours for me to be able to help you with your request!
     
     
    Dependency Setup
    REQUIRED DEPENDENCIES:
    Entity Scale Manager OPTIONAL DEPENDENCIES:
    Death Notes Sign Artist Server Rewards Economics Raidable Bases  
    Entity Scale Manager (Required)
    Once downloaded, upload the plugin to the same directory as the GunShip plugin and check console to ensure it has loaded, once it has reload the GunShip plugin (if needed).
    OPTIONALLY you can change the following setting in the config file of Entity Scale Manager to make the scaling spheres disappear.
    // Change the below value to true if you would like to enable it in the EntityScaleManager.json config file. { "Hide spheres after resize (performance intensive)": false }  
    Death Notes (Optional)
    Implementing Death Notes allows players to see custom death messages when a player kills something or gets killed by something on a server. When using Death Notes with the GunShip plugin you can see additional custom death messages for when a NPC / Player is killed by a GunShip vehicle. 
    Near the end of the DeathNotes.json configuration file in the oxide/config directory you can add the following lines to enable the custom death messages!
    "muzzlebrake.entity": "Armed Sedan", "lasersight.entity": "Heavy Technical", "smoke_grenade.weapon": "Light Technical", "hammer.entity": "Apache Attack Helicopter", "spraycan.weapon": "Huey Attack Helicopter", "flare.weapon": "Viper Attack Helicopter", "detonator.entity": "Enforcer UAV", "supplysignal.weapon": "Cargo Truck" Append the above lines to the end of the 'Weapons' section of the config. It should look like something below.

     
    Sign Artist (Optional)
    Sign artist is used to load custom images onto signs from a url. In the GunShip plugin it is used to load the specified image to all signs by default when they are initially spawned in. 
    Upload the the oxide/plugins directory and enjoy!
     
    Reseller Info
    As of version 1.0.5 the reseller framework has been added! This new feature allows server owners to optionally add the 'reseller' / salesman role into their servers allowing a assigned player to sell other players gunship vehicles. Additionally if enabled the assigned player can also make a comission of the configured currency for the sale depending on how much money they took off of the original price of the vehicle.
    For a reseller to be able to make commission the option for enable reseller comission must be enabled. If you want the ability to allow resellers to edit the price of the vehicle within the configured discount range enable the Allow Resellers to Modify Price option in the config file. The actual comission is based off of the amount that the reseller did not take off of the sale. For example, if the reseller ran /sellgs huey 15 false they would make 5% of the total sale meaning that the comission is (sale price) * ((configured discount max) - (specified discount)) = reseller commission amount
     
    Custom Item Info
    Land / Air Vehicles Item Shortname: box.wooden
    Water Vehicles Item Shortname: boogieboard
     
    Steam Skin IDs:
     

    Permission Info
    System Permissions gunship.vip - Enables VIP perks / settings for players with this permission. gunship.spawn - Required to spawn any gunship vehicle (just to use the /gunship command). gunship.nocooldown - Players with this permission do not have a spawn command cooldown. gunship.admin - Players get admin settings / perks. gunship.target_immune - Players with this permission cannot be targeted by GunShip managed AutoTurrets (Vehicle Auto Turrets). gunship.nowipefee - Players with this permission do not pay a wipe fee for any vehicle (Start of wipe fee). gunship.norespawnfee - Players with this permission do not pay a respawn fee to spawn their vehicle after paying the wipe fee. gunship.norecallfee - Removes the cost of using the /gunship.util recall vehicle_name command gunship.nohominglock - Players that have this permission cannot be locked onto by a gunship smart missile system (what the guardian uses) gunship.reseller - Allows a player to use the reseller commands and sell vehicle items to other players and make commission (if enabled) Vehicle Permissions gunship.apache - Huey Attack Helicopter gunship.guardian - Guardian Homing AA Helicopter gunship.stinger - Agile Missile Attack Helicopter gunship.viper - Agile Gunner Attack Helicopter gunship.cobra - AA Helicopter gunship.huey - Heavy Attack Helicopter gunship.reaper - Heavy Attack Helicopter gunship.technical - Light Armoured Ground Attack Vehicle gunship.heavy_technical - Heavy Armoured Ground Attack Vehicle gunship.cargo_truck - Heavy Armoured Ground Transport Vehicle gunship.sedan - Heavy Ground Attack Vehicle gunship.fighter - Agile Attack Helicopter gunship.stallion - Heavy Cargo Transport Helicopter gunship.cougar - Light Cargo Transport Helicopter gunship.enforcer - Tactical UAV gunship.attack_rhib - Light Gun Boat Command Info
    Player Commands: /gunship - USE: /gunship <vehicle_name> - The base GunShip command. Used for spawning vehicles. /gunship.help - USE: /gunship.help - Displays the help information for all vehicles. (Grey Names: No Permission, Yellow Names: Has Permission) /gunship.util - USE: /gunship.util <kill/recall/find> <vehicle_name> - Kill, recall, or find, the specified vehicle (if it is spawned) Admin Commands: /clearsave - USE: /clearsave - Wipe the save file in its entirety. /gunship.reloadconfig - USE: /gunship.reloadconfig - Reload the configuration values without reloading the plugin. /vehiclereport - USE: /vehiclereport - Get the information of the actively spawned vehicles. /checkstatus - USE: /checkstatus - View a report of the information relating to the vehicle you are looking at. /resetwf_all - USE: /resetwf_all - Reset the wipe fees of all players. /resetwf_player - USE: /resetwf_player <player_name> - Reset the wipe fees of the specified player. Debug Commands: /getlayer - USE: /getlayer - Return the layer information of the entity that you are currently looking at, prints to RCON console. /getparent - USE: /getparent - Return the information about the parent of the entity you are looking at (if any). /getname - USE: /getname - Return the name, item id, and skin id, of the currently held item. Reseller Commands (Requires gunship.reseller): /sellgs - USE: /sellgs <profile_name> <discount_percentage> <is_one_time_sale (true/false)> - Create a vehicle sale offer for the player you are facing /processsale - USE: /processsale <"confirm"/"cancel"> - Confirms or cancels the current sale offer and sends it to the customer Reseller Customer Commands: /buygs - USE: /buygs <"confirm"/"cancel"> - Confirms or cancels the given sale offer after being sent by a reseller Configuration File
    { "General Config": { "Chat Settings": { "Chat Message Icon": 0, // The default icon of all images sent by the plugin "Chat Message Prefix": "[<color=#d93d3d>GunShip</color>]" // The default chat prefix of all messages sent by the plugin }, "Sign Settings": { "Load Default Image on All Vehicle Signs": false, // Whether or not to load a default image when a vehicle is first spawned in "Sign URL Load (Requires Sign Artist)": "", // The URL of the default image to be loaded on the the sign "Load default image on vanilla vehicles": true }, "Vehicle Purchase Settings": { "Enable Wipe Fee": true, // Whether or not to enable the wipe fee "Enable Respawn Fee": true, // Whether or not to enable the respawn fee "Respawn Fee": 500.0, // The Respawn Fee amount "Recall Fee (To disable set to 0)": 200.0, // The recall fee amount "Payment Settings": { "Use Economics Plugin (Priority, will use this over SR if enabled)": false, "Use Server Rewards Plugin": false, "Use Custom Currency": true, // Whether or not to use a custom currency instead of SR or Economics "Points Name (when using SR or Economics)": "dollars", "Custom Currency Item Shortname (Specify item shortname [e.g scrap, or metal.refined])": "scrap", // Shortname of the custom currency "Custom Currency Skin (0 = Default Skin)": 0, // The Skin Id of the custom currency "Custom Currency Display Name (Leave empty for default item name)": "" // The display name of the custom currency } }, "PvP Settings": { "Enable PvE Mode (Disable all Damage between Players / Owned Entities and GunShip Vehicles)": false, // Enable the PvE Damage profile "Damage Options (Individual Settings)": { "Disable Gunship Damage to Owned Vehicles": false, "Disable Gunship Damage to Players": false, "Enable Friendly Fire": false, // Disable Friendly fire between teammates "Disable Player Damage to Gunships": false, "Disable Player Damage to All OWNED Vehicles (Global)": false, "Disable Global Fireball Damage": false, // Disable Fireball Damage to everything! "Disable Fireball Damage to GunShips": true,// Disable Fireball damage to gunships only (Above value overrides this) "Allow Fireball Damage in Raidable Base Raid Zones": true, "Disable Gunship To Building Damage": false, // Disable GunShip to OWNED player building damage "Disable GunShip Vehicle decay": true, "GunShips Override True PvE Damage Checks": false // Override the behaviour of TruePvE using the above damage settings for outgoing gunship damage "Building Damage Settings": { "Disable GunShip to Building Damage": true, "Allow Owned Building Damage (Players can damage their own buildings)": true, "Allow Friendly Fire Building Damage Between Teammates": true } } }, "Gunship System Targeting Settings": { "Allow GunShip Turrets to Target Sleepers": false, "Allow GunShip Turrets to Target Players": true, "Allow Gunship Sam Sites to target players": true, "Allow Gunship SAM Sites to target Patrol Helicopter": false, "Allow Non-GunShip SAM sites to target gunship vehicles": true, "Allow Gunship Homing Missiles to Lock onto Patrol Helicopter": true, "Allow Gunship Homing Missiles to Lock onto Bradley APC": true, "Enable Homing Lock PvP": true, // Enable the gunship smart missiles to lock onto players (Guardian Smart Missiles) "Enable Homing Lock Friendly Fire (between teammates)": false // Allow homing lock from smart missiles to friendly players (teammates) }, "Spawn Cooldown Time": 120.0, "Use Vehicle Locks Plugin to Manage Vehicle and Storage Access": false, "Drop items and fuel from GunShip vehicle on death": true, "Disable Auto Save Message": true }, "Spawn Point Config": { "Enable Spawn Point Config": false, "Spawn Point Data": { "Spawn Point List": { "default": { "Monument Prefab": "assets/bundled/prefabs/autospawn/monument/large/airfield_1.prefab", "Spawn Point Location (Local)": { "x": -87.03, "y": 0.3, "z": 37.91 }, "Spawn Point Rotation (Local)": { "x": 0.0, "y": 0.0, "z": 0.0 } } } } }, "VIP Permission Config": { "VIP Permission": "vip", "Enable VIP Cooldown Config (if false, uses default)": true, "VIP Perks Config": { "Enable VIP Perks (Set False to Disable All)": true, "VIP Vehicle Respawn Cooldown": 15, "VIP Respawn Fee Amount": 150 } }, "Permission Config": { "Spawn Permission": "spawn", "No Cooldown Permission": "nocooldown", "GunShip Turret Targeting System Immunity": "target_immune", "No Wipe Fee Permission": "nowipefee", "No Respawn Fee Permission": "norespawnfee", "No Recall Fee Permission": "norecallfee", "Administrator Permission (Enables Config from Admin Permission Config Settings)": "admin", "Homing Lock Immunity Permission": "nohominglock", "Admin Settings": { "Admin Default Minimum Permission Level -> Player Connection Level 0, 1, or 2": 2, "Admin Default Permissions (players with auth level >= configured level)": { "Auto Override Storage": true, "Auto Override Mount": true, "Admins Can be targeted by Gunship System": true, "Auto Override Spawn Cooldown": true, "Auto Overrride Wipe Fee": true, "Admin Override Respawn Fee": true, "Enable Wipe Fee Reset Commands (/resetwf_player & /resetwf_all)": true }, "Admin Permission Config (players with the gunship.admin permission)": { "Auto Override Storage": true, // Admins can open any gunship vehicle storage regardless of auth "Auto Override Mount": true, // Admins can mount any vehicle regardless of auth "Admins Can be targeted by Gunship System": true, // Allow admins to be targeted by gunship auto turrets "Auto Override Spawn Cooldown": true, "Auto Overrride Wipe Fee": true, "Admin Override Respawn Fee": true, "Enable Wipe Fee Reset Commands (/resetwf_player & /resetwf_all)": true } } }, "Vehicle Mod Config": { "Vanilla Vehicle Global Settings": { "Drop Dead Vehicle Items": true, "Scraptransport Helicopter Config": { "Add Radio to Scrap Transport Helicopter": true, "Add Sign to Scrap Transport Helicopter": true, "Add Boxes to Scrap Transport Helicopter": true, "Add Heater to Scrap Transport Helicopter": true, "Number of Boxes to Add (1-6)": 2 }, "Minicopter Config": { "Add Radio to Minicopter": true, "Add Sign to Minicopter": true, "Add Storage Box to Minicopter": true }, "Sedan Config": { "Add Radio to Sedan": true, "Add Boxes to Sedan": true }, "Attack Helicopter Config": { "Add Radio to Player Attack Helicopter": true, "Add Boxes to Player Attack Helicopter": false } } }, "Vehicle config": { "Vehicle Control Config": { "Disable remote turret control of gunship auto turrets": true }, "Apache Config": { "General Vehicle Settings": { "Vehicle Enabled": true, "Use Permission": true, "Vehicle Drops fuel": true }, "Vehicle Display Name": "Apache", "Vehicle Wipe Fee Price": 6500, "Vehicle Wipe Fee Price (VIP)": 0, "Vehicle Spawn Permission": "apache", "Infinite Machine Gun Ammo": false, "Mod Configuration": { "Add Radio to Scrap Transport Helicopter": true, "Add Sign to Scrap Transport Helicopter": true, "Add Heater to Scrap Transport Helicopter": true, "Number of Boxes to Add (1-6)": 2 }, "Engine Configuration": { "Thurst Multiplier (1 = Vanilla Default)": 1.0, "Lift Fraction Multiplier (0 = Vanilla Default)": 1.0, "Control Torque Multipler": { "x": 1.0, "y": 1.0, "z": 1.0 }, "Fuel Consumption (100 = Vanilla Default)": 1.0, "Fuel Config": { "Add Fuel to Vehicle": false, "Only add fuel on initial spawn": true, "Fuel Amount": 150, "Fuel Skin ID (0 = Default)": 0, "Fuel Custom Name (Leave blank for default)": "" } } }, "Minicopter Fighter Config": { "General Vehicle Settings": { "Vehicle Enabled": true, "Use Permission": true, "Vehicle Drops fuel": true }, "Vehicle Display Name": "Minicopter Fighter", "Vehicle Wipe Fee Price": 2800, "Vehicle Wipe Fee Price (VIP)": 0, "Vehicle Spawn Permission": "fighter", "Mod Configuration": { "Add Radio to Minicopter": true, "Add Sign to Minicopter": true, "Add Heater to Minicopter": true, "Add Back Light to Minicopter": true }, "Engine Configuration": { "Thurst Multiplier (1 = Vanilla Default)": 1.0, "Lift Fraction Multiplier (0 = Vanilla Default)": 1.0, "Control Torque Multipler": { "x": 1.0, "y": 1.0, "z": 1.0 }, "Fuel Consumption (100 = Vanilla Default)": 1.0, "Fuel Config": { "Add Fuel to Vehicle": false, "Only add fuel on initial spawn": true, "Fuel Amount": 150, "Fuel Skin ID (0 = Default)": 0, "Fuel Custom Name (Leave blank for default)": "" } } }, "Sedan Config": { "General Vehicle Settings": { "Vehicle Enabled": true, "Use Permission": true, "Vehicle Drops fuel": true }, "Vehicle Display Name": "Armed Sedan", "Vehicle Wipe Fee Price": 2000, "Vehicle Wipe Fee Price (VIP)": 0, "Vehicle Spawn Permission": "sedan", "Infinite Machine Gun Ammo": false, "Mod Configuration": { "Add Radio to Sedan": true, "Add Boxes to Sedan": true } }, "Technical Config": { "General Vehicle Settings": { "Vehicle Enabled": true, "Use Permission": true, "Vehicle Drops fuel": true }, "Vehicle Display Name": "Light Technical", "Vehicle Wipe Fee Price": 1900, "Vehicle Wipe Fee Price (VIP)": 0, "Vehicle Spawn Permission": "technical", "Mod Configuration": {}, "Engine Configuration": { "Engine Parts Config": { "Add Engine Parts": false, "Engine Parts Grade (0 = Low Quality, 1 = Medium Quality, 2 = High Quality)": 0, "Lock Engine when using added parts": true }, "Fuel Config": { "Add Fuel to Vehicle": false, "Only add fuel on initial spawn": true, "Fuel Amount": 150, "Fuel Skin ID (0 = Default)": 0, "Fuel Custom Name (Leave blank for default)": "" } } }, "Heavy Technical Config": { "General Vehicle Settings": { "Vehicle Enabled": true, "Use Permission": true, "Vehicle Drops fuel": true }, "Vehicle Display Name": "Heavy Technical", "Vehicle Wipe Fee Price": 2600, "Vehicle Wipe Fee Price (VIP)": 0, "Vehicle Spawn Permission": "heavy_technical", "Mod Configuration": {}, "Engine Configuration": { "Engine Parts Config": { "Add Engine Parts": false, "Engine Parts Grade (0 = Low Quality, 1 = Medium Quality, 2 = High Quality)": 0, "Lock Engine when using added parts": true }, "Fuel Config": { "Add Fuel to Vehicle": false, "Only add fuel on initial spawn": true, "Fuel Amount": 150, "Fuel Skin ID (0 = Default)": 0, "Fuel Custom Name (Leave blank for default)": "" } } }, "Cargo Truck Config": { "General Vehicle Settings": { "Vehicle Enabled": true, "Use Permission": true, "Vehicle Drops fuel": true }, "Vehicle Display Name": "Cargo Truck", "Vehicle Wipe Fee Price": 2800, "Vehicle Wipe Fee Price (VIP)": 0, "Vehicle Spawn Permission": "cargo_truck", "Add Default Image to Signs": true, "Mod Configuration": {}, "Engine Configuration": { "Engine Parts Config": { "Add Engine Parts": false, "Engine Parts Grade (0 = Low Quality, 1 = Medium Quality, 2 = High Quality)": 0, "Lock Engine when using added parts": true }, "Fuel Config": { "Add Fuel to Vehicle": false, "Only add fuel on initial spawn": true, "Fuel Amount": 150, "Fuel Skin ID (0 = Default)": 0, "Fuel Custom Name (Leave blank for default)": "" } } }, "Cougar Config": { "General Vehicle Settings": { "Vehicle Enabled": true, "Use Permission": true, "Vehicle Drops fuel": true }, "Vehicle Display Name": "Cougar", "Vehicle Wipe Fee Price": 4600, "Vehicle Wipe Fee Price (VIP)": 0, "Vehicle Spawn Permission": "cougar", "Mod Configuration": { "Add Radio to Scrap Transport Helicopter": true, "Add Sign to Scrap Transport Helicopter": true, "Add Heater to Scrap Transport Helicopter": true, "Number of Boxes to Add (1-6)": 2 }, "Engine Configuration": { "Thurst Multiplier (1 = Vanilla Default)": 1.0, "Lift Fraction Multiplier (0 = Vanilla Default)": 1.0, "Control Torque Multipler": { "x": 1.0, "y": 1.0, "z": 1.0 }, "Fuel Consumption (100 = Vanilla Default)": 1.0, "Fuel Config": { "Add Fuel to Vehicle": false, "Only add fuel on initial spawn": true, "Fuel Amount": 150, "Fuel Skin ID (0 = Default)": 0, "Fuel Custom Name (Leave blank for default)": "" } } }, "Stallion Config": { "General Vehicle Settings": { "Vehicle Enabled": true, "Use Permission": true, "Vehicle Drops fuel": true }, "Vehicle Display Name": "Stallion", "Vehicle Wipe Fee Price": 5200, "Vehicle Wipe Fee Price (VIP)": 0, "Vehicle Spawn Permission": "stallion", "Mod Configuration": { "Add Radio to Scrap Transport Helicopter": true, "Add Sign to Scrap Transport Helicopter": true, "Add Heater to Scrap Transport Helicopter": true, "Number of Boxes to Add (1-6)": 2 }, "Engine Configuration": { "Thurst Multiplier (1 = Vanilla Default)": 1.0, "Lift Fraction Multiplier (0 = Vanilla Default)": 1.0, "Control Torque Multipler": { "x": 1.0, "y": 1.0, "z": 1.0 }, "Fuel Consumption (100 = Vanilla Default)": 1.0, "Fuel Config": { "Add Fuel to Vehicle": false, "Only add fuel on initial spawn": true, "Fuel Amount": 150, "Fuel Skin ID (0 = Default)": 0, "Fuel Custom Name (Leave blank for default)": "" } } }, "Stinger Config": { "General Vehicle Settings": { "Vehicle Enabled": true, "Use Permission": true, "Vehicle Drops fuel": true }, "Vehicle Display Name": "Stinger Attack Minicopter", "Vehicle Wipe Fee Price": 4400, "Vehicle Wipe Fee Price (VIP)": 0, "Vehicle Spawn Permission": "stinger", "Infinite Rockets": false, "Mod Configuration": { "Add Radio to Minicopter": true, "Add Sign to Minicopter": true, "Add Heater to Minicopter": true, "Add Back Light to Minicopter": true }, "Engine Configuration": { "Thurst Multiplier (1 = Vanilla Default)": 1.0, "Lift Fraction Multiplier (0 = Vanilla Default)": 1.0, "Control Torque Multipler": { "x": 2.0, "y": 2.0, "z": 2.0 }, "Fuel Consumption (100 = Vanilla Default)": 1.0, "Fuel Config": { "Add Fuel to Vehicle": false, "Only add fuel on initial spawn": true, "Fuel Amount": 150, "Fuel Skin ID (0 = Default)": 0, "Fuel Custom Name (Leave blank for default)": "" } } }, "Huey Config": { "General Vehicle Settings": { "Vehicle Enabled": true, "Use Permission": true, "Vehicle Drops fuel": true }, "Vehicle Display Name": "Huey Attack Helicopter", "Vehicle Wipe Fee Price": 7600, "Vehicle Wipe Fee Price (VIP)": 0, "Vehicle Spawn Permission": "huey", "Infinite Rockets": false, "Infinite Machine Gun Ammo": false, "Mod Configuration": { "Add Radio to Scrap Transport Helicopter": true, "Add Sign to Scrap Transport Helicopter": true, "Add Heater to Scrap Transport Helicopter": true, "Number of Boxes to Add (1-6)": 2 }, "Engine Configuration": { "Thurst Multiplier (1 = Vanilla Default)": 1.0, "Lift Fraction Multiplier (0 = Vanilla Default)": 1.0, "Control Torque Multipler": { "x": 1.0, "y": 1.0, "z": 1.0 }, "Fuel Consumption (100 = Vanilla Default)": 1.0, "Fuel Config": { "Add Fuel to Vehicle": false, "Only add fuel on initial spawn": true, "Fuel Amount": 150, "Fuel Skin ID (0 = Default)": 0, "Fuel Custom Name (Leave blank for default)": "" } }, "Disable MiniGun Scaling (Enable No Sphere Setting in EntityScaleManager if visual issues)": false }, "Cobra Config": { "General Vehicle Settings": { "Vehicle Enabled": true, "Use Permission": true, "Vehicle Drops fuel": true }, "Vehicle Display Name": "Cobra AA Helicopter", "Vehicle Wipe Fee Price": 4600, "Vehicle Wipe Fee Price (VIP)": 0, "Vehicle Spawn Permission": "cobra", "Mod Configuration": { "Add Radio to Scrap Transport Helicopter": true, "Add Sign to Scrap Transport Helicopter": true, "Add Heater to Scrap Transport Helicopter": true, "Number of Boxes to Add (1-6)": 2 }, "Engine Configuration": { "Thurst Multiplier (1 = Vanilla Default)": 1.0, "Lift Fraction Multiplier (0 = Vanilla Default)": 1.0, "Control Torque Multipler": { "x": 1.0, "y": 1.0, "z": 1.0 }, "Fuel Consumption (100 = Vanilla Default)": 1.0, "Fuel Config": { "Add Fuel to Vehicle": false, "Only add fuel on initial spawn": true, "Fuel Amount": 150, "Fuel Skin ID (0 = Default)": 0, "Fuel Custom Name (Leave blank for default)": "" } } }, "Viper Config": { "General Vehicle Settings": { "Vehicle Enabled": true, "Use Permission": true, "Vehicle Drops fuel": true }, "Vehicle Display Name": "Viper Attack Minicopter", "Vehicle Wipe Fee Price": 4100, "Vehicle Wipe Fee Price (VIP)": 0, "Vehicle Spawn Permission": "viper", "Infinite Machine Gun Ammo": false, "Mod Configuration": { "Add Radio to Minicopter": true, "Add Sign to Minicopter": true, "Add Heater to Minicopter": true, "Add Back Light to Minicopter": true }, "Engine Configuration": { "Thurst Multiplier (1 = Vanilla Default)": 1.0, "Lift Fraction Multiplier (0 = Vanilla Default)": 1.0, "Control Torque Multipler": { "x": 1.0, "y": 1.0, "z": 1.0 }, "Fuel Consumption (100 = Vanilla Default)": 1.0, "Fuel Config": { "Add Fuel to Vehicle": false, "Only add fuel on initial spawn": true, "Fuel Amount": 150, "Fuel Skin ID (0 = Default)": 0, "Fuel Custom Name (Leave blank for default)": "" } } }, "Enforcer Config": { "General Vehicle Settings": { "Vehicle Enabled": true, "Use Permission": true, "Vehicle Drops fuel": true }, "Vehicle Display Name": "Enforcer Attack Drone", "Vehicle Wipe Fee Price": 6100, "Vehicle Wipe Fee Price (VIP)": 0, "Vehicle Spawn Permission": "enforcer" }, "Guardian Config": { "General Vehicle Settings": { "Vehicle Enabled": true, "Use Permission": true, "Vehicle Drops fuel": true }, "Vehicle Display Name": "Guardian AA Helicopter", "Vehicle Wipe Fee Price": 6100, "Vehicle Wipe Fee Price (VIP)": 0, "Vehicle Spawn Permission": "guardian", "Mod Configuration": { "Add Radio to Scrap Transport Helicopter": true, "Add Sign to Scrap Transport Helicopter": true, "Add Heater to Scrap Transport Helicopter": true, "Number of Boxes to Add (1-6)": 2 }, "Engine Configuration": { "Thurst Multiplier (1 = Vanilla Default)": 1.0, "Lift Fraction Multiplier (0 = Vanilla Default)": 1.0, "Control Torque Multipler": { "x": 1.0, "y": 1.0, "z": 1.0 }, "Fuel Consumption (100 = Vanilla Default)": 1.0, "Fuel Config": { "Add Fuel to Vehicle": false, "Only add fuel on initial spawn": true, "Fuel Amount": 150, "Fuel Skin ID (0 = Default)": 0, "Fuel Custom Name (Leave blank for default)": "" } } }, "Attack RHIB Config": { "General Vehicle Settings": { "Vehicle Enabled": true, "Use Permission": true, "Vehicle Drops fuel": true }, "Vehicle Display Name": "Attack RHIB", "Vehicle Wipe Fee Price": 3100, "Vehicle Wipe Fee Price (VIP)": 0, "Vehicle Spawn Permission": "attack_rhib" }, "Reaper Config": { "General Vehicle Settings": { "Vehicle Enabled": true, "Use Permission": true, "Vehicle Drops fuel": true }, "Vehicle Display Name": "Reaper Attack Helicopter", "Vehicle Wipe Fee Price": 6500, "Vehicle Wipe Fee Price (VIP)": 0, "Vehicle Spawn Permission": "reaper", "Mod Configuration": { "Add Radio to Scrap Transport Helicopter": true, "Add Sign to Scrap Transport Helicopter": true, "Add Heater to Scrap Transport Helicopter": true, "Number of Boxes to Add (1-6)": 2 }, "Engine Configuration": { "Thurst Multiplier (1 = Vanilla Default)": 1.0, "Lift Fraction Multiplier (0 = Vanilla Default)": 1.0, "Control Torque Multipler": { "x": 1.0, "y": 1.0, "z": 1.0 }, "Fuel Consumption (100 = Vanilla Default)": 1.0, "Fuel Config": { "Add Fuel to Vehicle": false, "Only add fuel on initial spawn": true, "Fuel Amount": 150, "Fuel Skin ID (0 = Default)": 0, "Fuel Custom Name (Leave blank for default)": "" } } } }, "Item Spawn Settings": { // For non-reseller spawn items, only for use with small wooden box spawn item "Enable Item Spawning": true, // Whether or not Item Spawning is Enabled "Require Vehicle Permission to Place Vehicle Item": false, // Require the player to have the associated permission for the vehicle to be able to spawn it with a item "Grant Vehicle Permission on Item Use (Recommended for Shop use)": true, // Grant the vehicle permission when the spawn item is deployed "Grant Vehicle Wipe fee On Use (Recommended for Shop use)": true, // Grant the vehicle wipe fee when the spawn item is deployed "Only Allow Wipe Fee to be Paid via a Reseller": false // Only allow wipe fee payments through a spawn item / reseller transaction }, "Reseller Config": { "Enable GunShip Vehicle Reselling": false, // Enable the Roleplay reselling framework "Sale Confirmation TTL (seconds)": 300, // The amount of time a transaction can take before it expires "Allow sale of a vehicle that a player already has": false, // Allow full vehicle sales even when a player already has the vehicle perm "Reseller Permission": "reseller", // The reseller pemission suffix -> gunship.reseller_permission_name "Reseller Price Editor Options": { "Allow Resellers to Modify Price": true, // Allow resellers to set a discount percentage "Enable Reseller Commission": true, // Allow resellers to be paid comission for the discount remainder percentage of the sale "Price Disount Percentage": 20.0, // The % amount the reseller can play around with in a sale "Sale Pricing Options": { "One Time Sale Price Options": { "Total Price Discount Percentage (0-99)": 40.0 // The initial % discount of a vehicle's wipe fee in a one-time-purchase sale }, "Full Sale Price Options (Grants Vehicle Permission)": { "Total Price Discount Percentage (0-99)": 0.0, // The initial % discount of a vehicle's wipe fee in a full vehicle sale "Enable item give on full sale": false } } } }, "Experimental Settings": { "Enable NoDismount on Vehicle Load Data": false, // Disable players getting dismounted from vehicles when the plugin reloads (not recommended) "Enable No Drone Sway for All modified drones": false // Enable No Sway Script for all drones w/ attatched entities (enabled for enforcer) }, "Debug Settings": { "Log Death": false, // Log Death Info "Log Vehicle Kill": false, // Log Vehicle Death Info "Log Vehicle Respawn Script": false, // Log Raw Respawn Script Output "Log Raw Save Data (Not Recommended to Turn on)": false, // Log Raw Save Messages "Log Pre-load info": false, "Enable Damage Logs": false, // Log Damage Output "Enable Gunship Item Logging": false, // Log Internal Item Logging "Enable Reseller Logging": false, // Log Internal Reseller Logging "Enable Engine Modifier Logging": false // Log info / changes related to the adjustment of vehicle's engines on spawn } } Monument Spawn Nodes (API / Command Implementation)
    The monument spawn node feature allows you to set up preset spots where you can spawn vehicles via a command (intended for use with a third-party plugin).
    Node Setup
    Enable the spawn node config by setting "Enable Spawn Point Config" to true Goto a spot within a monument where you want to have the vehicles spawn. Execute the /getspawnpoint command in chat, this will give you the closest monument’s prefab path as well as the relative position within the monument for use within the config file. The data from this command will also be printed to RCON as well. Either copy or directly edit the entire entry of the “default” preset in the “Spawn Point List” within the GunShip.json config file and change the name from “default” to whatever name you want to use to reference this spawn point later on. Change “Monument Prefab” to the prefab given by the command you ran in step 2 Change x, y, z entries within the “Spawn Point Location (Local)” entry to that of the coordinates that were given from the command in step 2 Confirm your changes and save the changes to your config file.  
    Vehicle Spawning / Node Usage
    To actually spawn a vehicle at a created node run the following command via RCON or a hook (within a plugin, the arguments and usage will be the same)
    Command: SpawnVehicle_AtNode <node_name> <vehicle_name> <player_steam_id>
    Arguments:
    Node Name: The name of the node, (e.g “default”) Vehicle Name: The name of the vehicle (e.g “huey”) Player Steam Id: The steam id of the player you are spawning the vehicle for Example:
    > spawnvehicle_atnode “default” “huey” “81658972110849190”
    Use with a NPC Vendor
    By default the command will work similar to the /gunship or /gs command in that it will try to check if a player has paid the wipe fee (if enabled) for the specified vehicle, if not, charge them, and if they don’t have enough funds it will not spawn the vehicle. Additionally if the spawn node is blocked by another vehicle the new vehicle will not be spawned. As such it is recommended to not charge the user on a sale through a third party plugin such as through an npc vendor. However if this is not possible please refer to the below message.
    When using a third party plugin’s vendor it is recommended to do the following if you do not want the gunship plugin to check for a player’s purchase or for any vehicle obstructions to avoid the vehicle spawn being canceled.
    Change "Disable Vehicle Payment Processing" to true Change "Check For Spawn Node Obstructions" to false  
    !! IMPORTANT !!
    The API does not assign the vehicle’s permission, and if "Disable Vehicle Payment Processing" is set to true the player will not have their wipe fee processed. If you want to have the player get the permission for the vehicle as well as have their wipe fee paid without having the gunship plugin charge them and potentially cancel the command if they do not have funds please add the following commands to the list of commands to be ran.
    > addplayervehicle <player_steam_id> <vehicle_name>
    > o.grant user <player_steam_id> gunship.<vehicle_permission>

    API
    bool CheckIfGunShip_API(NetworkableId entId) // Returns if whether or not the specified Net ID is a GunShip Vehicle bool GiveGunShipItem(BasePlayer player, string profilename) // Give the specified player a gunship spawn item bool SpawnGunShip(string profileName, ulong playerId, Vector3 position, Quaternion rotation, bool checkFunds, bool takeFunds, bool overridePermission, bool limitCheck) // Spawn a GunShip vehicle bool AddPlayerVehicle(string player, string profileName) // Add the specified vehicle to the list of purchased vehicles for that player bool RemovePlayerVehicle(string player, string profileName) // Remove the specified vehicle from the list of purchased vehicles for that player bool SpawnVehicle(string nodeName, string profileName, string playerID) // Spawn a vehicle at the specified node  
1.5m

Downloads

Total number of downloads.

7.2k

Customers

Total customers served.

107.5k

Files Sold

Total number of files sold.

2.2m

Payments Processed

Total payments processed.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.