【Find】
指定した対象を探させます。対象には特定のオブジェクトやNPCなどを指定できる他、Object IDやObjectTypeによる指定も可能。
指定されたものが見つかればProcedureは終了します。逆に見つかるまで、終了することができません。
また検索対象が読み込まれていない(ロードされていない)エリアやセルに存在する場合、発見そのものができません。
このProcedureは行動を伴わないメンタルなものです。多くの場合、他の行動を伴うProcedureとSimultaneous Branchにて同時実行されています。これにより、Travelしながら何かを探し、見つければその発見物に対してなんらかの行動を起こすといったAIの作成が可能です。Acquire、Eat、Sleep、SitなどのAI Templeteで実際の利用法が確認できます。
このProcedureは単体で使用されることはなく、検索結果を他のProcedureに渡すことではじめて意味をなします。Procedure:Waitと並び、扱いこなせばAI作成の幅が飛躍的に広がるとても有用なProcedureでもあります。
―パラメータ―
- SearchLocation: Findで探す範囲。
- TargetSelector: 探す対象。主にSpecific ReferenceやAny Objectを指定します。
- ObjectList: 発見した対象を保存するリスト。SeachLocation内の対象が(見つけられた分)全て列挙されます。他Procedureに検索結果を渡すのに使います(リストに保存された対象はSingleRefの扱いになるようです)。
- SearchOwnInventory: 自身のインベントリを検索範囲に加えるかどうか。
- RandomizeList: ObjectListの中身をランダムに並べ替えるかどうか。Falseの場合、SearchLocationの中心に近いものから順にListに並んでいるようです。