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

# キャラクター

キャラクターの所持・レベル・経験値を扱います。




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

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

## 概要

4 種類のキャラクター（`knight`、`mage`、`archer`、`healer`）を無償で勧誘し、訓練して経験値とレベルを上げるデモです。勧誘したキャラクターは 1 体ずつ所持枠を使い、**Train a character** に 1 行ずつ並びます。各キャラクターは自分の経験値とレベルを個別に持ち、レベル上限は 10 です。

## 試し方

1. **Recruit a character** で **Recruit knight** などの横にある **Recruit** を押すと、そのキャラクターを 1 体入手します。
1. **Your characters** の **Slots** が `1 of 20 used` のように増えます。同じキャラクターを再度勧誘すると、別の 1 体として追加されます。
1. **Train a character** に入手したキャラクターの行が現れ、**Id** にキャラクター名、**Level** に `1/10` のように現在レベルと上限が表示されます。
1. 行の **Train** を押すと、そのキャラクターだけに経験値が 40 入り、ゲージが伸びます。閾値を超えるとレベルが上がります。
1. 訓練を続けるとレベルは上限の 10 で止まり、それ以上は上がりません。

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

- [GS2-Inventory](/ja/microservices/inventory/): GS2-Inventory の `Character` インベントリが所持枠（初期 20、最大 100）と 4 種類のキャラクターのアイテムモデルを定義し、所持キャラクターを保持します。1 スタック 1 体で複数スタックを許可しているため、同じキャラクターでも 1 体ずつ別の行になります。
- [GS2-Experience](/ja/microservices/experience/): GS2-Experience の経験値モデルが、キャラクターごとの経験値・レベル・レベル上限（初期 10、最大 30）と経験値の閾値を定義します。経験値はキャラクターのアイテムセットごとに個別に管理されます。
- [GS2-Exchange](/ja/microservices/exchange/): GS2-Exchange の交換レートがボタンの処理を定義します。**Recruit** はキャラクターの入手（`Gs2Inventory:AcquireItemSetByUserId`）、**Train** は押したキャラクターへの経験値加算（`Gs2Experience:AddExperienceByUserId`）を、無償のトランザクションとしてサーバー側で実行します。

## GS2 Studio で使う

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

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

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

## ソースコード

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



