グローバルサーバー変数APIを利用する

編集
この機能は実験的な機能であり、将来仕様が変更される可能性があります。予めご了承ください。

APIを使ったグローバルサーバー変数の利用方法について解説します。予め、グローバルサーバー変数設定画面で変数及びトリガーの設定を済ませておく必要があります。

グローバルサーバー変数取得

グローバルサーバー変数のIDを指定し、現在値、最大値、最小値、変数名を取得します。

メソッドwindow.RPGAtsumaru.experimental.globalServerVariable.getGlobalServerVariable(globalServerVariableId: number)
説明引数に指定した globalServerVariableId のグローバルサーバー変数の情報を取得する
引数グローバルサーバー変数ID (自然数) ※グローバルサーバー変数設定画面で設定
戻り値Promise<GlobalServerVariableData>
リリース日2018/12/17
更新日2019/06/17

戻り値の型 GlobalServerVariableData について

戻り値で取得できる GlobalServerVariableData は以下のような型です。

interface GlobalServerVariableData {
  name: string,
  maxValue: number,
  minValue: number,
  value: number | string,
}

プロパティの内容は次のようになっています。

プロパティ名内容
valuenumber &#124 stringグローバルサーバー変数の現在値
minValuenumberグローバルサーバー変数の最小値(変数が文字列型の場合は常に0になります)
maxValuenumberグローバルサーバー変数の最大値(変数が文字列型の場合は常に0になります)
namestringグローバルサーバー変数の変数名

戻り値の例

// window.RPGAtsumaru.experimental.globalServerVariable.getGlobalServerVariable(1).then(function(v) { console.log(v) }) を実行
{
  "name": "レイドボスHP",
  "maxValue": 10000,
  "minValue": 0,
  "value": 1234
}

起こりうるエラーの種類

名前説明
BAD_REQUEST
  • 指定したグローバルサーバー変数IDがそのゲームのものではない
  • 引数として不正な値を指定している
INTERNAL_SERVER_ERRORRPGアツマールのサービス側で何らかの問題が発生しているか、または通信に失敗した
API_CALL_LIMIT_EXCEEDED短時間にRPGアツマール ゲームAPIを利用しすぎて、一時的に利用を制限されている

グローバルサーバー変数取得(名前指定型)

グローバルサーバー変数の変数名を指定し、現在値、最大値、最小値、変数名を取得します。

メソッドwindow.RPGAtsumaru.experimental.globalServerVariable.getGlobalServerVariableByName(globalServerVariableName: string)
説明引数に指定した globalServerVariableName のグローバルサーバー変数の情報を取得する
引数グローバルサーバー変数名 (文字列) ※グローバルサーバー変数設定画面で設定
戻り値Promise<GlobalServerVariableData>
リリース日2019/06/17
更新日2019/06/17

戻り値の型 GlobalServerVariableData について

戻り値で取得できる GlobalServerVariableData は以下のような型です。

interface GlobalServerVariableData {
  name: string,
  maxValue: number,
  minValue: number,
  value: number | string,
}

プロパティの内容は次のようになっています。

プロパティ名内容
valuenumber &#124 stringグローバルサーバー変数の現在値
minValuenumberグローバルサーバー変数の最小値(変数が文字列型の場合は常に0になります)
maxValuenumberグローバルサーバー変数の最大値(変数が文字列型の場合は常に0になります)
namestringグローバルサーバー変数の変数名

戻り値の例

// window.RPGAtsumaru.experimental.globalServerVariable.getGlobalServerVariableByName("変数1").then(function(v) { console.log(v) }) を実行
{
  "name": "変数1",
  "maxValue": 0,
  "minValue": 0,
  "value": "ハロルド"
}

起こりうるエラーの種類

名前説明
BAD_REQUEST
  • 指定したグローバルサーバー変数名が見つからない
  • 指定したグローバルサーバー変数名が複数存在する
  • 引数として不正な値を指定している
INTERNAL_SERVER_ERRORRPGアツマールのサービス側で何らかの問題が発生しているか、または通信に失敗した
API_CALL_LIMIT_EXCEEDED短時間にRPGアツマール ゲームAPIを利用しすぎて、一時的に利用を制限されている

トリガー発動

予め設定したトリガーIDを指定して、グローバルサーバー変数の値を変化させます。

メソッドwindow.RPGAtsumaru.experimental.globalServerVariable.triggerCall(triggerId: number, value?: number &#124 string)
説明引数に指定したtriggeridのトリガーを発動させる
引数
  • triggerId: トリガーID (自然数) ※グローバルサーバー変数設定画面で設定
  • value: 変数を増減させる値/変数に設定する値 (「最大値・最小値の範囲で増減」トリガーと「値を代入」の場合のみ指定可能)
戻り値Promise<void>
リリース日2018/12/17
更新日2019/06/17
  • 引数 value はトリガーの種別が「最大値・最小値の範囲で増減」「値を代入」のときのみ指定可能です。 -「固定値を増減」トリガーの場合は指定しないでください。

トリガーの呼び出し例

// 1番トリガーの実行(1番トリガーはvalueが不要なトリガー)
window.RPGAtsumaru.experimental.globalServerVariable.triggerCall(1)
  .then(function() { /* 後続処理 */ })
// 2番トリガーの実行を実行して、変数の値に777加算する(2番トリガーは数値変数に付いた「ゲーム内で増減値を指定して実行」トリガー)
window.RPGAtsumaru.experimental.globalServerVariable.triggerCall(2, 777)
  .then(function() { /* 後続処理 */ })
// 3番トリガーの実行を実行して、変数に「ぬるぽ」という文字列を代入する(3番トリガーは文字変数に付いた「ゲーム内で設定値を指定して実行」トリガー)
window.RPGAtsumaru.experimental.globalServerVariable.triggerCall(3, "ぬるぽ")
  .then(function() { /* 後続処理 */ })

起こりうるエラーの種類

名前説明
BAD_REQUEST
  • 指定したトリガーIDがそのゲームのものではない
  • 「固定値を増減」トリガーで value を指定した
  • 「最大値・最小値の範囲で増減」トリガーで value を省略した
  • 引数として不正な値を指定している
INTERNAL_SERVER_ERRORRPGアツマールのサービス側で何らかの問題が発生しているか、または通信に失敗した
API_CALL_LIMIT_EXCEEDED短時間にゲームAPIを利用しすぎて、一時的に利用を制限されている

トリガー発動(名前指定型)

予め設定した変数名とトリガー名を指定して、グローバルサーバー変数の値を変化させます。

メソッドwindow.RPGAtsumaru.experimental.globalServerVariable.triggerCallByName(globalServerVariableName:string, triggerName: string, value?: number &#124 string)
説明引数に指定した変数名とトリガー名のトリガーを発動させる
引数
戻り値Promise<void>
リリース日2019/06/17
更新日2019/06/17
  • 引数 value はトリガーの種別が「最大値・最小値の範囲で増減」「値を代入」のときのみ指定可能です。 -「固定値を増減」トリガーの場合は指定しないでください。

トリガーの呼び出し例

// 1番トリガーの実行(1番トリガーはvalueが不要なトリガー)
window.RPGAtsumaru.experimental.globalServerVariable.triggerCallByName("数値変数1", "増減値指定済み1")
  .then(function() { /* 後続処理 */ })
// 2番トリガーの実行を実行して、変数の値に777加算する(2番トリガーは数値変数に付いた「最大値・最小値の範囲で増減」トリガー
window.RPGAtsumaru.experimental.globalServerVariable.triggerCallByName("数値変数2", "可算トリガー1", 777)
  .then(function() { /* 後続処理 */ })
// 3番トリガーの実行を実行して、変数に「ぬるぽ」という文字列を代入する(3番トリガーは文字変数に付いた「値を代入」トリガー)
window.RPGAtsumaru.experimental.globalServerVariable.triggerCallByName("文字列変数1", "代入トリガー1", "ぬるぽ")
  .then(function() { /* 後続処理 */ })

起こりうるエラーの種類

名前説明
BAD_REQUEST
  • 指定したグローバルサーバ変数名が見当たらないか複数存在
  • 指定したトリガー名が見当たらないか複数存在
  • 「固定値を増減」トリガーで value を指定した
  • 「最大値・最小値の範囲で増減」トリガーで value を省略した
  • 引数として不正な値を指定している
INTERNAL_SERVER_ERRORRPGアツマールのサービス側で何らかの問題が発生しているか、または通信に失敗した
API_CALL_LIMIT_EXCEEDED短時間にゲームAPIを利用しすぎて、一時的に利用を制限されている

グローバルサーバー変数一括取得

ゲームに定義されているグローバルサーバー変数とトリガーの情報をすべて取得します。

メソッドwindow.RPGAtsumaru.experimental.globalServerVariable.getAllGlobalServerVariables()
説明グローバルサーバー変数とトリガーの情報をすべて取得する
戻り値Promise<GlobalServerVariableDefinition[]>
リリース日2019/3/5
更新日2019/3/5

戻り値の型 GlobalServerVariableDefinition について

戻り値で取得できる GlobalServerVariableDefinition は以下のような型です。

interface GlobalServerVariableDefinition {
  globalServerVariableId: number,
  name: string,
  maxValue: number,
  minValue: number,
  value: number | string,
  triggers: GlobalServerVariableTrigger[]
}

interface GlobalServerVariableTrigger {
    triggerId: number;
    triggerType: string;
    triggerName: string | null;
    memo: string | null;
    argument1: string | null;
    argument2: string | null;
    argument3: string | null;
    argument4: string | null;
    argument5: string | null;
}

プロパティの内容は次のようになっています。

プロパティ名内容
globalServerVariableIdnumberグローバルサーバー変数ID
valuenumberグローバルサーバー変数の現在値
minValuenumberグローバルサーバー変数の最小値
maxValuenumberグローバルサーバー変数の最大値
namestringグローバルサーバー変数の変数名
triggersGlobalServerVariableTrigger[]トリガー一覧
triggerIdnumberトリガーID
triggerTypestringトリガー種別
  • callableByGames: 固定値を増減
  • specifiedValue: 最大値・最小値の範囲で増減
  • setValue: 値を代入
triggerNamestring | nullトリガー名
memostring | nullトリガー管理用メモ
argument1~5string | nullトリガー種別ごとに異なる値が入ります
  • 固定値を増減:
    • argument1: 差分
  • 最大値・最小値の範囲で増減:
    • argument1: 差分の最小値
    • argument2: 差分の最大値

戻り値の例

// window.RPGAtsumaru.experimental.globalServerVariable.getAllGlobalServerVariables().then(function(v) { console.log(v) }) を実行
[
  {
    "name": "スコア",
    "maxValue": 100000,
    "minValue": 0,
    "value": 41,
    "globalServerVariableId": 2,
    "triggers": [
      {
        "triggerType": "callableByGames",
        "memo": "スコアアップ",
        "triggerName": "スコアアップ"
        "argument1": "1",
        "argument2": null,
        "argument3": null,
        "argument4": null,
        "argument5": null,
        "triggerId": 1
      },
      {
        "triggerType": "specifiedValue",
        "memo": "ボーナス",
        "triggerName": "",
        "argument1": "5",
        "argument2": "50",
        "argument3": null,
        "argument4": null,
        "argument5": null,
        "triggerId": 12
      }
    ]
  }
]

起こりうるエラーの種類

名前説明
INTERNAL_SERVER_ERRORRPGアツマールのサービス側で何らかの問題が発生しているか、または通信に失敗した
API_CALL_LIMIT_EXCEEDED短時間にRPGアツマール ゲームAPIを利用しすぎて、一時的に利用を制限されている