[カスタム条件] Baz値比較条件

BazValueCompareCondition

ゲーム内の任意の2つの値を > >= = <= < != で比較するカスタム条件です。値としては、データベースのセル、オブジェクトまたはプロジェクト変数、オブジェクトまたはプロジェクトスイッチ、または型付き定数を指定できます。これは AGMaker のネイティブな「スイッチ/変数変更」条件に、それまで欠けていたソースである「ユーザーデータベース」を加えたものと考えてください。

これはコミュニティからの要望から生まれました:アイテムや装備の数を、アイテムごとにプロジェクト変数を用意してごまかすことなく、多数のオブジェクト間でリアルタイムにチェックする方法です。今では単一の条件でデータベースを直接読み取ることができます。

私の活動を支援するには、パトロンになることを検討してください。 :folded_hands:

ダウンロード:
v1.2:
BazValueCompareCondition.gd (14.5 KB)

  • エクスポートされたゲームを修正。 条件はエディターでは正常に動作していましたが、エクスポートされたゲームでは読み込まれず、それを使用する状態がエクスポート後に機能しなくなっていました。今ではエクスポートでも正しく読み込まれます。報告してくれた @Tenchi399 さんに感謝します!

v1.1:
BazValueCompareCondition.gd (14.4 KB)

  • Vector2 値の比較が可能に。 Vector2 のデータベースセルを、別の Vector2 セルや定数と = および != でチェックできます。両方の軸が一致する必要があります。
  • Vector2 定数。 定数フィールドに 0,0 または (0, 0) と入力すると、ベクトルとして読み取られます。
  • > < >= <= はベクトルには適用されません。テキストの場合と同じです。

v1.0 (初回リリース):
BazValueCompareCondition.gd (13.1 KB)

要件

AGMaker 1.3.0 以上

インストール

  1. BazValueCompareCondition.gd(下記添付)をダウンロードします。
  2. プロジェクトの custom_conditions/ フォルダにドラッグ&ドロップします。そのフォルダが存在しない場合は、プロジェクトのルートに作成してください。custom_conditions/compare/ のようなサブフォルダでも問題ありません。
  3. 完了です。条件の追加 ダイアログの 変数 グループに表示されます。有効化などの操作は不要です。

機能概要

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 は数値比較です。同じフィールドを使用します。
  • オブジェクト変数とオブジェクトスイッチはこのオブジェクトのみを読み取ります(所有者)。グローバル値にはプロジェクト変数またはデータベースを使用してください。
  • テキストに対する > と < は実用的な効果がありません。 テキストと選択値には = と != を使用してください。
「いいね!」 6

v1.1:

  • Vector2値の比較が可能に。 Vector2データベースセルは、他のVector2セルまたは定数と = や != で比較できます。両方の軸が一致する必要があります。
  • Vector2定数。 定数フィールドに 0,0 または (0, 0) と入力すると、ベクトルとして認識されます。
  • > < >= <= はベクトルには適用されません。テキストの場合と同じです。

v1.2:

  • エクスポートされたゲームの修正。 条件はエディターでは正常に動作していましたが、エクスポートされたゲームでは読み込めず、それを使用する状態がエクスポート後に機能しなくなっていました。現在はエクスポート時に正しく読み込まれるようになりました。