Shop, Currency & Kits

Shop, Currency & Kits 2.8

No permission to download
Features:
  • Add any item, dino, beacon or experience points to the shop
  • Points trading system
  • Create custom kits with items and dinos inside
  • Players can receive points for the time spent on server
  • SQLite or MySQL Database
  • Customizable config
  • Automatically give kits on player spawn
Chat Commands:
  • /points - Shows current amount of points.
  • /buy <ID> <Amount> - Buys the item from shop.
  • /trade <'CharacterName'> <Amount> - Sends points to other player (' ' - are necessary).
  • /kit - Shows all kits.
  • /kit <KitName> - Redeems the kit.
  • /buykit <KitName> <Amount> - Buys a kit (if kit has a price).
  • /shop <Page> - Shows a list of available items in the shop.
  • /sell <ID> <Amount> - Sells an item.
  • /shopsell<Page> - Shows a list of available for selling items.
  • /shophelp - Show custom help message.
Console Commands:
  • AddPoints <SteamID> <Amount> - Adds points to the player.
  • SetPoints <SteamID> <Amount> - Changes player's points amount.
  • GetPlayerPoints <SteamID> - Prints how many points player has.
  • ChangePoints <SteamID> <Amount> - Adds or decreases points amount. This command will add points to the current amount. Entered amount number can be negative.
  • ChangeKitAmount <SteamID> <KitName> <Amount> - Adds or decreases player's kits amount. This command will add kits to the current amount. Entered amount number can be negative.
  • ArkShop.Reload - Reloads a config file.
  • ResetPoints - Resets points for all players.
  • ResetKits - Resets kits for all players.
  • ListInvItems - Lists inventory item blueprint paths to the log file.
RCON Commands:
  • AddPoints <SteamID> <Amount> - Adds points to the player.
  • GetPlayerPoints <SteamID> - Prints how many points player has.
  • SetPoints <SteamID> <Amount> - Changes player's points amount.
  • ChangePoints <SteamID> <Amount> - Works the same way as console command.
  • ChangeKitAmount <SteamID> <KitName> <Amount> - Adds or decreases player's kits amount. This command will add kits to the current amount. Entered amount number can be negative.
  • ArkShop.Reload - Reloads a config file.
Configuration:
JSON:
{
  "General":{
    "TimedPointsReward":{
      "Enabled":true, // Can be true or false.
      "Interval":5, // Interval in minutes.
      "Groups":{ // Amount of points given can be configured per group. Groups can be changed.
        "Default":{ // Default group. Can't be removed.
          "Amount":5 // Amount of points to give. Currently it means: 'give 5 points for every 5 minutes spent online'.
        },
        "Premiums":{
          "Amount":15 // Players in group Premiums receives 15 points instead.
        }
      }
    },
    "ItemsPerPage":15, // Amount of entries per page (for /shop command).
    "ShopDisplayTime":15.0, // Shop display time in seconds.
    "ShopTextSize":1.3, // Shop text size.
    "DbPathOverride":"", // Path to database, if 2 or more servers point to the one database, they will share points/kits amount.
                        // If empty, default path is used.
    "DefaultKit":"vip,starter" // Kits that will be automatically given to players on spawn.
Separated by comma, no whitespace needed. Kits will be attempted to be given in the order. So first one is highest priority for trying.
In the example above on player respawn an attempt will be made to give the player 'vip' kit, if not then 'starter'..
  },
  "Kits":{
    "starter":{ // Name (ID) of the kit.
                // Starter kit example. This kit can be used by everyone. Kit gives dinos and items.
      "DefaultAmount":2, // Amount of free kits.
      "Price":90, // Allows players to buy additional kits. If you remove price, players won't be able to buy it.
      "Description":"Starter kit (carno with saddle)", // Description of the kit.
      "OnlyFromSpawn":true, // Players can receive this kit only on spawn
      "Items":[ // List of items in kit, you can add as many as you want.
        {
          "Amount":1,
          "Quality":0,
          "ForceBlueprint":false,
          "Blueprint":"Blueprint'/Game/PrimalEarth/CoreBlueprints/Items/Armor/Saddles/PrimalItemArmor_CarnoSaddle.PrimalItemArmor_CarnoSaddle'"
        }
      ],
      "Dinos":[ // Can be empty if you don't want to add dinos.
        {
          "Level":10,
          "Blueprint":"Blueprint'/Game/PrimalEarth/Dinos/Carno/Carno_Character_BP.Carno_Character_BP'"
        }
      ]
    },
    "vip":{ // Vip kit example. Only specific groups of players are allowed to use it. This kit gives only dinos.
      "DefaultAmount":1,
      "Description":"Vip kit for premiums (ptero)",
      "Permissions":"Admins,Premiums", // Groups which can use this kit. Remove this option to make kit usable by everyone.
      "Dinos":[
        {
          "Level":20,
          "Neutered":true, // Is dino neutered
          "Blueprint":"Blueprint'/Game/PrimalEarth/Dinos/Ptero/Ptero_Character_BP.Ptero_Character_BP'"
        }
      ]
    },
    "tools":{ // Kit gives only items.
      "DefaultAmount":3,
      "Price":50,
      "MinLevel":1, // Minimum player level required to use this kit
      "MaxLevel":20, // Maximum possible level needed to use this kit
      "Description":"Tools kit (pike and club)",
      "Items":[
        {
          "Amount":1,
          "Quality":0,
          "ForceBlueprint":false,
          "Blueprint":"Blueprint'/Game/PrimalEarth/CoreBlueprints/Weapons/PrimalItem_WeaponPike.PrimalItem_WeaponPike'"
        },
        {
          "Amount":1,
          "Quality":0,
          "ForceBlueprint":false,
          "Blueprint":"Blueprint'/Game/PrimalEarth/CoreBlueprints/Weapons/PrimalItem_WeaponStoneClub.PrimalItem_WeaponStoneClub'"
        }
      ]
    }
  },
  "ShopItems":{
    "ingots100":{ // Item ID, it should not contain white spaces.
      "Type":"item", // Type of the item, can be "item", "dino","beacon" or experience
      "Description":"Metal Ingot (100x)", // Description for the /shop command
      "Price":15,
      "Items":[ // List of items, works the same way as in kits. But only items are allowed here.
        {
          "Quality":0,
          "ForceBlueprint":false,
          "Amount":100,
          "Blueprint":"Blueprint'/Game/PrimalEarth/CoreBlueprints/Resources/PrimalItemResource_MetalIngot.PrimalItemResource_MetalIngot'"
        }
      ]
    },
    "tools":{
      "Type":"item",
      "Description":"Tools (Metal Hatchet, Metal Pick)",
      "Price":5,
      "Items":[
        {
          "Quality":0,
          "ForceBlueprint":false,
          "Amount":1,
          "Blueprint":"Blueprint'/Game/PrimalEarth/CoreBlueprints/Weapons/PrimalItem_WeaponMetalHatchet.PrimalItem_WeaponMetalHatchet'"
        },
        {
          "Quality":0,
          "ForceBlueprint":false,
          "Amount":1,
          "Blueprint":"Blueprint'/Game/PrimalEarth/CoreBlueprints/Weapons/PrimalItem_WeaponMetalPick.PrimalItem_WeaponMetalPick'"
        }
      ]
    },
    "para":{ // Dino
      "Type":"dino",
      "Description":"Parasaurolophus",
      "Level":10,
      "Price":20,
      "MinLevel":10,
      "MaxLevel":15,
      "Blueprint":"Blueprint'/Game/PrimalEarth/Dinos/Para/Para_Character_BP.Para_Character_BP'"
    },
    "carno":{
      "Type":"dino",
      "Description":"Carnotaurus",
      "Level":15,
      "Price":50,
       "Neutered":true,
      "Blueprint":"Blueprint'/Game/PrimalEarth/Dinos/Carno/Carno_Character_BP.Carno_Character_BP'"
    },
    "crate25":{ // Beacon
      "Type":"beacon",
      "Description":"SupplyCrate Lvl 25",
      "Price":100,
      "ClassName":"SupplyCrate_Level25_Double_C"
    },
    "crate2":{
      "Type":"beacon",
      "Description":"Artifact Crate 2",
      "Price":100,
      "ClassName":"ArtifactCrate_2_C"
    },
    "exp1000":{ // Experience
      "Type":"experience",
      "Description":"1000 points of experience",
      "GiveToDino":false, // Can player buy it while riding a dino. If true, experience points can be applied to the dino.
      "Price":55,
      "Amount":1000.0
    },
    "tekengram":{  // Engram
      "Type":"unlockengram",
      "Description":"Engram TEK Boots & Gloves",
      "Price":20,
      "Items":[
        {

"Blueprint":"Blueprint'/Game/PrimalEarth/CoreBlueprints/Items/Armor/TEK/PrimalItemArmor_TekBoots.PrimalItemArmor_TekBoots'"
        },
        {
      "Blueprint":"Blueprint'/Game/PrimalEarth/CoreBlueprints/Items/Armor/TEK/PrimalItemArmor_TekGloves.PrimalItemArmor_TekGloves'"
        }
      ]
    },
    "allengrams":{  // Cheat command
      "Type":"command",
      "Description":"All engrams",
      "Price":1000,
      "Items":[
        {
          "Command":"GiveEngrams" // You can use {steamid} in command to automatically substitute player's steam id.
        }
      ]
    }
  },
"SellItems":{  // Items available for selling. If you use stacks mod, you need to set blueprints from the mod!
    "metal":{
      "Type":"item",   // Only 'item' can be used for now
      "Description":"100x metal",
      "Price":10,  // Amount of points that player will receive for selling this item
      "Amount":100,  // Required quantity
      "Blueprint":"Blueprint'/Game/PrimalEarth/CoreBlueprints/Resources/PrimalItemResource_Metal.PrimalItemResource_Metal'"
    }
   }
}

After server will be started, "ArkShop.db" file will be created in plugins directory. It contains all information about points and kits.

Examples:
Examples (Mods):

Logs:
Logs can be found in 'Win64\ArkApi\Plugins\ArkShop\ShopLog.log'.​

Dependencies:
Installation:
  1. Install ARK: Server API
  2. Copy "ArkShop" folder to "ArkApi/Plugins"
Author
Michidu
Downloads
40,829
Views
40,829
First release
Last update
Rating
4.57 star(s) 68 ratings

More resources from Michidu

Latest updates

  1. 2.8

    Added {steamid} placeholder for buying commands Fixed selling
  2. 2.7

    Added ListInvItems console command to list inventory items blueprints Added more anti-crash...
  3. 2.6

    Added MySQL support Added unload support Added API function to temporarily disable shop Code...

Latest reviews

If you have a problem with the Steam ID-based point accumulation system, you can solve it by sharing the folder with each server.
By sharing one folder with each server.
Because data is accumulated in only one place.
You can match points for each map.
Very Cool Plugin, but no real in depth guide, how would I go about setting certain players in groups to earn more points than others.
updated both permissions/shop and api but still doesnt seem to work with steamIDs
If you update ArkApi this plugin works, perfect plugin
Something is wrong with the registration of the points, it shares the amount of points over the whole server. And I cant use commands like changekitamount or something. pls fix
shop is acting like every user has the exact same steam id all points/kits are shared among all players and across all maps for EX if one player uses a base kit on one map it uses every players base kit on all maps. i also have ShopRewards installed and if one player kills a dino for points every player logged into every map gets the points and if one buys ingots it takes points from what now seems like a global single database taht all share
It is the same thing that happens to me.
Something is wrong with the registration of the players at the base.
it gives everyone the same ID, so if uni has 100 points, they all have 100 points since they all have the same ID.
same problem ccabae
mate. after update of today the arkshop dont work more. i use mysql. befor of update is working
I'd love to use it but when im chaning the config the server wont start :(
Top