BazValueCompareCondition
私の活動をサポートしたい場合は、パトロンになる ことを検討してください。![]()
ゲーム内の任意の2つの値を > >= = <= < != で比較するカスタム条件です。値としては、データベースのセル、オブジェクトまたはプロジェクト変数、オブジェクトまたはプロジェクトスイッチ、または型付き定数が使用できます。これは、AGMaker 独自の「スイッチ/変数変更」条件に、それまで欠けていた唯一のソースである「ユーザーデータベース」を追加したようなものです。
これはコミュニティからの要望から生まれました。多くのオブジェクト間でリアルタイムにアイテムや装備の数量をチェックしたいが、アイテムごとにプロジェクト変数を偽装して作成するのは面倒だという声です。これにより、単一の条件でデータベースを直接読み取れるようになりました。
ダウンロード:
BazValueCompareCondition.gd (13.1 KB)
要件
AGMaker 1.3.0 以降
インストール方法
BazValueCompareCondition.gd(以下添付)をダウンロードします。- プロジェクトの
custom_conditions/フォルダに移動してファイルをドロップします。このフォルダが存在しない場合は、プロジェクトのルートに作成してください。custom_conditions/compare/のようなサブフォルダでも構いません。 - それだけです。条件の追加 ダイアログで 変数 / 変数 グループの下に表示されます。有効化は不要です。
機能
AGMaker の「スイッチ/変数変更」条件を引き継ぎ、ユーザーデータベースを含む任意のソースを任意の他のソースと比較できるようにします。
- 何でも何でも比較可能。 左側と右側の両方について、定数、オブジェクト変数、プロジェクト変数、オブジェクトスイッチ、プロジェクトスイッチ、データベースのいずれかを指定できます。
- ユーザーデータベースを読み取ります。 これがネイティブ条件にはなかった機能です。データベース、レコード、列をドロップダウンから選択するだけで、ID の入力は不要です。
- 値のタイプに自動適応。 数値は 6 つの演算子をすべて使用し、安全な浮動小数点比較を行います。テキストや選択値には
=と!=を使用します。スイッチやブール値は true/false として読み取られます。「タイプ」を選択する必要はありません。 - 至る所でドロップダウン。 データベース、レコード、列、プロジェクト変数とスイッチ、現在のオブジェクト自身の変数とスイッチがすべてリストされ、フリーテキストによる代替入力も可能です。
- 自己完結型で共有可能。 1 つのファイルのみで、依存関係はゼロ。誰でも安全に共有できます。
使用方法
状態または遷移にこの条件を追加し、以下の 3 つを設定します:左 → 演算子 → 右。
左ソース は読み取る対象です:
- データベース → データベース → レコード → 列(例:database_001 → record1 → column0)
- プロジェクト変数 / プロジェクトスイッチ → 名前を選択
- オブジェクト変数 / オブジェクトスイッチ → このオブジェクト自身の値を読み取る
- 定数 → 数値(10)またはテキスト(Sword)を入力
演算子 は > >= = <= < != のいずれかです。
右ソース は左側と同じ選択肢から選べます。
例:ポーション数のチェック。左 = データベース / database_001 / potions / count、演算子 = >=、右 = 定数 3。これで、アイテムごとの変数なしに、すべてのオブジェクトでプレイヤーが 3 つ以上のポーションを持っている場合に true となります。
ヒント
- テキストとして保存された数値でも動作します。 データベースの数値セルは文字列として返されるため、条件側で自動的にパースされます。
"5" >= 3は true です。 - 定数はテキストにも数値にも対応。 Sword に対して
=で比較すればテキスト比較、>= 3で比較すれば数値比較になります。同じフィールドです。 - オブジェクト変数とオブジェクトスイッチは、このオブジェクト(所有者)のみを読み取ります。 グローバルな値を使用する場合は、プロジェクト変数またはデータベースを使用してください。
- テキストに対する
>と<は実用的ではありません。 テキストや選択値については、=と!=のみを使用してください。
