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'"
            }
          ]
        },
        "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
25
Type
Digital product
License duration
Unlimited
First release
Last update
Rating
5.00 star(s) 2 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

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