• Hello, Guest! This is a public service announcement;

    GameServersHub is an official Tebex partner! Developers are now protected by chargeback protection and more!: Click Me (To Learn More)

ArkShop

Free ArkShop 3.02

No permission to download
All Creds to @Michidu who created the plugin initially.


Shop, Currency & Kits

Original Author:

@Michidu

Maintainer:
@Lethal @Pelayori @Foppa @WETBATMAN

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
ArkShop Addons: (Official)
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:
{
  "Mysql": {
    "UseMysql": false,
    "MysqlHost": "localhost",
    "MysqlUser": "apitest",
    "MysqlPass": "12345",
    "MysqlDB": "apitest",
    "MysqlPort": 3306
  },
  "General": {
    "Discord": { //Used for discord Logging
      "Enabled": false,
      "SenderName": "ArkShop",
      "URL": "" //Webhook for discord channel
    },
    "TimedPointsReward": {
      "Enabled": true, //If true player will receive points based on how much time they play for
      "StackRewards": false, //If true player will receive the sum of all the rewards of the groups he's in.
      "Interval": 30,
      "Groups": {
        "Donator-Diamond": { //Permission group name
          "Amount": 40
        },
        "Donator-Platinum": { //Permission group name
          "Amount": 40
        },
        "Donator-Gold": { //Permission group name
          "Amount": 40
        },
        "Verified": { //Permission group name
          "Amount": 30
        },
        "Default": { //Permission group name
          "Amount": 20
        }
      }
    },
    "GiveDinosInCryopods": true, //provides dinos from the /buy command in cryopods or soul traps (if UseSoulTraps is true)
    "UseSoulTraps": false, //Use Dino Storage V2 Mod Soul Traps instead of Vanilla Cyropods
    "CryoLimitedTime": false, //Sets a 60 minute expire time
    "CryoItemPath": "", //ONLY USE IF YOU ARE USING CUSTOM VANILLA CRYOPODS Leave blank otherwise (data structure the mod uses must be identical)
    "ItemsPerPage": 25,
    "ShopDisplayTime": 5,
    "ShopTextSize": 1,
    "DbPathOverride": "",
    "DefaultKit": ""
  },
  "Kits": {
    "starter": {
      "DefaultAmount": 2,
      "Price": 90,
      "Description": "Starter kit (carno with saddle)",
      "OnlyFromSpawn": true,
      "Items": [
        {
          "Amount": 1,
          "Quality": 0,
          "ForceBlueprint": false,
          "Armor": 80, //This will force the saddle to have 80 Armor value
          "Blueprint": "Blueprint'/Game/PrimalEarth/CoreBlueprints/Items/Armor/Saddles/PrimalItemArmor_CarnoSaddle.PrimalItemArmor_CarnoSaddle'"
        }
      ],
      "Dinos": [
        {
          "Level": 10,
          "Blueprint": "Blueprint'/Game/PrimalEarth/Dinos/Carno/Carno_Character_BP.Carno_Character_BP'"
        }
      ]
    },
    "vip": {
      "DefaultAmount": 1,
      "Description": "Vip kit for premiums (ptero)",
      "Permissions": "Admins,Premiums",
      "Dinos": [
        {
          "Level": 20,
          "Neutered": true,
          "Blueprint": "Blueprint'/Game/PrimalEarth/Dinos/Ptero/Ptero_Character_BP.Ptero_Character_BP'"
        }
      ],
      "Commands": [
        {
          "Command": "GiveEngrams",
          "DisplayAs": "Gives you all engram unlocks" //Only used in the Shop UI to display instead of the command itself
        }
      ]
    },
    "tools": {
      "DefaultAmount": 3,
      "Price": 50,
      "MinLevel": 1,
      "MaxLevel": 20,
      "Description": "Tools kit (pike and club)",
      "Items": [
        {
          "Amount": 1,
          "Quality": 0,
          "Damage": 300, //this will force the pike to have 300% damage
          "ForceBlueprint": false,
          "Blueprint": "Blueprint'/Game/PrimalEarth/CoreBlueprints/Weapons/PrimalItem_WeaponPike.PrimalItem_WeaponPike'"
        },
        {
          "Amount": 1,
          "Quality": 0,
          "Durability": 300, //this will force the Club to have 300 durability
          "ForceBlueprint": false,
          "Blueprint": "Blueprint'/Game/PrimalEarth/CoreBlueprints/Weapons/PrimalItem_WeaponStoneClub.PrimalItem_WeaponStoneClub'"
        }
      ]
    }
  },
  "ShopItems": {
    "ingots100": {
      "Type": "item",
      "Description": "Metal Ingot (100x)",
      "Price": 15,
      "Items": [
        {
          "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": {
      "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": "Male Carnotaurus",
      "Level": 15,
      "Price": 50,
      "Neutered": true,
      "Gender": "male", //Give male dino
      "SaddleBlueprint": "Blueprint'/Game/PrimalEarth/CoreBlueprints/Items/Armor/Saddles/PrimalItemArmor_CarnoSaddle.PrimalItemArmor_CarnoSaddle'",
      "Blueprint": "Blueprint'/Game/PrimalEarth/Dinos/Carno/Carno_Character_BP.Carno_Character_BP'"
    },
    "carno2": {
      "Type": "dino",
      "Description": "Female Carnotaurus",
      "Level": 15,
      "Price": 50,
      "Neutered": true,
      "Gender": "female", //Give female dino
      "SaddleBlueprint": "Blueprint'/Game/PrimalEarth/CoreBlueprints/Items/Armor/Saddles/PrimalItemArmor_CarnoSaddle.PrimalItemArmor_CarnoSaddle'",
      "Blueprint": "Blueprint'/Game/PrimalEarth/Dinos/Carno/Carno_Character_BP.Carno_Character_BP'"
    },
    "carno3": {
      "Type": "dino",
      "Description": "Random Gender Carnotaurus",
      "Level": 15,
      "Price": 50,
      "Neutered": true,
      "Gender": "random", //Give random gender dino (this can be removed to also produce a random gender)
      "SaddleBlueprint": "Blueprint'/Game/PrimalEarth/CoreBlueprints/Items/Armor/Saddles/PrimalItemArmor_CarnoSaddle.PrimalItemArmor_CarnoSaddle'",
      "Blueprint": "Blueprint'/Game/PrimalEarth/Dinos/Carno/Carno_Character_BP.Carno_Character_BP'"
    },
    "crate25": {
      "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": {
      "Type": "experience",
      "Description": "1000 points of experience",
      "GiveToDino": false,
      "Price": 55,
      "Amount": 1000.0
    },
    "tekengram": {
      "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": {
      "Type": "command",
      "Description": "All engrams",
      "Price": 1000,
      "Items": [
        {
          "Command": "GiveEngrams",
          "DisplayAs": "Gives you all engram unlocks" //Only used in the Shop UI to display instead of the command itself
        }
      ]
    }
  },
  "SellItems": {
    "metal": {
      "Type": "item",
      "Description": "100x stone",
      "Price": 10,
      "Amount": 100,
      "Blueprint": "Blueprint'/Game/Mods/Stack50/Resources/PrimalItemResource_Stone_Child.PrimalItemResource_Stone_Child'"
    }
  },
  "Messages": {
    "Sender": "ArkShop",
    "BoughtItem": "<RichColor Color=\"0, 1, 0, 1\">You have successfully bought item</>",
    "BoughtDino": "<RichColor Color=\"0, 1, 0, 1\">You have successfully bought dino</>",
    "BoughtBeacon": "<RichColor Color=\"0, 1, 0, 1\">You have successfully bought beacon</>",
    "BoughtExp": "<RichColor Color=\"0, 1, 0, 1\">You have successfully bought experience</>",
    "ReceivedPoints": "<RichColor Color=\"1, 1, 0, 1\">You have received {0} points! (total: {1})</>",
    "HavePoints": "You have {0} points",
    "NoPoints": "<RichColor Color=\"1, 0, 0, 1\">You don't have enough points</>",
    "WrongId": "<RichColor Color=\"1, 0, 0, 1\">Wrong id</>",
    "NoPermissionsKit": "<RichColor Color=\"1, 0, 0, 1\">You don't have permission to use this kit</>",
    "CantBuyKit": "<RichColor Color=\"1, 0, 0, 1\">You can't buy this kit</>",
    "BoughtKit": "<RichColor Color=\"0, 1, 0, 1\">You have successfully bought {0} kit</>",
    "AvailableKits": "Available kits for you:",
    "NoKits": "No available kits",
    "KitsLeft": "You have {0} {1} kits left",
    "NoKitsLeft": "You don't have {0} kits left",
    "CantGivePoints": "<RichColor Color=\"1, 0, 0, 1\">You can't give points to yourself</>",
    "RidingDino": "<RichColor Color=\"1, 0, 0, 1\">You can't buy this item while riding a dino</>",
    "SentPoints": "<RichColor Color=\"0, 1, 0, 1\">You have successfully sent {0} points to {1}</>",
    "GotPoints": "You have received {0} points from {1}",
    "NoPlayer": "<RichColor Color=\"1, 0, 0, 1\">Player doesn't exist</>",
    "FoundMorePlayers": "<RichColor Color=\"1, 0, 0, 1\">Found more than one player with the given name</>",
    "BuyUsage": "Usage: /buy id amount",
    "ShopUsage": "Usage: /shop page",
    "KitUsage": "Usage: /kit KitName",
    "BuyKitUsage": "Usage: /BuyKit KitName amount",
    "TradeUsage": "Usage: /trade 'Player Name' amount",
    "PointsCmd": "/points",
    "TradeCmd": "/trade",
    "BuyCmd": "/buy",
    "ShopCmd": "/shop",
    "KitCmd": "/kit",
    "BuyKitCmd": "/buykit",
    "SellCmd": "/sell",
    "ShopSellCmd": "/shopsell",
    "SellUsage": "Usage: /sell id amount",
    "NotEnoughItems": "<RichColor Color=\"1, 0, 0, 1\">You don't have enough items ({0}/{1})</>",
    "SoldItems": "<RichColor Color=\"0, 1, 0, 1\">You have successfully sold items</>",
    "BadLevel": "<RichColor Color=\"1, 0, 0, 1\">Required level: {0} - {1}</>",
    "KitsListPrice": "Price: {0}",
    "KitsListFormat": "\"{0}\" - {1}. {2} left. {3}\n",
    "StoreListDino": "{0}) {1}. Level: {2}. Id: {3}. Price: {4}\n",
    "StoreListItem": "{0}) {1}. Id: {2}. Price: {3}\n",
    "StoreListFormat": "{0}",
    "OnlyOnSpawnKit": "This kit can be used only on spawn",
    "HelpCmd": "/shophelp",
    "ShopMessage": "Usage: /buy id amount",
    "HelpMessage": "This is shop help message",
    "RefundError": "Points refunded due to an error",
    "ShopFindCmd": "/shopfind",
    "ShopFindUsage": "Usage: /shopfind searchterm",
    "ShopFindNotFound": "No items matched your search",
    "ShopFindTooManyResults": "Too many results to display refine your search term",
    "NoPermissionsStore": "<RichColor Color=\"1, 0, 0, 1\">You don't have permission to buy this {0}!</>",
    "InventoryIsFull": "<RichColor Color=\"1, 0, 0, 1\">Unable to redeem your kit, inventory full!</>"
  }
}

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"
Nitrado Console Servers Partner
Author
Foppa
Downloads
382,337
Views
382,337
First release
Last update
Rating
5.00 star(s) 3 ratings

More resources from Foppa

Latest updates

  1. 3.02

    Fixed TotalPointsSpent not being logged Added override for /trade if not wanting to use the UI...
  2. 3.0.1

    Added Sell/Trade UI support (Requires ArkShopUI 1.01+) Added Gender selection (optional config...
  3. 3.0

    Re-upload with fixed config and additional clarification in the commented.json (plugin did not...

Latest reviews

I trust the program, a little tricky but its good
Could do with an extra tab or two perhaps the option to add them yourself or categorize the items.

Dino - all dino's into this catagory
Consumables - all eatable stuff in this catagory
Resources - all useable items in this catagory
Gear - all gear skins, saddles in this catagory
Structures & Bp - just what it says
Misc - everything else you can't place

This will help the player navigate much faster.
Other than that, I love it.

Thanks for this it's awesome.
Nights
Hands down the best Ark plugin designed along with the UI mod. Easy to setup and to make a less grindy experience for players.
D
Very easy setup, works perfectly
Nitrado Console Servers Partner
Top