ユーザー定義ステータスの編集


ユーザー定義ステータス画面

  • ユーザー定義ステータスの一覧が表示されます。
ユーザー定義ステータス画面
ユーザー定義ステータス画面
  • ユーザー定義ステータスではステータスタブに表示するステータスを設定することができます。
ステータスタブに表示
ステータスタブに表示
  • 設定したステータスはスクリプト(設定.lua)内で更新すると反映されます。
  • スクリプトの編集方法については『スクリプトの編集』を参照して下さい。
  • また、他のステータスと同様に『ステータス.json』ファイルへ保存されるので、一旦終了しても前回の状態から開始することができます。
  • 『アオハル魂爆発回数を保持してステータスタブに表示したい』等、スクリプト内で変数をモニタして保持したい場合に利用します。
  • ユーザー定義ステータスの利用例は『設定:デフォルト.lua』のonTraining関数のコメントに記述されているのでまずはそちらを参照してください。
onTraining関数
onTraining関数

編集方法

  • リストの何もない場所をダブルクリックするか右クリックのポップアップメニューから『新規作成』を選択するとユーザー定義ステータスを新規作成して編集できます。
  • リストに登録された項目をダブルクリックするか右クリックのポップアップメニューから『編集』を選択すると設定されているユーザー定義ステータスを編集できます。
新規作成と編集
新規作成と編集
  • 右クリックのポップアップメニューから『複製』を選択することにより、項目を複製することが可能です。
  • 複製した項目は自動的に新しい名前がつけられて新規追加されます。
複製機能
複製機能
  • また、複数の項目を選択して複製や削除を行うことも可能です。
複数の項目を複製
複数の項目を複製

ステータス名

  • 名前にはステータス名を設定します。ここで設定したステータス名がステータスタブに表示される項目になります。
  • ステータス名は内部で使用されているものと衝突が起きないように、先頭に『ユーザー定義:』という接頭辞が自動的に追加されます。
ステータス名
ステータス名
  • このステータス名はスクリプトでg_statusのテーブル内を参照する時にも使用します。

g_status["ユーザー定義:アオハル魂爆発回数"]

  • この様に記述すると設定したステータスを参照することができます。
  • 『ユーザー定義:』という文字列は『PREFIX.USER_DEFINED』として定義されているので以下のように記述しても参照することができます。

g_status[PREFIX.USER_DEFINED .. "アオハル魂爆発回数"]


有効期間

  • 有効期間は『育成』『永続』『一日』から選択します。
有効期間の設定
有効期間の設定
  • 『育成』に設定すると育成終了までの間のみ有効なステータスとなり、育成開始時に初期化されます。
  • 内部で使用している『体力』等も同様に育成開始時に初期化され、育成終了までの間のみ有効なステータスとなっています。
  • 『永続』に設定したステータスは『ステータス.json』ではなく『ステータス:永続.json』に保存され、育成開始時に初期化はされずに永続的に有効になります。
  • 『一日』に設定したステータスも『永続』と同様に育成開始時に初期化はされませんが、日付変更後(0:00変更ではなく5:00変更)に実行を開始すると初期化される仕様になっています。

定数名

  • 定数名は『STATUS.NAME』といった定数と同様に『STATUS.USER.設定した定数名』として定義され、ステータス名が『ユーザー定義:』込みで入る仕様になっています。
定数名の設定
定数名の設定

g_status[STATUS.USER.AOHARU_EXPLOSION_COUNT]

  • この様に定数名を記述することによってもステータス名を記述した場合と同様に、ステータスを参照することができます。
  • 基本的には定数名を記述して参照することを推奨します。
  • 定数名には英数字かアンダーバーのみ利用できます。また、先頭の文字を数字にすることはできません。
先頭を数字にすることはできない
先頭を数字にすることはできない
  • 同じ定数名が複数存在すると下の方で定義されているステータス名に上書きされます。
  • 定数名は一意になるように設定してください。
STATUS.USER.AOHARU_EXPLOSION_COUNTは"アオハル魂爆発回数 (1)"になる
STATUS.USER.AOHARU_EXPLOSION_COUNTは"アオハル魂爆発回数 (1)"になる

setStatus関数

  • ステータスはg_status[ステータス名]で参照することができますが、ステータスを更新したい場合は値を直接代入するのではなく、setStatus関数を利用して更新する必要があります。
  • これはツール上に反映させるためで、以下のように記述してもスクリプト内のステータスは更新されますが、ステータスタブの値は更新されません。

-- g_status[STATUS.USER.AOHARU_EXPLOSION_COUNT]に直接代入

g_status[STATUS.USER.AOHARU_EXPLOSION_COUNT] = 0

  • ステータスを更新する場合は以下のように記述します。

-- setStatus関数で代入

setStatus( STATUS.USER.AOHARU_EXPLOSION_COUNT, 0 )

  • ステータスを更新せずに参照のみ行う場合は他のステータス同様、以下のように記述します。

-- g_status[STATUS.USER.AOHARU_EXPLOSION_COUNT]が10より少ないか比較

if g_status[STATUS.USER.AOHARU_EXPLOSION_COUNT] < 10 then


データ型

  • ステータスのデータ型は『整数』『文字列』『真偽値』の3種類があります。
  • setStatus関数でステータスを更新する場合は設定したデータ型と一致した値を指定する必要があります。
データ型の設定
データ型の設定
  • 内部で使用している『やる気』などのステータスはテーブルが入っていますが、ユーザー定義ステータスにテーブルは利用できません。

整数

  • 整数は各種数値のステータスや回数をカウントして保持したい時に利用します。
  • データ型が整数のステータスに文字列や小数などをsetStatus関数で代入するとステータスタブに『不明』と表示されます。
テスト用のステータスを用意
テスト用のステータスを用意

-- 文字列を代入

setStatus( STATUS.USER.TEST_INT, "テスト" )

不明になる
不明になる

文字列

  • 文字列は名前などを保持したい時に利用します。
  • データ型が文字列のステータスに数値をsetStatus関数で代入すると文字列に変換されて文字列として保持されます。

-- 数値を代入

setStatus( STATUS.USER.TEST_STRING, 0 )

文字列の"0"として保持される
文字列の"0"として保持される

真偽値

  • 真偽値は~状態になっているか等のフラグを保持したい時に利用します。
  • データ型が真偽値のステータスにはtrueかfalseのみしか代入することはできません。
  • 真偽値以外の値を代入するとステータスタブに『不明』と表示されます。

-- g_status[STATUS.USER.TEST_STRING]と数値の0を比較

setStatus( STATUS.USER.TEST_BOOL, g_status[STATUS.USER.TEST_STRING] == 0 )

文字列の"0"と数値の0は別なのでfalseになる
文字列の"0"と数値の0は別なのでfalseになる

初期値

  • 初期値にはステータスが初期化された時の値を設定します。
初期値の設定
初期値の設定
  • ステータスが初期化されるタイミングは有効期間が『育成』の場合は育成開始時、『永続』の場合は最初の一回のみ、『一日』の場合は日付変更後に実行開始した時になります。
  • 初期値にはデータ型に一致する値を設定する必要があります。
データ型が真偽値の初期値に数値を設定することはできない
データ型が真偽値の初期値に数値を設定することはできない
  • 初期値を空に設定すると、データ型が文字列の場合は空文字で初期化され、データ型が文字列以外の場合はnilになります。

ステータス表示

  • 『ステータスを表示する』にチェックを入れるとステータスタブに表示されます。
ステータス表示の設定
ステータス表示の設定
  • ステータスを非表示にしたい場合はチェックを外します。

サンプルのダウンロード

  • 編集したユーザー定義ステータスは『ユーザー定義ステータス.csv』に保存されます。
  • ウマサポ本体には付属していませんので各自で設定する必要があります。
  • サンプルとして画像の状態のcsvファイルを用意していますので、必要に応じでダウンロードしてください。
サンプルの状態
サンプルの状態