Custom Cargo Ship Tiers

Custom Cargo Ship Tiers 2.0.1


Group-22.png
Group-23.png


Group 101.png Group 103.png Group 102.png Group 107.png


Layout
The cargo ship has two layouts: one with shipping containers (A) and another with an empty deck with military vehicles (B). You can determine which layout each tier spawns with by specifying either A or B in the CargoShipLayout config option.



Editor
In the cargo ship editor, you can create spawn groups for loot crates, portals, and npcs. Within each group, you can add spawn points for spawning these entities. When editing an npc spawn group, you can add additional points like cover and move points, which are ncessary for enabling custom navigation and cover seeking behavior for npcs.


Given the cargo ship's two layouts, you can add points for both within the same spawn group. This allows each spawn group to be usable for both layouts simultaneously, removing the need to create separate groups for each layout.


Spawn groups for npcs don't only spawn them but also manage their navigation and ai behavior. When editing an npc spawn group, it's important to follow certain rules to ensure npcs spawn and move without problems:

  • Move points are the foundation for both spawn and cover points. This means you must first lay down the move points and then place cover and spawn points on them as needed. Neglecting this can lead to npcs not seeking cover at the designated points or having issues following the move path upon spawning.
  • Ensure there's a clear line of sight between move points, avoiding paths that pass through objects.
  • Avoid unnecessary complexity in your move point links.
  • Keep a reasonable distance between move points, making use of the maximum link length of 4.5 meters. Although they don't always need to be spaced far apart, just avoid placing them too close to each other.
  • Place cover points in areas where npcs can effectively take cover from player attacks, typically behind high obstacles, corners, etc.
Group-17.png

Group-18.png

Group-15.png

Group-16.png




Custom Crate Spawns
Loot crates spawn on the cargo ship in rounds, occurring every x minutes. The default number of rounds is 3, but you can add more by duplicating the configuration for each round and assigning it a new number. Just make sure the numbers are in sequential order, starting with 0, followed by 1, 2, etc.


Each round has loot spawners consisting of a spawn group and a list of crates. Specify the quantity of each crate next to its name and ensure that the spawn group has enough spawn points to spawn all crates.
Supported crates:

  • junk
  • military
  • elite
  • medical
  • food
  • ammunition
  • explosives
  • foodbox
  • tools
  • vehicle parts
  • underwater medical
  • underwater food
  • underwater foodbox
  • underwater fuel
  • underwater tech parts
  • hackable
  • hackable oilrig
  • bradley
  • helicopter
  • supply drop
  • oil barrel
  • diesel barrel
  • diesel barrel collectable
JSON:
      "Loot": {
        "Enable Custom Crate Spawns": false,
        "Hackable Crate Hack Duration Seconds": 15.0,
        "Initial Spawn Delay Seconds": 10.0,
        "Spacing Between Rounds Minutes": 10.0,
        "Rounds": {
          "0": [
            {
              "Spawn Group Alias": "17B0C",
              "Crates": {
                "junk": 4,
                "military": 4,
                "elite": 1,
                "hackable": 1
              }
            },
            {
              "Spawn Group Alias": "CBF9E",
              "Crates": {
                "food": 2,
                "medical": 2
              }
            },
            {
              "Spawn Group Alias": "49860",
              "Crates": {
                "oil barrel": 5,
                "diesel barrel collectable": 2
              }
            }
          ]
        }
      },

Keep in mind that enabling custom crate spawns will prevent the spawning of vanilla crates on the ship. Therefore, only enable it once you have fully configured it.



Roaming Portals
Similar to dungeons, portals allow players to jump onto the cargo ship from anywhere on the map, turning the ship into a battle arena.


Portals spawn randomly on the map in proximity to players who meet specific criteria, such as not being in a monument, on water, in a building blocked area, flying a minicopter, or near an enemy base, etc. When a player enters a portal, a counterpart portal spawns on the other side on the ship, linking both portals together.

Portals also have a lifespan to prevent the map from being flooded with them and to add time pressure for players using them.

JSON:
      "Portal": {
        "Enable Portal Spawns": true,
        "Spawn Group Alias": "51469",
        "Minimum Spawn Range From Player": 15.0,
        "Maximum Spawn Range From Player": 40.0,
        "Spawn Chance": 50,
        "Initial Spawn Delay Seconds": 10.0,
        "Respawn Delay Minutes": 10.0,
        "Roaming Portal Lifetime Seconds": 60.0,
        "Cargo Ship Portal Lifetime Seconds": 30.0
      },


If one of the portals happens to be dead for any reason while the other is still alive, and a player attempts to enter one of them, it'll automatically try to connect to the next available portal based on a set of rules. Here's a graph to help in understanding:

Untitled 1.png


Custom NPC Spawners
You can create your own npc spawners that spawn npcs, modify their brain stats, and manage their navigation on the ship.


Brain Stats:
The following config options control how npcs behave and interact with targets. Here's an explanation of each one:

  • ForgetEnemiesAfterSeconds: The duration the npc remembers detected enemies.
  • EnemyDetectionRange: The limit for how far the npc can "see" or "sense" around it.
  • RangeForRememberingHiddenEnemies: The distance limit that allows the npc to keep track of targets even if they temporarily disappear from its view. If the target moves beyond this set distance, the npc will consider the target as "lost" and stop tracking it.
  • FieldOfViewRangeForSeeingEnemies: Determines how wide an area in front of the npc it can effectively "see" and react to. Higher values broaden the npc's field of view, allowing it to see players in a wider arc, while lower values narrow this field.
  • IgnoreCrouchedUnseenEnemies: Decides if the npc should ignore sneaking or crouching players who're not directly visible.
  • RangeForHearingEnemyNoises: The range within which the npc can hear noises made by players.
  • CanUseHealingItems: Determines whether the npc can use healing items.
  • ChanceOfUsingHealingItemWhenInjured: The probability of the npc using a healing item when its health is below a certain threshold.
  • ThresholdHealthPercentageToTriggerHealing: The health fraction below which the npc considers using a healing item.
  • CanBeBlindedByFlashbang: Determines whether the npc can be blinded by Flashbangs.
JSON:
            "Sensory": {
              "Enemy Detection Range": 30.0,
              "Range For Remembering Hidden Enemies": 50.0,
              "Forget Enemies After Seconds": 10.0,
              "Field Of View Range For Seeing Enemies": -0.8,
              "Range For Hearing Enemy Noises": 10.0,
              "Ignore Crouched Unseen Enemies": true,
              "Can Be Blinded By Flashbang": true
            },
            "Health": {
              "Start Health": 150.0,
              "Can Use Healing Items": true,
              "Chance Of Using Healing Item When Injured": 50,
              "Threshold Health Percentage To Trigger Healing": 50
            },


Loadout:
You can equip npcs with custom loadouts which include items for both their wear and belt inventories. To specify which weapon in the belt inventory is to be used as the active item, it must be the first item in the list.

Note that if you have CanUseHealingItems enabled, you must also include medical syringes or bandages in the belt loadout.

JSON:
            "Loadout": {
              "Equip Custom Loadout": false,
              "Randomize Active Weapon": true,
              "Belt": [
                {
                  "Shortname": "candycaneclub",
                  "SkinId": 0,
                  "Amount": 1
                },
                {
                  "Shortname": "syringe.medical",
                  "SkinId": 0,
                  "Amount": 2
                }
              ],
              "Wear": [
                {
                  "Shortname": "gingerbreadsuit",
                  "SkinId": 0,
                  "Amount": 1
                }
              ]
            }


Navigation and Pathfinding:
The pathfinding of CargoShipTiers npcs uses an algorithm called the "AStar" algorithm, which basically optimizes the route from a start point to a target destination by efficiently exploring the most promising paths based on cost and heuristic estimates. This's exactly the same method rust uses for their vanilla npcs that spawn at monuments such as underwater lab, military tunnel, and oil rig.


Group-20.png




Protective Bubble
When a player calls in a cargo ship, it spawns encapsulated in a bubble that keeps out everyone except the summoner and their teammates. It pushes away any vehicles attempting to enter, including rhibs, rowboats, minicopters, scrap helicopters, and even submarines.



Summon Profiles
Summon profiles enable players to summon (buy) cargo ships. When creating a new profile, assign it a unique name (suffix), as this will be used to construct the profile permission. For example, a summon profile with the suffix vip within the tier kraken results in the permission: customcargoshiptiers.kraken.vip. The plugin automatically generates these permissions for you.


You can set a price for summoning ships using inventory items, points (ServerRewards), or coins (Economics). Use the item shortname for items, points for ServerRewards, and coins for Economics.
JSON:
      "Summon Profiles": {
        "vip": {
          "Enabled": false,
          "Cargo Ship Layout": "A",
          "Cooldown Minutes": 360.0,
          "Price": [
            {
              "Currency": "scrap",
              "Enabled": true,
              "Amount": 700
            },
            {
              "Currency": "techparts",
              "Enabled": true,
              "Amount": 10
            },
            {
              "Currency": "coins",
              "Enabled": false,
              "Amount": 1000
            },
            {
              "Currency": "points",
              "Enabled": false,
              "Amount": 1000
            }
          ]
        }
      }



Permissions
CustomCargoShipTiers uses Oxides permission system
To assign a user permission use oxide.grant user "username|steam id" "permission" in console.
To assign a group permission use oxide.grant group "groupname" "permission" in console.
You can read more about how to use the permission system here : uMod - Permissions
  • customcargoshiptiers.admin - Grants access to the editor and the use of admin commands.



Commands
The placeholder within < > indicates a required argument, while the placeholder within [ ] indicates an optional argument.

Chat Commands:
  • cargoshiptiers.buy <TierName> - Allows players to summon a ship. This command is used directly by the player, who must have a summon profile assigned to them.
Console Commands:
  • cargoshiptiers.edit - Enters the cargo ship editor.
  • cargoshiptiers.call <TierName> [SteamId] - Summons a ship for a specified player. This is useful if you wish to sell or call the ship through other plugins. Replace SteamId with the appropriate placeholder as required by the plugin being used. If no id is specified, the ship will spawn randomly on the map.



Default Configuration
JSON:
{
  "Version": "2.0.0",
  "Maximum Population": 1,
  "Disable Vanilla Cargo Ship": false,
  "Tiered Cargo Ships": {
    "kraken": {
      "Enabled": true,
      "Lifetime Minutes": 50.0,
      "Maximum Population": 1,
      "Egress Duration Minutes": 10.0,
      "Spawn": {
        "Enable Automated Cargo Ship Spawns": true,
        "Cargo Ship Layout": "A",
        "Spawn Chance": 100,
        "Minimum Active Players Required": 0,
        "Minimum Respawn Delay Minutes": 90.0,
        "Maximum Respawn Delay Minutes": 135.0
      },
      "Loot": {
        "Enable Custom Crate Spawns": false,
        "Hackable Crate Hack Duration Seconds": 15.0,
        "Initial Spawn Delay Seconds": 10.0,
        "Spacing Between Rounds Minutes": 10.0,
        "Rounds": {
          "0": [
            {
              "Spawn Group Alias": "00000",
              "Crates": {
                "junk": 4,
                "military": 4,
                "elite": 1,
                "hackable": 1
              }
            },
            {
              "Spawn Group Alias": "00000",
              "Crates": {
                "food": 2,
                "medical": 2
              }
            },
            {
              "Spawn Group Alias": "00000",
              "Crates": {
                "oil barrel": 5,
                "diesel barrel collectable": 2
              }
            }
          ],
          "1": [
            {
              "Spawn Group Alias": "00000",
              "Crates": {
                "junk": 4,
                "military": 4,
                "elite": 1,
                "hackable": 1
              }
            },
            {
              "Spawn Group Alias": "00000",
              "Crates": {
                "food": 2,
                "medical": 2
              }
            },
            {
              "Spawn Group Alias": "00000",
              "Crates": {
                "oil barrel": 5,
                "diesel barrel collectable": 2
              }
            }
          ],
          "2": [
            {
              "Spawn Group Alias": "00000",
              "Crates": {
                "junk": 4,
                "military": 4,
                "elite": 1,
                "hackable": 1
              }
            },
            {
              "Spawn Group Alias": "00000",
              "Crates": {
                "food": 2,
                "medical": 2
              }
            },
            {
              "Spawn Group Alias": "00000",
              "Crates": {
                "oil barrel": 5,
                "diesel barrel collectable": 2
              }
            }
          ]
        }
      },
      "Portal": {
        "Enable Portal Spawns": false,
        "Spawn Group Alias": "00000",
        "Minimum Spawn Range From Player": 15.0,
        "Maximum Spawn Range From Player": 40.0,
        "Spawn Chance": 50,
        "Initial Spawn Delay Seconds": 10.0,
        "Respawn Delay Minutes": 10.0,
        "Roaming Portal Lifetime Seconds": 60.0,
        "Cargo Ship Portal Lifetime Seconds": 30.0
      },
      "NPC": {
        "Disable Vanilla NPC Spawners": false,
        "Enable Custom NPC Spawns": false,
        "Custom NPC Spawners": [
          {
            "Enabled": false,
            "Spawn Group Alias": "00000",
            "Initial Spawn Delay Seconds": 10.0,
            "Respawn Delay Minutes": 10.0,
            "Maximum Population": 4,
            "Minimum Number To Spawn Per Spawn Cycle": 1,
            "Maximum Number To Spawn Per Spawn Cycle": 2,
            "Spawn Chance": 100,
            "Sensory": {
              "Enemy Detection Range": 30.0,
              "Range For Remembering Hidden Enemies": 50.0,
              "Forget Enemies After Seconds": 10.0,
              "Field Of View Range For Seeing Enemies": -0.8,
              "Range For Hearing Enemy Noises": 10.0,
              "Ignore Crouched Unseen Enemies": true,
              "Can Be Blinded By Flashbang": true
            },
            "Health": {
              "Start Health": 150.0,
              "Can Use Healing Items": true,
              "Chance Of Using Healing Item When Injured": 50,
              "Threshold Health Percentage To Trigger Healing": 50
            },
            "Loadout": {
              "Equip Custom Loadout": false,
              "Randomize Active Weapon": true,
              "Belt": [
                {
                  "Shortname": "candycaneclub",
                  "SkinId": 0,
                  "Amount": 1
                },
                {
                  "Shortname": "syringe.medical",
                  "SkinId": 0,
                  "Amount": 2
                }
              ],
              "Wear": [
                {
                  "Shortname": "gingerbreadsuit",
                  "SkinId": 0,
                  "Amount": 1
                }
              ]
            }
          },
          {
            "Enabled": false,
            "Spawn Group Alias": "00000",
            "Initial Spawn Delay Seconds": 10.0,
            "Respawn Delay Minutes": 10.0,
            "Maximum Population": 4,
            "Minimum Number To Spawn Per Spawn Cycle": 1,
            "Maximum Number To Spawn Per Spawn Cycle": 2,
            "Spawn Chance": 100,
            "Sensory": {
              "Enemy Detection Range": 30.0,
              "Range For Remembering Hidden Enemies": 50.0,
              "Forget Enemies After Seconds": 10.0,
              "Field Of View Range For Seeing Enemies": -0.8,
              "Range For Hearing Enemy Noises": 10.0,
              "Ignore Crouched Unseen Enemies": true,
              "Can Be Blinded By Flashbang": true
            },
            "Health": {
              "Start Health": 150.0,
              "Can Use Healing Items": true,
              "Chance Of Using Healing Item When Injured": 50,
              "Threshold Health Percentage To Trigger Healing": 50
            },
            "Loadout": {
              "Equip Custom Loadout": false,
              "Randomize Active Weapon": true,
              "Belt": [
                {
                  "Shortname": "pitchfork",
                  "SkinId": 0,
                  "Amount": 1
                },
                {
                  "Shortname": "knife.butcher",
                  "SkinId": 0,
                  "Amount": 1
                },
                {
                  "Shortname": "bone.club",
                  "SkinId": 0,
                  "Amount": 1
                },
                {
                  "Shortname": "syringe.medical",
                  "SkinId": 0,
                  "Amount": 2
                }
              ],
              "Wear": [
                {
                  "Shortname": "halloween.mummysuit",
                  "SkinId": 0,
                  "Amount": 1
                }
              ]
            }
          }
        ]
      },
      "Summon Profiles": {
        "vip": {
          "Enabled": false,
          "Cargo Ship Layout": "A",
          "Cooldown Minutes": 360.0,
          "Price": [
            {
              "Currency": "scrap",
              "Enabled": true,
              "Amount": 700
            },
            {
              "Currency": "techparts",
              "Enabled": true,
              "Amount": 10
            },
            {
              "Currency": "coins",
              "Enabled": false,
              "Amount": 1000
            },
            {
              "Currency": "points",
              "Enabled": false,
              "Amount": 1000
            }
          ]
        }
      }
    },
    "mermaid": {
      "Enabled": true,
      "Lifetime Minutes": 50.0,
      "Maximum Population": 1,
      "Egress Duration Minutes": 10.0,
      "Spawn": {
        "Enable Automated Cargo Ship Spawns": true,
        "Cargo Ship Layout": "A",
        "Spawn Chance": 100,
        "Minimum Active Players Required": 0,
        "Minimum Respawn Delay Minutes": 90.0,
        "Maximum Respawn Delay Minutes": 135.0
      },
      "Loot": {
        "Enable Custom Crate Spawns": false,
        "Hackable Crate Hack Duration Seconds": 15.0,
        "Initial Spawn Delay Seconds": 10.0,
        "Spacing Between Rounds Minutes": 10.0,
        "Rounds": {
          "0": [
            {
              "Spawn Group Alias": "00000",
              "Crates": {
                "junk": 4,
                "military": 4,
                "elite": 1,
                "hackable": 1
              }
            },
            {
              "Spawn Group Alias": "00000",
              "Crates": {
                "food": 2,
                "medical": 2
              }
            },
            {
              "Spawn Group Alias": "00000",
              "Crates": {
                "oil barrel": 5,
                "diesel barrel collectable": 2
              }
            }
          ],
          "1": [
            {
              "Spawn Group Alias": "00000",
              "Crates": {
                "junk": 4,
                "military": 4,
                "elite": 1,
                "hackable": 1
              }
            },
            {
              "Spawn Group Alias": "00000",
              "Crates": {
                "food": 2,
                "medical": 2
              }
            },
            {
              "Spawn Group Alias": "00000",
              "Crates": {
                "oil barrel": 5,
                "diesel barrel collectable": 2
              }
            }
          ],
          "2": [
            {
              "Spawn Group Alias": "00000",
              "Crates": {
                "junk": 4,
                "military": 4,
                "elite": 1,
                "hackable": 1
              }
            },
            {
              "Spawn Group Alias": "00000",
              "Crates": {
                "food": 2,
                "medical": 2
              }
            },
            {
              "Spawn Group Alias": "00000",
              "Crates": {
                "oil barrel": 5,
                "diesel barrel collectable": 2
              }
            }
          ]
        }
      },
      "Portal": {
        "Enable Portal Spawns": false,
        "Spawn Group Alias": "00000",
        "Minimum Spawn Range From Player": 15.0,
        "Maximum Spawn Range From Player": 40.0,
        "Spawn Chance": 50,
        "Initial Spawn Delay Seconds": 10.0,
        "Respawn Delay Minutes": 10.0,
        "Roaming Portal Lifetime Seconds": 60.0,
        "Cargo Ship Portal Lifetime Seconds": 30.0
      },
      "NPC": {
        "Disable Vanilla NPC Spawners": false,
        "Enable Custom NPC Spawns": false,
        "Custom NPC Spawners": [
          {
            "Enabled": false,
            "Spawn Group Alias": "00000",
            "Initial Spawn Delay Seconds": 10.0,
            "Respawn Delay Minutes": 10.0,
            "Maximum Population": 4,
            "Minimum Number To Spawn Per Spawn Cycle": 1,
            "Maximum Number To Spawn Per Spawn Cycle": 2,
            "Spawn Chance": 100,
            "Sensory": {
              "Enemy Detection Range": 30.0,
              "Range For Remembering Hidden Enemies": 50.0,
              "Forget Enemies After Seconds": 10.0,
              "Field Of View Range For Seeing Enemies": -0.8,
              "Range For Hearing Enemy Noises": 10.0,
              "Ignore Crouched Unseen Enemies": true,
              "Can Be Blinded By Flashbang": true
            },
            "Health": {
              "Start Health": 150.0,
              "Can Use Healing Items": true,
              "Chance Of Using Healing Item When Injured": 50,
              "Threshold Health Percentage To Trigger Healing": 50
            },
            "Loadout": {
              "Equip Custom Loadout": false,
              "Randomize Active Weapon": true,
              "Belt": [
                {
                  "Shortname": "candycaneclub",
                  "SkinId": 0,
                  "Amount": 1
                },
                {
                  "Shortname": "syringe.medical",
                  "SkinId": 0,
                  "Amount": 2
                }
              ],
              "Wear": [
                {
                  "Shortname": "gingerbreadsuit",
                  "SkinId": 0,
                  "Amount": 1
                }
              ]
            }
          },
          {
            "Enabled": false,
            "Spawn Group Alias": "00000",
            "Initial Spawn Delay Seconds": 10.0,
            "Respawn Delay Minutes": 10.0,
            "Maximum Population": 4,
            "Minimum Number To Spawn Per Spawn Cycle": 1,
            "Maximum Number To Spawn Per Spawn Cycle": 2,
            "Spawn Chance": 100,
            "Sensory": {
              "Enemy Detection Range": 30.0,
              "Range For Remembering Hidden Enemies": 50.0,
              "Forget Enemies After Seconds": 10.0,
              "Field Of View Range For Seeing Enemies": -0.8,
              "Range For Hearing Enemy Noises": 10.0,
              "Ignore Crouched Unseen Enemies": true,
              "Can Be Blinded By Flashbang": true
            },
            "Health": {
              "Start Health": 150.0,
              "Can Use Healing Items": true,
              "Chance Of Using Healing Item When Injured": 50,
              "Threshold Health Percentage To Trigger Healing": 50
            },
            "Loadout": {
              "Equip Custom Loadout": false,
              "Randomize Active Weapon": true,
              "Belt": [
                {
                  "Shortname": "pitchfork",
                  "SkinId": 0,
                  "Amount": 1
                },
                {
                  "Shortname": "knife.butcher",
                  "SkinId": 0,
                  "Amount": 1
                },
                {
                  "Shortname": "bone.club",
                  "SkinId": 0,
                  "Amount": 1
                },
                {
                  "Shortname": "syringe.medical",
                  "SkinId": 0,
                  "Amount": 2
                }
              ],
              "Wear": [
                {
                  "Shortname": "halloween.mummysuit",
                  "SkinId": 0,
                  "Amount": 1
                }
              ]
            }
          }
        ]
      },
      "Summon Profiles": {
        "vip": {
          "Enabled": false,
          "Cargo Ship Layout": "A",
          "Cooldown Minutes": 360.0,
          "Price": [
            {
              "Currency": "scrap",
              "Enabled": true,
              "Amount": 700
            },
            {
              "Currency": "techparts",
              "Enabled": true,
              "Amount": 10
            },
            {
              "Currency": "coins",
              "Enabled": false,
              "Amount": 1000
            },
            {
              "Currency": "points",
              "Enabled": false,
              "Amount": 1000
            }
          ]
        }
      }
    },
    "ocean curse": {
      "Enabled": true,
      "Lifetime Minutes": 50.0,
      "Maximum Population": 1,
      "Egress Duration Minutes": 10.0,
      "Spawn": {
        "Enable Automated Cargo Ship Spawns": true,
        "Cargo Ship Layout": "A",
        "Spawn Chance": 100,
        "Minimum Active Players Required": 0,
        "Minimum Respawn Delay Minutes": 90.0,
        "Maximum Respawn Delay Minutes": 135.0
      },
      "Loot": {
        "Enable Custom Crate Spawns": false,
        "Hackable Crate Hack Duration Seconds": 15.0,
        "Initial Spawn Delay Seconds": 10.0,
        "Spacing Between Rounds Minutes": 10.0,
        "Rounds": {
          "0": [
            {
              "Spawn Group Alias": "00000",
              "Crates": {
                "junk": 4,
                "military": 4,
                "elite": 1,
                "hackable": 1
              }
            },
            {
              "Spawn Group Alias": "00000",
              "Crates": {
                "food": 2,
                "medical": 2
              }
            },
            {
              "Spawn Group Alias": "00000",
              "Crates": {
                "oil barrel": 5,
                "diesel barrel collectable": 2
              }
            }
          ],
          "1": [
            {
              "Spawn Group Alias": "00000",
              "Crates": {
                "junk": 4,
                "military": 4,
                "elite": 1,
                "hackable": 1
              }
            },
            {
              "Spawn Group Alias": "00000",
              "Crates": {
                "food": 2,
                "medical": 2
              }
            },
            {
              "Spawn Group Alias": "00000",
              "Crates": {
                "oil barrel": 5,
                "diesel barrel collectable": 2
              }
            }
          ],
          "2": [
            {
              "Spawn Group Alias": "00000",
              "Crates": {
                "junk": 4,
                "military": 4,
                "elite": 1,
                "hackable": 1
              }
            },
            {
              "Spawn Group Alias": "00000",
              "Crates": {
                "food": 2,
                "medical": 2
              }
            },
            {
              "Spawn Group Alias": "00000",
              "Crates": {
                "oil barrel": 5,
                "diesel barrel collectable": 2
              }
            }
          ]
        }
      },
      "Portal": {
        "Enable Portal Spawns": false,
        "Spawn Group Alias": "00000",
        "Minimum Spawn Range From Player": 15.0,
        "Maximum Spawn Range From Player": 40.0,
        "Spawn Chance": 50,
        "Initial Spawn Delay Seconds": 10.0,
        "Respawn Delay Minutes": 10.0,
        "Roaming Portal Lifetime Seconds": 60.0,
        "Cargo Ship Portal Lifetime Seconds": 30.0
      },
      "NPC": {
        "Disable Vanilla NPC Spawners": false,
        "Enable Custom NPC Spawns": false,
        "Custom NPC Spawners": [
          {
            "Enabled": false,
            "Spawn Group Alias": "00000",
            "Initial Spawn Delay Seconds": 10.0,
            "Respawn Delay Minutes": 10.0,
            "Maximum Population": 4,
            "Minimum Number To Spawn Per Spawn Cycle": 1,
            "Maximum Number To Spawn Per Spawn Cycle": 2,
            "Spawn Chance": 100,
            "Sensory": {
              "Enemy Detection Range": 30.0,
              "Range For Remembering Hidden Enemies": 50.0,
              "Forget Enemies After Seconds": 10.0,
              "Field Of View Range For Seeing Enemies": -0.8,
              "Range For Hearing Enemy Noises": 10.0,
              "Ignore Crouched Unseen Enemies": true,
              "Can Be Blinded By Flashbang": true
            },
            "Health": {
              "Start Health": 150.0,
              "Can Use Healing Items": true,
              "Chance Of Using Healing Item When Injured": 50,
              "Threshold Health Percentage To Trigger Healing": 50
            },
            "Loadout": {
              "Equip Custom Loadout": false,
              "Randomize Active Weapon": true,
              "Belt": [
                {
                  "Shortname": "candycaneclub",
                  "SkinId": 0,
                  "Amount": 1
                },
                {
                  "Shortname": "syringe.medical",
                  "SkinId": 0,
                  "Amount": 2
                }
              ],
              "Wear": [
                {
                  "Shortname": "gingerbreadsuit",
                  "SkinId": 0,
                  "Amount": 1
                }
              ]
            }
          },
          {
            "Enabled": false,
            "Spawn Group Alias": "00000",
            "Initial Spawn Delay Seconds": 10.0,
            "Respawn Delay Minutes": 10.0,
            "Maximum Population": 4,
            "Minimum Number To Spawn Per Spawn Cycle": 1,
            "Maximum Number To Spawn Per Spawn Cycle": 2,
            "Spawn Chance": 100,
            "Sensory": {
              "Enemy Detection Range": 30.0,
              "Range For Remembering Hidden Enemies": 50.0,
              "Forget Enemies After Seconds": 10.0,
              "Field Of View Range For Seeing Enemies": -0.8,
              "Range For Hearing Enemy Noises": 10.0,
              "Ignore Crouched Unseen Enemies": true,
              "Can Be Blinded By Flashbang": true
            },
            "Health": {
              "Start Health": 150.0,
              "Can Use Healing Items": true,
              "Chance Of Using Healing Item When Injured": 50,
              "Threshold Health Percentage To Trigger Healing": 50
            },
            "Loadout": {
              "Equip Custom Loadout": false,
              "Randomize Active Weapon": true,
              "Belt": [
                {
                  "Shortname": "pitchfork",
                  "SkinId": 0,
                  "Amount": 1
                },
                {
                  "Shortname": "knife.butcher",
                  "SkinId": 0,
                  "Amount": 1
                },
                {
                  "Shortname": "bone.club",
                  "SkinId": 0,
                  "Amount": 1
                },
                {
                  "Shortname": "syringe.medical",
                  "SkinId": 0,
                  "Amount": 2
                }
              ],
              "Wear": [
                {
                  "Shortname": "halloween.mummysuit",
                  "SkinId": 0,
                  "Amount": 1
                }
              ]
            }
          }
        ]
      },
      "Summon Profiles": {
        "vip": {
          "Enabled": false,
          "Cargo Ship Layout": "A",
          "Cooldown Minutes": 360.0,
          "Price": [
            {
              "Currency": "scrap",
              "Enabled": true,
              "Amount": 700
            },
            {
              "Currency": "techparts",
              "Enabled": true,
              "Amount": 10
            },
            {
              "Currency": "coins",
              "Enabled": false,
              "Amount": 1000
            },
            {
              "Currency": "points",
              "Enabled": false,
              "Amount": 1000
            }
          ]
        }
      }
    }
  }
}

Information

Author
Dana
First release
Last update
Rating
4.33 star(s) 6 ratings

Latest Release v2.0.1

Released
May 3, 2024 at 8:42 AM
Rating
0.00 star(s) 0 ratings


More resources from Dana


Custom Cargo Ship Tiers by Dana
© chaoscode.io Apr 1, 2023

Latest reviews

I don't normally do reviews for plugins, but for this I am making an exception. If you are running a custom server and want a dynamic Cargo experience... this is the plug for you.

Dana was very responsive when addressing an issue with NPC health, and delivered a massive improvement upgrade with the drop of version 2.0. There is no other plugin out there that allows for such immersive customization of Cargo, and the addition of an interactive UI to facilitate it all has been so awesome. I was able to complete 6 unique versions of the ship - with over 40 NPC spawn points, movement paths, cover zones, custom load-outs and healthpools in just over 3 hours. MAJOR improvement over 1.0.

Highly recommend this plug in current state. The learning curve is much easier now with the UI elements. I was fortunate to purchase while it was in beta, but I would pay even more for it now than what it is listed at anyways.
Dana
Dana
Thank you <3
No data file or folder for the spawns. Plugin compiled successfully and spawned Kraken as intented, still do data file. Config and CS file worked without errors, but obviously without this data file, unusable. Unloaded, regretted, vanilla cargo will do.
Dana
Dana
The data files are generated as soon as you enter the cargo ship's edit mode. I'd have appreciated it if you had reached out to me for help before you rush submitting your review
This plugin is a perfect match to the Custom heli tier, also made by Dana, very easy and simple to use with loads of options, well done again Dana!!!
Dana
Dana
Thank you!
Great plugin with ALOT of options to set it up to your liking.
Setting up the plugin is verry easy by F1 console commands.
Developer is verry fast on responding and helping with any problems.

5 stars must have for any server :-)
Dana
Dana
Thank you, Ac3! Your recommendation means a lot to me, and I hope that CST continues to serve you well. As always, feel free to reach out if you have any further questions or need assistance
The abilities to customize the Cargo ship based on unlimited profiles is a game changer to the server. This opens up new variety for Sea based events that are rather lacking. Even tho the plugin is in beta, most of the existing features functions well. The developer is also very responsive and helpful to clear any difficulties in setting up the plugin on discord if any help is needed. - Highly Recommended, well worthed the price.
Dana
Dana
Thank you for taking the time to share your thoughts and leave such a positive review, it means a lot to me! If you ever have any further questions or suggestions, don't hesitate to reach out.