LootBoxes Plus (ARK)
LootBoxes Plus allows you to create random lootboxes that you can award to your players via a webshop or some other method in order to monetize your ARK servers.

Features:
Timed LootBoxes:
- Set multiple intervals, each with a box, amount and group restrictions​
- Functions the same as ArkShop Timed Reward​
Loot Types:
- Items: Armor, Weapons, Saddles, Structures, Resources etc.​
- Shop Points: Random number of points for ArkShop​
- Dinos: Saddled, Imprinted, Adult, Baby, you choose!​
- Commands: EXP, Kits, another LootBox, etc!​
- Set as many LootGroups as needed, and mix and match loot types.​
Group Restrictions:
Specify group restrictions for both receiving a TimedRewards LootBox and for opening a LootBox. Give your players a VIP box to incentivize membership!​
Config Generator:
From the Discord, you can access a config generator sheet for the plugin. It allows you to easily plan your LootBoxes and create your entire config.json file. Create up to 5 boxes with up to 5 LootGroups each by default! (Can be expanded) You may set the weight of your entries and view your % Drop rates for both a single roll and for the box as a whole. [Updated for 2.0+ Config!]​

Commands:
Chat Commands (Can set your own in config):
/lootboxes - View lootbox balance​
/lootbox <BoxName> - Use a lootbox​

RCON & Console Commands:
AddLootBox <SteamID> <BoxName> <Amount> - Add a LootBox by SteamID​
LBP.Reload - Reload config.json​
AddLootBoxFromCmd <BoxName> <Amount>
- Adds lootbox to the player that runs/buys this command (No SteamID needed)​
UseLootBoxFromCmd <BoxName>
- Opens lootbox for the player that runs/buys this command (They need to have one first)​

Example ArkShop Item:
Code:
    "SilverBox": { // Gives the buyer the specified LootBox
      "Type": "command",
      "Description": "Silver LootBox",
      "Price": 1,
      "Items": [
        {
          "Command": "addlootboxfromcmd Silver 1"
        }
      ]
    },
    "SilverOpenBox": { // Gives the buyer the specified LootBox and opens it automatically
      "Type": "command",
      "Description": "Silver LootBox",
      "Price": 1,
      "Items": [
        {
          "Command": "addlootboxfromcmd Silver 1"
        },
        {
          "Command": "uselootboxfromcmd Silver"
        }
      ]
    }

Configuration:
Code:
{
  "Database": {
    "UseMySQL": true, // Uses sqlite otherwise
    "MySQLHost": "localhost",
    "MySQLUsername": "root",
    "MySQLPassword": "password",
    "DBName": "arklootboxes", // Create this schema on your Mysql server, dont use the same schema as another plugin
    "SQLitePath": "D:/Servers/Database"
  },
  "Commands": { // Change your messages to match
    "ViewLootBoxes": "/lootboxes", // Show player lootboxes cmd
    "UseLootBox": "/lootbox" // Open a lootbox cmd
  },
  "TimedRewards": {
    "Enabled": true, // TimedRewards on or off
    "Intervals": [
      {
        "Interval": 60, // Time in minutes
        "Box": "Silver", // Name of the lootbox
        "Amount": 1, // Amount to give
        "Groups": "" // Groups to give to, "" for any group
      },
      {
        "Interval": 90,
        "Box": "Gold",
        "Amount": 1,
        "Groups": "Premiums"
      }
    ]
  },
  "DefaultBox": "Silver", // Box to be given out for /lootbox cmd without specifying a box
  "LootBoxes": {
    "Silver": { // Name of the lootbox - CASE SENSITIVE!
      "Groups":"Default,Premiums", // Groups that can open the box, "" for any group
      "LootGroups": {
        "ItemExample": { // Create as many as you need. Name is only used for organizational purposes.
          "Rolls": 1,
          "Contents": [
            {
              "Type": "Item",
              "Amount": 1,
              "MinQuality": 2,
              "MaxQuality": 3.5,
              "BlueprintChance": 10,
              "Blueprint": "Blueprint'/Game/PrimalEarth/CoreBlueprints/Weapons/PrimalItem_WeaponMetalPick.PrimalItem_WeaponMetalPick'"
            }
          ]
        },
        "DinoExample": {
          "Rolls": 1,
          "Contents": [
            {
              "Type": "Dino",
              "Level": 1,
              "Blueprint": "Blueprint'/Game/PrimalEarth/Dinos/Rex/Rex_Character_BP.Rex_Character_BP'"
            },
            {
              "Type": "Dino",
              "Level": 1,
              "ImprintingPercent": 50, // between 0-100, the imprinting % the dino will have. Can also be used on adults. (Defaults to 0)
              "MaturationPercent": 0, // between 0-100, the imprinting % the dino will have. Set below 100 for a baby dino! Set to 100 or omit for an adult. (Defaults to 100)
              "Blueprint": "Blueprint'/Game/PrimalEarth/Dinos/Rex/Rex_Character_BP.Rex_Character_BP'",
              "SaddleBlueprint": "Blueprint'/Game/PrimalEarth/CoreBlueprints/Items/Armor/Saddles/PrimalItemArmor_RexSaddle.PrimalItemArmor_RexSaddle'", // BP if you would like to give the dino a saddle (Default none)
              "SaddleQuality": 5, // Quality of the saddle
              "EquipSaddle": true // true/false whether to equip the saddle or place it in players inventory
            },
            {
              "Type": "Dino",
              "MinLevel":75,
              "MaxLevel": 150, // Picks a random level in this range. Both must be set. Overrides Level
              "MinImprintingPercent": 50,
              "MaxImprintingPercent": 100, //Picks a random imprinting percent in this range. Both must be set. Range: 0-100. Overrides ImprintingPercent
              "MinMaturationPercent": 0,
              "MaxMaturationPercent": 100, // Picks a random maturation percent in this range. Both must be set. Range: 0-100. Overrides MaturationPercent
              "Blueprint": "Blueprint'/Game/PrimalEarth/Dinos/Rex/Rex_Character_BP.Rex_Character_BP'",
              "MinSaddleQuality": 2,
              "MaxSaddleQuality": 5, // Picks a random saddle quality in this range. Both must be set. Overrides SaddleQuality
              "SaddleBlueprint": "Blueprint'/Game/PrimalEarth/CoreBlueprints/Items/Armor/Saddles/PrimalItemArmor_RexSaddle.PrimalItemArmor_RexSaddle'",
              "EquipSaddle": true
            }
          ]
        },
        "PointsExample": {
          "Rolls": 1,
          "Contents": [
            {
              "Type": "Points",
              "MinPoints": 50,
              "MaxPoints": 150
            }
          ]
        },
        "CommandExample": {
          "Rolls": 1,
          "Contents": [
            {
              "Type": "Command",
              "Random1": 1,
              "Random2": 2,
              "Command": "AddLootBoxFromCmd Silver %Random12%"
            }
          ]
        },
        "MixedExample": {
          "Rolls": 3,
          "Contents": [
            {
              "Type": "Item",
              "Amount": 1,
              "MinQuality": 2,
              "MaxQuality": 3.5,
              "BlueprintChance": 10,
              "Blueprint": "Blueprint'/Game/PrimalEarth/CoreBlueprints/Weapons/PrimalItem_WeaponMetalPick.PrimalItem_WeaponMetalPick'"
            },
            {
              "Type": "Dino",
              "Level": 1,
              "Blueprint": "Blueprint'/Game/PrimalEarth/Dinos/Rex/Rex_Character_BP.Rex_Character_BP'"
            },
            {
              "Type": "Points",
              "MinPoints": 50,
              "MaxPoints": 150
            },
            {
              "Type": "Command",
              "Random1": 1,
              "Random2": 2,
              "Command": "AddLootBoxFromCmd Silver %Random12%"
            },
            {
              "Type": "Filler" // Filler - Empty entry if you want to have a chance for nothing to drop
            }
          ]
        }
      }
    },
    // More lootboxes here
  },
  "Messages": {
    "Sender": "LootBoxesPlus",
    "Usage": "Please use /lootbox <box>",
    "OpenMessage": "You opened '%box%' LootBox!",
    "NoBox": "You don't have any '%box%' LootBoxes!",
    "NotFound": "LootBox '%box%' doesn't exist!",
    "NotAllowed": "You do not have permission to open %box% LootBox!"
  },
  "UseOldConfig": false, // Use the old config format
  "DisableWarnings": false, // Disables console warning/info logs
  "FallBack": // Necessary for validation
}
Code:
{
  "Database": {
    "UseMySQL": true, // Uses sqlite otherwise
    "MySQLHost": "localhost",
    "MySQLUsername": "root",
    "MySQLPassword": "password",
    "DBName": "arklootboxes", // Create this schema on your Mysql server, dont use the same schema as another plugin
    "SQLitePath": "D:/Servers/Database"
  },
  "Commands": { // Change your messages to match
    "ViewLootBoxes": "/lootboxes", // Show player lootboxes cmd
    "UseLootBox": "/lootbox" // Open a lootbox cmd
  },
  "TimedRewards": {
    "Enabled": true, // TimedRewards on or off
    "Intervals": [
      {
        "Interval": 60, // Time in minutes
        "Box": "Silver", // Name of the lootbox
        "Amount": 1, // Amount to give
        "Groups": "" // Groups to give to, "" for any group
      },
      {
        "Interval": 90,
        "Box": "Gold",
        "Amount": 1,
        "Groups": "Premiums"
      }
    ]
  },
  "DefaultBox":"Silver", // Box to be given out for /lootbox cmd without specifying a box
  "LootBoxes": {
    "Silver": { // Name of the lootbox - CASE SENSITIVE!
      "Groups":"Default,Premiums", // Groups that can open the box, "" for any group
      "Items": {
        "Rolls": 1,
        "PossibleItems": [
          {
            "Amount": 1,
            "MinQuality": 2,
            "MaxQuality": 3.5,
            "BlueprintChance": 10,
            "Blueprint": "Blueprint'/Game/PrimalEarth/CoreBlueprints/Weapons/PrimalItem_WeaponMetalPick.PrimalItem_WeaponMetalPick'"
          },
          {
            "Blueprint": "" // Filler - Empty entry if you want to have a chance for nothing to drop
          }
        ]
      },
      "Dinos": {
        "Rolls": 3,
        "PossibleDinos": [
          {
            "Level": 1,
            "Blueprint": "Blueprint'/Game/Mods/ClassicFlyers/Dinos/Quetz/Quetz_Character_BP.Quetz_Character_BP'"
          },
          {
            "Level": 1,
            "Blueprint": "Blueprint'/Game/PrimalEarth/Dinos/Rex/Rex_Character_BP.Rex_Character_BP'"
          },
          {
            "Blueprint": "" // Filler
          }
        ]
      },
      "Resources": {
        "Rolls": 1,
        "PossibleResources": [
          {
            "Amount": 50,
            "Blueprint": "Blueprint'/Game/PrimalEarth/CoreBlueprints/Resources/PrimalItemResource_Element.PrimalItemResource_Element_C'"
          },
          {
            "Amount": 100,
            "Blueprint": "Blueprint'/Game/PrimalEarth/CoreBlueprints/Resources/PrimalItemResource_Element.PrimalItemResource_Element_C'"
          },
          {
            "Blueprint": "" // Filler
          }
        ]
      },
      "ShopPoints": {
        "Rolls": 1,
        "PossiblePoints": [
          {
            "MinPoints": 1,
            "MaxPoints": 50
          },
          {
            "MinPoints": 50,
            "MaxPoints": 500
          },
          {
            "MinPoints": 250,
            "MaxPoints": 250
          },
          {
            "MaxPoints":0 // Filler
          }
        ]
      },
      "Commands": {
        "Rolls": 1,
        "PossibleCommands": [
          {
            "Random1": 1,
            "Random2": 5,
            "Command": "AddLootBoxFromCmd Silver %Random12%"
          },
          {
            "Random1": 100,
            "Random2": 1000,
            "Random3": 0,
            "Random4": 1,
            "Command": "AddExperience %Random12% %Random34% 0 0"
          },
          {
            "Random1": 1,
            "Random2": 3,
            "Command": "ChangeKitAmount %SteamID% starter %Random12%"
          },
          {
            "Command": "" // Filler
          }
        ]
      }
    },
    // More lootboxes here
  },
   "Messages": {
    "Sender":        "LootBoxesPlus",
    "Usage":         "Please use /lootbox <box>",
    "OpenMessage":   "You opened '%box%' LootBox!",
    "NoBox":         "You don't have any '%box%' LootBoxes!",
    "NotFound":      "LootBox '%box%' doesn't exist!",
    "NotAllowed":    "You do not have permission to open %box% LootBox!"
  },
  "UseOldConfig": true, // Use the old config format
  "DisableWarnings": false, // Disables console warning/info logs
  "FallBack": // Necessary for validation
}

In the works (Not implemented):
- LootBox Trading​

Dependencies:

Installation:
1. Install ARK: Server API
2. Install the ArkShop plugin​
3. Install the Permissions plugin​
4. Copy the LootBoxesPlus folder from .zip to "ArkApi/Plugins"​
5. Edit config.json to fit your needs. Use Config Helper if needed​

HWID Info:
Once you download the plugin, run it once to be shown your HWID. Join my Discord and send your HWID & PayPal Invoice # to me and within 24 hours I will have you licensed.​
If it is during the day EST I will usually have you licensed within an hour or two. Once you are licensed, the plugin will load normally.​
Author
Haragon
Downloads
78
Type
Digital product
License duration
Unlimited
Price
39.99 USD
Views
78
First release
Last update
Rating
5.00 star(s) 4 ratings

More resources from Haragon

Latest updates

  1. LootBoxes Plus (ARK) V2.1

    Added New Dino Config Options: "ImprintingPercent" - between 0-100, the imprinting % the dino...
  2. LootBoxes Plus (ARK) V2.0

    Bug fixes: Corrected an error when calculating item BlueprintChance. Config changes: Loot...
  3. LootBoxes Plus (ARK) V1.21

    Minor optimizations, no config update needed

Latest reviews

cant wait the lootbox trading update our cluster setting would match perfectly with this feature :)
The lootbox system is super easy to edit and the Dev is super helpful. 100% recommend
Excellent Plugin! Very good support from the developer. Highly recommend to anyone. Also, happy to support and help our fellow community ARK plugin developers :)
Best Plugin ever, helps perfectly to finance the server
Top