> For the complete documentation index, see [llms.txt](/llms.txt)

# クエスト

プレイヤーが進めるクエストと、その進行状況・クリア報酬を管理します。




**このデモについて**

デモは匿名アカウントで自動的にログインします。このアカウントはショールームのすべてのデモで共有されるため、あるデモで手に入れたアイテムや通貨が別のデモにも反映されます。読み込みには少し時間がかかります。画面が小さい場合は新しいタブで開いてお試しください。

## 概要

3 つのクエスト（**Forest patrol**、**Cave expedition**、**Dragon hunt**）から 1 つを選んで開始し、クリアして報酬を受け取るデモです。開始するとスタミナが減り、クリアすると無償コインが入金されます。初回クリア時だけはボーナスが上乗せされます。同時に進行できるクエストは 1 つだけです。

## 試し方

1. **Pick a quest (one at a time)** で各クエストの費用と報酬を確認します。たとえば **Forest patrol** はスタミナ 10 を消費し、クリアで 10 コイン、初回クリアではさらに 100 コインがもらえます。
1. クエストの **Start** を押すと、**Your stamina** のスタミナがクエストの消費量だけ減り、**Running** に `Running: Forest patrol (10 stamina spent)` のように進行中のクエストが表示されます。
1. クエストの進行中に別のクエストの **Start** を押しても、GS2 が拒否します。
1. **Your quest in progress** の **Complete** を押すと、**Where the coins land** の **Free balance** にクリア報酬と初回クリアボーナスが入金され、そのクエストに **Cleared** が表示されます。
1. 同じクエストをもう一度開始してクリアすると、入金されるのはクリア報酬だけで、初回クリアボーナスは付きません。スタミナが足りないときは **Recover** でスタミナを 5 回復できます。

スタミナの上限は 50 で、1 分ごとに 5 ずつ自然回復します。**Dragon hunt** はスタミナを 30 消費します。

## 使用している GS2 のサービス

- [GS2-Quest](/ja/microservices/quest/): GS2-Quest のクエストグループ `main` が 3 つのクエストを定義し、開始時の消費（スタミナ）、クリア報酬、初回クリア報酬を持ちます。**Start** と **Complete** は GS2-Quest のクライアント向け API で、プレイヤーごとに 1 件の進行状況とクリア済みのクエストを記録します。
- [GS2-Stamina](/ja/microservices/stamina/): GS2-Stamina がスタミナ（上限 50、1 分ごとに 5 回復）を保持し、クエスト開始時に `Gs2Stamina:ConsumeStaminaByUserId` で消費量が差し引かれます。
- [GS2-Money2](/ja/microservices/money2/): GS2-Money2 のウォレットが報酬のコインを受け取ります。クリア時と初回クリア時の報酬は、無償コインとして `Gs2Money2:DepositByUserId` で入金されます。
- [GS2-Exchange](/ja/microservices/exchange/): GS2-Exchange の交換レートが、**Recover** でスタミナを 5 回復するトランザクションを定義します。

## GS2 Studio で使う

GS2 Studio のシンプルモードで **機能を追加** を開き、**クエスト** の **追加** を押すと、この機能を自分のプロジェクトに取り込めます。パッケージを直接指定する場合は **GitHub から追加** を選び、次のパッケージを指定します。

```text
https://github.com/gs2io/gs2-studio-package/tree/main/micro-economy-quest/packages/micro-economy-quest
```

- オーナー: `gs2io`
- リポジトリ: `gs2-studio-package`
- サブディレクトリ: `micro-economy-quest/packages/micro-economy-quest`

## ソースコード

- デモのプロジェクト: <https://github.com/gs2io/gs2-studio-package/tree/main/micro-economy-quest/live-demo>
- 機能パッケージ: <https://github.com/gs2io/gs2-studio-package/tree/main/micro-economy-quest>



