機能解説

グローバルサーバー変数

編集

概要

グローバルサーバー変数はRPGアツマール内で動作する、ゲーム毎にユーザー共通の値をサーバーに記録できる仕組みです。

グローバルサーバー変数の概念図

なにができるのか

ユーザー間で共通の値を参照し、トリガーという機能で値を増減・変更させるゲームが作成できます。各ゲームごとに複数個のグローバルサーバー変数が利用できるので、変数ごとに違う値を記録し利用することができます。

以下のような利用を想定しています。

  • プレイヤーみんなで倒すレイドボス(ボスのHPをグローバルサーバー変数に設定、攻撃をトリガーに設定)
  • 全プレイヤーでエンディングまで達成した回数カウントアップ(達成をトリガーにし、変数に+1していく)
  • 毎日100人までしか入れない部屋(一人プレイされるごとにカウントアップしていく変数を制限人数として設定し、毎日0時に0を代入する)
  • 毎週月曜15時に復活するレイドボス(定期実行(毎週)トリガーで月曜0時に、ボスのHPに最大値を代入する)
  • 毎月1日だけ実施されるイベント告知を自動的に表示する(定期実行(毎月)トリガーに文字列型でキャンペーン告知を代入し、翌日は空を代入する)

例えば、次のサンプルゲームではこの機能を利用し、ボスのHPにグローバルサーバー変数を設定しています。

機能詳細

  • グローバルサーバー変数を利用するには、グローバルサーバー変数設定画面から変数自体の設定と、対応するトリガーの設定が必要 です。
  • 新しく変数を作成すると、変数IDが発行されます。IDはすべての変数で一意(ユニーク)の値になっているため、複数の変数を利用したい場合などには、異なるIDで情報の登録・取得を行ってください。
  • 変数が作成されるとトリガーが作成できるようになります。トリガーIDもすべてのトリガーで一意(ユニーク)の値になっているため、複数のトリガーを利用したい場合などには、異なるIDで情報の登録・取得を行ってください。
  • ゲーム内からトリガーIDまたはトリガー名を指定して変数の変更を行うことができます。
  • ゲーム内からグローバルサーバー変数IDまたはグローバルサーバー変数名を指定して現在の値を取得することができます。
  • グローバルサーバー変数は、 各ゲーム100個 まで設定可能です。

グローバルサーバ変数の型について

グローバルサーバ変数には整数値を入れることができる「数値型」と、文字列を入れることができる「文字列型」の2つが存在します。それぞれ数値のみ、文字列のみを入れることができます。変数の型は、変数設定時に選ぶことができます。

トリガーについて

グローバルサーバー変数をゲーム側から操作する機能を「トリガー」と呼びます。現在、トリガーは三種類用意されています。変数に指定できるトリガーは、変数の型ごとに決まっています。例えば「固定値を増減」トリガーを「文字列型」の変数に対して実行することはできません。

トリガー対象詳細
固定値を増減数値型固定値を増減させることができます
最大値・最小値の範囲で増減数値型設定した幅の中で可変の値を増減させることができます
値を代入数値型、文字列型グローバルサーバ変数の値をゲーム内から指定した値に変更することができます
定期実行(毎日)※数値型、文字列型毎日特定の時刻にグローバルサーバ変数の値を自動で変更することができます
定期実行(毎週)※数値型、文字列型毎週特定の時刻にグローバルサーバ変数の値を自動で変更することができます
定期実行(毎月)※数値型、文字列型毎月特定の時刻にグローバルサーバ変数の値を自動で変更することができます
日時指定実行※数値型、文字列型特定の日時に1度だけグローバルサーバ変数の値を自動で変更することができます

※実験的機能のため、動作が不安定になったり、大幅な仕様変更の可能性があります

グローバルサーバー変数の設定項目について

グローバルサーバー変数設定

拡大表示

設定項目詳細
変数名管理しやすいように変数に名前を付けることができます。機能への影響はありません
現在値現在の値です。ゲーム公開前は初期値を設定します
最小値変数の最小値を整数で設定します。※
最大値変数の最大値を整数で設定します。※

※値としてRPGアツマールがサポートしている範囲は -999,999,999,999,999+999,999,999,999,999 です。また文字列型には最大値と最小値は存在しませんが、その長さは最大1,000文字までとなっております。

トリガーの設定項目について

「固定値を増減」トリガーと「最大値・最小値の範囲で増減」トリガーと「値を代入」トリガーが利用可能です。

トリガー設定項目詳細
固定値を増減メモ管理しやすいようにメモを設定できます。機能への影響はありません
差分トリガー実行時にグローバルサーバー変数に与える数値を設定します※1
最大値・最小値の範囲で増減メモ管理しやすいようにメモを設定できます。機能への影響はありません
差分の最小値トリガー実行時にグローバルサーバー変数に与える数値の下限を設定します(これ以下の数値は下限までに切り上げられます)※1
差分の最大値トリガー実行時にグローバルサーバー変数に与える数値の上限を設定します(これ以上の数値は上限にまでに切り捨てられます)※1
値を代入メモ管理しやすいようにメモを設定できます。機能への影響はありません
定期実行(毎日)※2時刻トリガーが発動する時刻を設定できます。現在は各時0分のみ設定可能です
トリガー発動時に加算か代入か、加算なら増加値、代入なら代入値を設定できます
メモ管理しやすいようにメモを設定できます。機能への影響はありません
定期実行(毎週)※2時刻トリガーが発動する時刻を設定できます。現在は各時0分のみ設定可能です
曜日トリガーが発動する曜日(月~日)を設定できます
トリガー発動時に加算か代入か、加算なら増加値、代入なら代入値を設定できます
メモ管理しやすいようにメモを設定できます。機能への影響はありません
定期実行(毎月)※2時刻トリガーが発動する時刻を設定できます。現在は各時0分のみ設定可能です
トリガーが発動する日(1~31)を設定できます
トリガー発動時に加算か代入か、加算なら増加値、代入なら代入値を設定できます
メモ管理しやすいようにメモを設定できます。機能への影響はありません
日時指定実行※2時刻トリガーが発動する時刻を設定できます。現在は各時0分のみ設定可能です
実行日トリガーが発動する実行日(例: 2019-07-16)を設定できます
トリガー発動時に加算か代入か、加算なら増加値、代入なら代入値を設定できます
メモ管理しやすいようにメモを設定できます。機能への影響はありません

※1 値としてRPGアツマールがサポートしている範囲は -999,999,999,999,999+999,999,999,999,999 です。

※2 実験的機能のため、動作が不安定になったり、大幅な仕様変更の可能性があります

定期実行、日時指定実行トリガーの時刻指定と実際の実行に関する注意点

  • 値で加算を指定できるのは数値型のみです
  • 定期実行(毎月)トリガーで日に29, 30, 31を指定した場合、実行されない月が発生する可能性があります(例えば、31を指定すると2,4,6,9,11月は実行されません)
  • 日時指定実行トリガーで過去の日付を指定した場合は実行されません
  • トリガーの実行は、指定した時刻から数分ズレる可能性があります。厳密なゲームルールの一部に組み込むことは推奨しません
  • メンテナンスや障害等でトリガーが実行されない場合や、トリガーの実行時刻が指定時刻から大きくずれる可能性があります
  • トリガーの実行が成功した場合は最終実行日時、失敗した場合はその旨を設定ページで表示しています。失敗した場合は、手動で値を調整するか、次回の実行を待つことになります

利用方法

方式利用方法備考
プラグインプラグインでの利用方法を参照RPGツクールシリーズユーザー向け
APIAPIでの利用方法の「グローバルサーバー変数」項を参考に、APIを実装してください他ゲームエンジンやより高度な利用を必要とするユーザー向け

最終更新日

  • 2020/02/28