> For the complete documentation index, see [llms.txt](https://lng.gitbook.io/lng-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://lng.gitbook.io/lng-docs/home/kill-rewards/getting-started/profiles-lngstudio-advancedkillrewards-akrshop-json.md).

# profiles\LNGStudio\AdvancedKillRewards\AKRShop.json

### 🛒 AKRShop.json Overview

The `AKRShop.json` file controls the optional Advanced Kill Rewards shop system. Server owners can create purchasable rewards that cost score, regular kills, special target kills, money items, required item turn-ins, or a mix of all of them.

Config location: `profiles/LNGStudio/AdvancedKillRewards/AKRShop.json`

> 💡 The AKR Shop does **not** require TraderX as a hard dependency. The default money examples use TraderX-style currency classnames, but you can replace them with any money/item classnames your server uses.

### ⚙️ Global Shop Settings

These settings control whether the shop is enabled, how it appears in the menu, and how purchases are delivered.

| Property                   | Type     | Description                                                                       |
| -------------------------- | -------- | --------------------------------------------------------------------------------- |
| `Version`                  | `Int`    | Used internally by AKR for shop config updates. Do not manually change.           |
| `ShopEnabled`              | `Int`    | `0` = shop disabled. `1` = shop enabled.                                          |
| `ShopTitle`                | `String` | Title shown at the top of the AKR Shop menu.                                      |
| `ShopSubtitle`             | `String` | Subtitle shown under the shop title.                                              |
| `DropPurchasesOnGround`    | `Int`    | `0` = try to place purchases in inventory. `1` = drop purchases at player’s feet. |
| `AllowOverflowDrop`        | `Int`    | `0` = purchase can fail if inventory is full. `1` = overflow drops on the ground. |
| `AnnouncePurchasesToBuyer` | `Int`    | `0` = no buyer notification. `1` = notify the buyer after purchase.               |

```json
{
    "Version": 2,
    "ShopEnabled": 1,
    "ShopTitle": "AKR SHOP",
    "ShopSubtitle": "Spend score, kills, and special target trophies",
    "DropPurchasesOnGround": 0,
    "AllowOverflowDrop": 1,
    "AnnouncePurchasesToBuyer": 1
}
```

### 💵 RubleCurrencies / Money Items

The `RubleCurrencies` array tells AKR which item classnames count as money and how much each item is worth.

| Property        | Type     | Description                  |
| --------------- | -------- | ---------------------------- |
| `Itemclassname` | `String` | Classname of the money item. |
| `Value`         | `Int`    | How much that item is worth. |

```json
{
    "RubleCurrencies": [
        {
            "Itemclassname": "TraderX_Money_Euro100",
            "Value": 100
        },
        {
            "Itemclassname": "TraderX_Money_Euro50",
            "Value": 50
        },
        {
            "Itemclassname": "TraderX_Money_Euro10",
            "Value": 10
        }
    ]
}
```

> 💡 AKR calculates the total value of all configured currency items in the player’s inventory. If a purchase overpays because of bill size, AKR attempts to give change using the configured currency list.

### 📦 Shop Items Array

The `Items` array is where you add everything players can buy from the AKR Shop.

| Property                     | Type     | Description                                                                         |
| ---------------------------- | -------- | ----------------------------------------------------------------------------------- |
| `Itemname`                   | `String` | Display name shown in the shop.                                                     |
| `Itemclassname`              | `String` | Classname of the item being purchased.                                              |
| `Description`                | `String` | Description shown on the right side of the shop menu.                               |
| `Category`                   | `String` | Category text shown under the item name.                                            |
| `limit`                      | `Int`    | Max purchases per player for this item. `0` = unlimited.                            |
| `Quantity`                   | `Int`    | Amount given. Behavior depends on `QuantityMode`.                                   |
| `QuantityMode`               | `Int`    | `0` = physical item count. `1` = total stack/quantity amount.                       |
| `ItemQuantity`               | `Int`    | Sets ammo/quantity amount on each created item when `QuantityMode` is `0`.          |
| `FillToMaxQuantity`          | `Int`    | `1` = fill ammo/quantity items to max. Overrides `ItemQuantity`.                    |
| `DropOnGround`               | `Int`    | `-1` = use global setting. `0` = inventory. `1` = ground.                           |
| `RequieredScore`             | `Int`    | Minimum score required to unlock the item. Does not subtract score.                 |
| `RequieredKillCount`         | `Int`    | Minimum regular kills required to unlock the item. Does not subtract kills.         |
| `RequieredSpecialKillsCount` | `Int`    | Minimum special kills required to unlock the item. Does not subtract special kills. |
| `Price`                      | `Array`  | Costs that are actually removed from the player when purchased.                     |

```json
{
    "Itemname": "Hunter Ammo Box",
    "Itemclassname": "AmmoBox_762x54_20Rnd",
    "Description": "A score-priced ammunition reward for steady hunters.",
    "Category": "Ammo",
    "limit": 10,
    "Quantity": 1,
    "QuantityMode": 0,
    "ItemQuantity": 0,
    "FillToMaxQuantity": 0,
    "DropOnGround": -1,
    "RequieredScore": 250,
    "RequieredKillCount": 10,
    "RequieredSpecialKillsCount": 0,
    "Price": [
        {
            "itemClassnamePrice": "",
            "qty": 0,
            "RublesPrice": 0,
            "ScorePrice": 250,
            "KillsPrice": 0,
            "SpecialKillsPrice": 0
        }
    ]
}
```

### 💰 Price Array

The `Price` array controls what the player pays. Requirements unlock an item, but prices are what get removed.

| Property             | Type     | Description                                                                          |
| -------------------- | -------- | ------------------------------------------------------------------------------------ |
| `itemClassnamePrice` | `String` | Required item classname to remove from the player as payment. Leave empty if unused. |
| `qty`                | `Int`    | Amount of `itemClassnamePrice` required.                                             |
| `RublesPrice`        | `Int`    | Money value removed using the configured `RubleCurrencies`.                          |
| `ScorePrice`         | `Int`    | Score removed from the player.                                                       |
| `KillsPrice`         | `Int`    | Regular kills removed from the player.                                               |
| `SpecialKillsPrice`  | `Int`    | Special target kills removed from the player.                                        |

```json
{
    "Price": [
        {
            "itemClassnamePrice": "BossHead",
            "qty": 2,
            "RublesPrice": 10000,
            "ScorePrice": 500,
            "KillsPrice": 25,
            "SpecialKillsPrice": 1
        }
    ]
}
```

> 💡 You can combine prices. For example, an item can cost `1000` score, `25` kills, `1` special kill, `10000` money, and `2` boss heads at the same time.

### 🔓 Requirements vs Prices

Requirements and prices are different.

| Field                        | What It Does                                                 |
| ---------------------------- | ------------------------------------------------------------ |
| `RequieredScore`             | Player must have this much score to unlock the item.         |
| `RequieredKillCount`         | Player must have this many regular kills to unlock the item. |
| `RequieredSpecialKillsCount` | Player must have this many special kills to unlock the item. |
| `ScorePrice`                 | Score actually removed when purchasing.                      |
| `KillsPrice`                 | Regular kills actually removed when purchasing.              |
| `SpecialKillsPrice`          | Special kills actually removed when purchasing.              |

Example:

```json
{
    "RequieredScore": 1000,
    "RequieredKillCount": 50,
    "RequieredSpecialKillsCount": 1,
    "Price": [
        {
            "ScorePrice": 500,
            "KillsPrice": 10,
            "SpecialKillsPrice": 1
        }
    ]
}
```

In this example, the player must have `1000` score and `50` kills to unlock the item, but only `500` score, `10` kills, and `1` special kill are removed on purchase.

### 🔫 Quantity, Ammo, Mags & Drinks

AKR supports quantity-based items such as ammo, magazines, drinks, medicine, and other stackable/quantity items.

| Setting             | Behavior                                                                                   |
| ------------------- | ------------------------------------------------------------------------------------------ |
| `QuantityMode: 0`   | `Quantity` means how many physical items to give.                                          |
| `QuantityMode: 1`   | `Quantity` means total stack/quantity amount to give. AKR splits it into stacks if needed. |
| `ItemQuantity`      | Sets the quantity/ammo amount on each created item.                                        |
| `FillToMaxQuantity` | Fills each created quantity item to max.                                                   |

#### Example: Give 2 Full Magazines

```json
{
    "Itemname": "Full AKM Mags",
    "Itemclassname": "Mag_AKM_30Rnd",
    "Description": "Two full AKM magazines.",
    "Category": "Ammo",
    "limit": 0,
    "Quantity": 2,
    "QuantityMode": 0,
    "ItemQuantity": 0,
    "FillToMaxQuantity": 1,
    "DropOnGround": -1,
    "RequieredScore": 0,
    "RequieredKillCount": 0,
    "RequieredSpecialKillsCount": 0,
    "Price": [
        {
            "itemClassnamePrice": "",
            "qty": 0,
            "RublesPrice": 0,
            "ScorePrice": 300,
            "KillsPrice": 0,
            "SpecialKillsPrice": 0
        }
    ]
}
```

#### Example: Give 80 Rounds Total

```json
{
    "Itemname": "Loose 7.62x54 Ammo",
    "Itemclassname": "Ammo_762x54",
    "Description": "Eighty rounds split into valid stacks.",
    "Category": "Ammo",
    "limit": 0,
    "Quantity": 80,
    "QuantityMode": 1,
    "ItemQuantity": 0,
    "FillToMaxQuantity": 0,
    "DropOnGround": -1,
    "RequieredScore": 0,
    "RequieredKillCount": 0,
    "RequieredSpecialKillsCount": 0,
    "Price": [
        {
            "itemClassnamePrice": "",
            "qty": 0,
            "RublesPrice": 0,
            "ScorePrice": 400,
            "KillsPrice": 0,
            "SpecialKillsPrice": 0
        }
    ]
}
```

### 🎁 Example: Basic Score Shop Item

```json
{
    "Itemname": "Field Med Kit",
    "Itemclassname": "FirstAidKit",
    "Description": "A compact recovery kit for hunters who live long enough to spend their score.",
    "Category": "Supplies",
    "limit": 0,
    "Quantity": 1,
    "QuantityMode": 0,
    "ItemQuantity": 0,
    "FillToMaxQuantity": 0,
    "DropOnGround": -1,
    "RequieredScore": 0,
    "RequieredKillCount": 0,
    "RequieredSpecialKillsCount": 0,
    "Price": [
        {
            "itemClassnamePrice": "",
            "qty": 0,
            "RublesPrice": 0,
            "ScorePrice": 150,
            "KillsPrice": 0,
            "SpecialKillsPrice": 0
        }
    ]
}
```

### 👹 Example: Boss Trophy Purchase

This example requires score, regular kills, special kills, money, and a custom boss item.

```json
{
    "Itemname": "Boss Trophy Cache",
    "Itemclassname": "SeaChest",
    "Description": "A premium cache unlocked by special target progress.",
    "Category": "Boss Rewards",
    "limit": 1,
    "Quantity": 1,
    "QuantityMode": 0,
    "ItemQuantity": 0,
    "FillToMaxQuantity": 0,
    "DropOnGround": -1,
    "RequieredScore": 1000,
    "RequieredKillCount": 50,
    "RequieredSpecialKillsCount": 1,
    "Price": [
        {
            "itemClassnamePrice": "BossHead",
            "qty": 2,
            "RublesPrice": 10000,
            "ScorePrice": 1000,
            "KillsPrice": 25,
            "SpecialKillsPrice": 1
        }
    ]
}
```

### 🧾 Full Condensed Example

```json
{
    "Version": 2,
    "ShopEnabled": 1,
    "ShopTitle": "AKR SHOP",
    "ShopSubtitle": "Spend score, kills, and special target trophies",
    "DropPurchasesOnGround": 0,
    "AllowOverflowDrop": 1,
    "AnnouncePurchasesToBuyer": 1,
    "RubleCurrencies": [
        {
            "Itemclassname": "TraderX_Money_Euro100",
            "Value": 100
        },
        {
            "Itemclassname": "TraderX_Money_Euro50",
            "Value": 50
        },
        {
            "Itemclassname": "TraderX_Money_Euro10",
            "Value": 10
        }
    ],
    "Items": [
        {
            "Itemname": "Field Med Kit",
            "Itemclassname": "FirstAidKit",
            "Description": "A compact recovery kit for hunters.",
            "Category": "Supplies",
            "limit": 0,
            "Quantity": 1,
            "QuantityMode": 0,
            "ItemQuantity": 0,
            "FillToMaxQuantity": 0,
            "DropOnGround": -1,
            "RequieredScore": 0,
            "RequieredKillCount": 0,
            "RequieredSpecialKillsCount": 0,
            "Price": [
                {
                    "itemClassnamePrice": "",
                    "qty": 0,
                    "RublesPrice": 0,
                    "ScorePrice": 150,
                    "KillsPrice": 0,
                    "SpecialKillsPrice": 0
                }
            ]
        },
        {
            "Itemname": "Boss Trophy Cache",
            "Itemclassname": "SeaChest",
            "Description": "A premium cache unlocked by special target progress.",
            "Category": "Boss Rewards",
            "limit": 1,
            "Quantity": 1,
            "QuantityMode": 0,
            "ItemQuantity": 0,
            "FillToMaxQuantity": 0,
            "DropOnGround": -1,
            "RequieredScore": 1000,
            "RequieredKillCount": 50,
            "RequieredSpecialKillsCount": 1,
            "Price": [
                {
                    "itemClassnamePrice": "BossHead",
                    "qty": 2,
                    "RublesPrice": 10000,
                    "ScorePrice": 1000,
                    "KillsPrice": 25,
                    "SpecialKillsPrice": 1
                }
            ]
        }
    ]
}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://lng.gitbook.io/lng-docs/home/kill-rewards/getting-started/profiles-lngstudio-advancedkillrewards-akrshop-json.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
