# Nástěnka zakázek (/jobs)

> Nabídky a poptávky mezi hráči, odměnu drží server, dokud zadavatel nepotvrdí práci; spory přes ticket. Novinka v 0.3, ve výchozím stavu vypnuto.

Source: https://stygion.eu/cs/docs/keystone/jobs
Updated: 2026-10-25

Novinka v 0.3, modul `jobs`, ve výchozím stavu vypnutý. Hráči vyvěsí práci, kterou nabízejí, nebo kterou chtějí udělat, s odměnou. **Server hlídá obě strany**: odměna při vyvěšení odejde z inventáře zadavatele – celé stacky se všemi komponentami – a server ji drží, dokud zadavatel práci nepotvrdí.

## Jak zakázka probíhá

1. **Vyvěšení**: `/jobs post <offer|request> <sloty hotbaru|-> <název>` – odměna jsou stacky ve slotech hotbaru, které vyjmenuješ (`1,2`), nebo `-` bez odměny. S klientskou částí se odměna vybírá z inventáře na obrazovce.
2. **Převzetí**: `/jobs take <id>`.
3. **Odevzdání**: `/jobs deliver <id>` řekne, že je hotovo.
4. **Potvrzení**: `/jobs confirm <id>` od zadavatele – odměnu dostane ten, kdo práci udělal, nebo ji najde při dalším připojení (`/jobs mail`).

`/jobs cancel <id>`: zadavatel dostane odměnu zpět, dokud je zakázka otevřená (nebo převzatá a po termínu); kdo ji převzal a zruší ji, zakázky se vzdá a ta se vrátí na nástěnku. Zakázka, která je pořád otevřená, když jí vyprší čas (`most-ahead`, 30 dní), se vrátí zadavateli i s odměnou.

**Spory**: `/jobs dispute <id> <důvod>` otevře ticket (modul `tickets`, druh `dispute-kind`, výchozí `report`) a zmrazí odměnu, dokud to tým nerozhodne příkazem `/jobs settle <id> pay|refund` (`keystone.jobs.manage`). Bez modulu tickets spor otevřít nejde.

## Peníze z jiného modu

Odměny jsou jen itemy, dokud nenapíšeš `currency.take-command` i `currency.give-command` (s `{player}`, `{uuid}` a `{amount}`, třeba `eco take {player} {amount}`). **Na vlastní riziko:** Keystone věří jen tomu, co příkaz sám ohlásí, takže příkaz, který hlásí úspěch a peníze nevezme, rozbije úschovu. Peníze se vyplácí jen hráči online; jinak čekají v jeho schránce. `currency.most` omezí jednu odměnu.

## Limity

`most-open` a `most-taken` (po 5 na hráče), `most-on-board` (200), `most-slots` (9 stacků na odměnu), `most-title` (64), `most-details` (300), `post-wait` (30 s mezi dvěma vyvěšeními), `keep-finished` (7 dní se ukazuje; audit drží všechny), `listed` (10 v chatu).

`GET /v1/jobs` (scope `players.read`, `?state=`) vrátí nástěnku. Doplňky slyší `JobChanged`. Oprávnění `keystone.jobs`.
