スコアボードを利用する

編集

RPGアツマール内で動作するゲームのスコア(点数)を記録・取得できる仕組みです。

概要

ゲーム内のスコアをサーバーに登録し、ランキングを表示する機能です。 ゲームをプレイするユーザの点数を取得したり、スコアボードごとに上位の点数を取得することができます。

スコアボードの表示

  • スコアボードはRPGアツマール内で動作する、ゲーム毎に値が記録できる仕組みです。各ゲームごとに複数個のスコアボードが利用できるので、スコアボードごとに違うスコアを記録し利用することができます。
  • スコアボードを利用するには、スコアボードIDを指定してスコアの登録を行い、スコアボードIDごとにスコアを取得します。
  • スコア情報はスコアボードIDごとに管理されているため、複数のランキングを利用したい場合などには、異なるスコアボードIDで情報の登録・取得を行ってください。 スコアボードIDはデフォルト1〜10までの半角数字の連番で、API設定ページから30まで設定可能です。

スコアボードについて

スコアボード設定について

  • スコアボードは後述のスコアボード設定画面にて、名前の設定、スコアのリセットを行うことができます。

スコアの保存について

  • プレミアム会員のスコアは半永久的に残り、一般会員のスコアは直近の一定数が残る仕様となっています。 未ログインユーザーは、ランキングの表示はできますがサーバーに保存されません。
  • 利用に際してはヘルプも合わせてご確認下さい。

アツマール公式での利用例

例えば、RPGアツマール公式では次のゲームでこの機能を利用しています。

設置方法

スコアボードを利用するには下記2つの方法が利用できます。

方法場所
アツマール公式プラグインGithub
アツマール API-

公式プラグインの利用方法

公式プラグインでスコアボードを設置するには次のようにします。

  1. プロジェクトのプラグインフォルダに AtsumaruScoreboardsExperimental.js を右クリックし「保存」して設置
  2. イベントに記録・取得・表示イベントの設定
  3. プラグインコマンドでスコアの記録・取得・表示

スコアボードへの記録

スコアボードへの記録


公式プラグインを利用してスコアボードへの記録を行う場合、プラグインコマンドで次のいずれかのように指定します。(どちらでも動作は同じです)

SetRecordToScoreboard {boardId} {variableId}
スコア送信 {boardId} {variableId}

{boardId}にはスコアを記録したいスコアボードのIDを半角数字で指定してください。また、{variableId}にはスコアが格納されている変数のIDを記載してください。


スコアボードへの記録:応用

スコアボードへの記録を行いながら、記録に成功したかチェックする場合、プラグインコマンドで次のいずれかのように指定します。(どちらでも動作は同じです)

SetRecordToScoreboard {boardId} {variableId} {errorVariableId}
スコア送信 {boardId} {variableId} {errorVariableId}

記録に失敗した場合、{errorVariableId}で指定されたIDの変数にエラーメッセージがセットされます。記録に成功した場合は、単に0がセットされます。


スコアボードの表示

スコアボードの表示


公式プラグインを利用してスコアボードへの記録を行う場合、プラグインコマンドで次のいずれかのように指定します。(どちらでも動作は同じです)

DisplayScoreboard {boardId}
スコア表示 {boardId}

{boardId}には表示したスコアボードのIDを半角数字で指定してください。

スコアボードのデータの読み込み

スコアボード内の情報を取得し利用するには、

  1. スコアボードからデータの読み込み
  2. 利用する情報を指定(ターゲットの指定)して変数に格納

の手順が必要です。

公式プラグインを利用してスコアボード内の情報を取得するには、プラグインコマンドで次のいずれかのように指定します。(どちらでも動作は同じです)

FetchRecordsFromScoreboard {boardId}
スコア受信 {boardId}

{boardId}には取得したいスコアボードのIDを半角数字で指定してください。


スコアボード内の情報利用

スコアボード内に格納されている情報を利用するには、事前に上述の方法でスコアボードからデータを読み込み、下記の方法で利用する情報をターゲットとして指定し変数に格納してください。

スコアボード内の情報利用


公式プラグインを利用してスコアボード内の情報を変数に格納するには、プラグインコマンドで次のいずれかのように指定します。(どちらでも動作は同じです)

GetDataFromScoreboardRecords {target} {variableId}
スコア取得 {target} {variableId}

{target}には取得したいターゲットを指定(下部に利用できるターゲットを記載)。{variableId}には格納したい変数のIDを指定してください。

利用できるターゲットの一覧

ターゲット説明
myRecord今回の自己レコードの有無を取得。ある場合は1、ない場合は0がセットされる
myRecord.rank今回の自己レコードのランキング順位を取得。ない場合は0がセットされる
myRecord.score今回の自己レコードのスコアを取得。ない場合は0がセットされる
myRecord.isNewRecord今回の自己レコードが自己新記録かどうかを取得。自己新記録なら1、そうでない場合は0がセットされる
myBestRecord自己ベスト記録の有無を取得。ある場合は1、ない場合(または非ログイン)は0がセットされる
myBestRecord.rank自己ベスト記録のランキング順位を取得。ない場合(または非ログイン)は0がセットされる
myBestRecord.score自己ベスト記録のスコアを取得。ない場合(または非ログイン)は0がセットされる
ranking.lengthランキングデータの長さの取得
ranking[n].rankn+1番目のランキングを取得
ranking[n].userNamen+1番目のランクのユーザ名を取得
ranking[n].scoren+1番目のランクのスコアを取得
errorMessageスコアの読み込みに失敗した場合、エラーメッセージを取得する。成功した場合は0がセットされる

APIを使ったスコアボードの利用方法

スコアボードへの記録

メソッドwindow.RPGAtsumaru.experimental.scoreboards.setRecord(board_id, score)
説明引数のboard_idを指定することによりスコアを記録するスコアボードを指定。
第2引数のscoreでスコアを指定し、記録するスコアの点数を記録。
引数
  • スコアボードID(1〜10までの整数)
  • 記録するスコアの点数
戻り値Promise[void]
リリース日2018/06/15
更新日2018/08/28

スコアボードを表示する

メソッドwindow.RPGAtsumaru.experimental.scoreboards.display(board_id)
説明引数のboard_idを指定することによりスコアを記録するスコアボードを指定してスコアボード表示
引数スコアボードID(1〜10までの整数)
戻り値Promise[void]
リリース日2018/06/15
更新日2018/06/15

スコアボードからデータを読み込み

メソッドwindow.RPGAtsumaru.experimental.scoreboards.getRecords(board_id)
説明引数のboard_idを指定することによりスコアボードの情報を取得
引数スコアボードID(1〜10までの整数)
戻り値Promise[ScoreboardData]
リリース日2018/06/15
更新日2018/06/15

ScoreboardDataオブジェクトについて

名前説明
boardIdnumberボードID
boardNamestringボードの名前
myRecordobject or null今回の自己レコード
myRecord.ranknumber今回の自己レコードのランキング順位
myRecord.scorenumber今回の自己レコードのスコア
myRecord.isNewRecordboolean今回の自己レコードが自己新記録かどうか
myBestRecordobject or null自己ベスト記録。ログインしていないと必ずnullになる
myBestRecord.ranknumber自己ベスト記録のランキング順位
myBestRecord.userNamestring自己ベスト記録のユーザ名
myBestRecord.scorenumber自己ベスト記録のスコア
rankingarrayランキングデータ
ranking.lengthnumberランキングデータの長さ
ranking[n].ranknumbern+1番目のランキング
ranking[n].userNamestringn+1番目のランクのユーザ名
ranking[n].scorenumbern+1番目のランクのスコア

スコアボード設定画面

  • 各ゲームのAPI設定ページから「利用スコアボード数の設定」、「スコアボード名の設定」、「スコアのリセット」が利用できます。

API設定

スコアボード数の設定

  • スコアボードは1ゲームあたり30個まで利用できます。ただし、デフォルトの設定では10個までの設定となっているため、10以上利用する場合はAPI設定ページから利用ボード数を変更してください。

スコアボード名の設定

  • スコアボードには任意で個別に名前を設定することができます。全半角合わせて10文字以内で設定してください。

スコアのリセット

  • 登録済みのスコアをすべて削除することができます。テストで登録したご自分のデータを削除したり、イベントなどで期間を区切ってランキングを扱いたい場合などにご利用ください。

スコアボード設定