> For the complete documentation index, see [llms.txt](https://wiki.hesovodoupe.cz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wiki.hesovodoupe.cz/slimefun/shop.md).

# Shop

## Otevření obchodu

Jak na to:

Napište do chatu `/shop` a stiskněte Enter.

Zobrazí se okno s barevnými ikonkami – každá ikona představuje jednu kategorii.

Najeto na ikonu kategorie (její název a iconka) vám ukáže stručný popis („Klikni pro otevření kategorie“).

## Expirace itemů

Pokud item někdo nezakoupí do 7 reálných dní, vrátí se Vám do inventáře.

## Procházení kategorií a nákup

Když kliknete na vybranou kategorii, otevře se nové okno:

* **Kategorie GUI**: v horní liště je název (např. „Shop: Jídlo“).
* **Rozložení**:
  * Každý slot obsazený předmětem ukazuje jednu „nejlevnější“ nabídku.
  * Pokud existuje hráčská nabídka pro daný item, zobrazí se jako první.
  * Pokud žádná hráčská nabídka neexistuje, zobrazí se běžný item za pevnou „serverovou cenu“.
* **Ukázka hráčské nabídky** (příklad pro „Jablko“):
  * **Název ikonky**: „Prodej \<jmeno\_hrace> (\<mnozstvi>×)“
  * **Lore (popisek)**
    1. ID nabídky
    2. Cena (za kus)
    3. „Klikni pro výběr množství“
  * Pokud tedy někdo nabízí 100 jablek za 8.0 kostiček měny/ks a je to nejlevnější nabídka, zobrazí se ikonka Jablka s textem „Prodej HráčXYZ (100×)“ a v popisku uvidíte ID a jednotkovou cenu.

<figure><img src="/files/nAYmodiaUtIpNWh09O9D" alt=""><figcaption></figcaption></figure>

* **Ukázka serverové nabídky** (když žádný hráč neprodává):
  * **Název ikonky**: „Jablko“
  * **Lore**
    1. „Serverová cena (za ks): 10.0“
    2. „Klikni pro výběr množství“
*

```
<figure><img src="/files/Rn57iQIEzEpBTLb3R32k" alt=""><figcaption></figcaption></figure>
```

## Výběr množství k nákupu

* **Kliknutí na položku** (hráčskou či serverovou) vás dostane do **tenkého GUI pro výběr množství**.
* **Červené sklo**: „−15“, „−10“, „−1“ (snižuje požadované množství)
* **Zelené sklo**: „+1“, „+10“, „+15“ (zvyšuje požadované množství)
* Uprostřed (slot č. 13) je reálný item, který kupujete, s **počet v názvu** (např. „Jablko x5“) a v popisku:
  1. „Množství: 5“
  2. „Celková cena: 40.00“ (5 × 8.0)
  3. „Klikni pro potvrzení nákupu“
* **Jak upravovat množství**:
  * Klikněte na červené („−“) nebo zelené („+“) sklo. S každým kliknutím se změní číslo u prostředního itemu.
  * Pokud se snažíte zvýšit množství nad limit (`dostupné množství` u hráčské nabídky, nebo neomezeně u serveru), plugin vás upozorní červenou zprávou „Tato hráčská nabídka neobsahuje více itemů.“
  * Když máte množství nastaveno na hodnotu, kterou chcete, **klikněte přímo na prostřední item** („Jablko x5“) pro **potvrzení nákupu**.
* Po potvrzení se obratem:
  * **U hráčských nabídek**:
    * Z vašeho účtu se strhne *celková cena* (5 × 8.0 = 40).
    * Prodávajícímu (hráči, který nabídku vytvořil) se okamžitě přičte 40 (minus případné poplatky, pokud jsou nastaveny).
    * Pokud prodávající offline, uloží se mu zpráva („Tvoje nabídka ID XYZ byla prodána...“) a peníze mu přibydou do Vaultu.
    * Nabídka se aktualizuje:
      * Pokud zbylo méně kusů, než jste koupili, zůstane nová snížená nabídka.
      * Pokud jste koupili vše, položka se odstraní ze seznamu.
  * **U serverových nabídek**:
    * Z vašeho účtu se strhne *celková cena* (např. 5 × 10.0 = 50).
    * Předměty (5 × jablko) vám ihned přibudou do inventáře.

## Nabídka vlastních předmětů k prodeji

1. Držte ve své ruce **stack itemů** (např. 20 × jablko), který chcete nabídnout.
2. Napište do chatu:

   ```
   /shop sell <cena>
   ```

   * `<cena>` je cena za **1 kus**, kterou chcete nastavit.
   * **Podmínka**: Musí být nižší než serverová cena, ale maximálně 20 % pod ní. (Pokud serverová cena jablka je 10.0, nejnižší povolená cena je 8.0.)
3. Pokud je všechno v pořádku, váš stack (20 × jablko) se sníží z inventáře a nabídka se uloží s novým ID (např. „abc12345“). Zobrazí se vám zpráva:

   ```
   Nabídka uložena s ID abc12345. Item: JABLKO (20×) za 8.0 (za kus).
   ```
4. Ihned dostanete potvrzení v chatu a vaše nabídka se automaticky zobrazí v příslušné kategorii (v okně obchodu).

## Zrušení vlastní nabídky

Pokud si přejete nabídku zrušit (např. chcete vrátit zbývající předměty zpět do inventáře), napište:

```
/shop cancel <ID>
```

* `<ID>` je osmimístné ID, které jste obdrželi při vytvoření nabídky (např. „abc12345“).
* Po úspěšném zrušení se zbylé položky vrátí do vaší aktuální inventáře.
* Pokud jste zrušili správné ID a měli jste například 5 kusů stále na prodej, dostanete je zpět.
* Získáte v chatu potvrzení:

  ```
  Nabídka abc12345 zrušena; 5× JABLKO vráceno do inventáře.
  ```
* V kódu je zajištěno, aby se nikdo nemohl pokusit koupit nabídku současně, během rušení.

## Zobrazení vlastních nabídek

* Příkaz:

  ```
  /shop own
  ```
* Po zadání se vám zobrazí seznam všech vašich aktuálně neprodaných nabídek ve formátu:

  ```
  ID   Item    Množství   Cena (za ks)
  abc12345   JABLKO   15   8.0
  def67890   DIAMANT  3    40.0
  ```
* Pokud momentálně žádné nabídky nemáte, uvidíte zprávu:

  ```
  Žádné aktivní nabídky.
  ```
