> For the complete documentation index, see [llms.txt](https://mango-5m.gitbook.io/mango5m-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mango-5m.gitbook.io/mango5m-docs/resources/mango-achievements/features/claiming-rewards.md).

# Claiming Rewards

What happens when an item reward will not fit, and how the player collects it.

An item reward can fail for a reason that is nobody's fault: the player's inventory was full at the moment the award completed.

Rather than dropping the item or paying it into the void, the award keeps its reward **unclaimed**, and the menu grows a **Claim** button on that row with a *Reward waiting* tag in the description panel.

## What the player does

Presses Claim. The server re-checks that the award really is completed, really has a reward, and really has not already been paid — then hands it over. If there is still no room, the button stays and they are told why.

{% hint style="success" %}
The unclaimed flag lives in the database, so a player can log out with a reward waiting and claim it days later. Nothing is lost to a full bag.
{% endhint %}

## Which rewards get a button

| Reward                   | Claim button                              |
| ------------------------ | ----------------------------------------- |
| Item                     | Yes                                       |
| Multi containing an item | Yes                                       |
| Money                    | No — a bank balance cannot be full        |
| Event                    | No — your own script decides what happens |

## Why not just retry quietly

Retrying on a timer would either pester a player whose inventory is full for an hour, or quietly push an item at them long after they earned it. A button puts them in control and makes it obvious something is owed.

## From your own resources

```lua
local ok, reason = exports['mango_achievements']:ClaimReward(source, 'bank_job')
```

Returns `false` and a human-readable reason when the reward is not owed or still cannot be delivered.

See also [Inventory](/mango5m-docs/resources/mango-achievements/configuration/inventory.md) and [Rewards](/mango5m-docs/resources/mango-achievements/configuration/rewards.md).
