SetEncounterActive(int, object)
エンカウンターのアクティブ、もしくは非アクティブを設定します。
void SetEncounterActive( int bNewValue, object oEncounter = OBJECT_SELF );
Parameters
bNewValue
アクティブにしたければTRUE、非アクティブにしたければFALSE
oEncounter
アクティブ、非アクティブを設定するエンカウンター(デフォルト: OBJECT_SELF)
Description
oEncounterのアクティブ状態をnNewValueへ設定します。
エンカウンターが消耗されたときは、エンカウンターは自身を“非アクティブ”に設定するでしょう。
エンカウンターが“連続”再出現に設定されているならば、エンカウンターは再出現の時間を過ぎるごとに自身を“アクティブ”に設定するでしょう。
SetEncounterActive関数を使って、エンカウンターをアクティブにする時を正確にコントロールしたいのであれば、あなたはエンカウンターに"Single Shot"設定を使う必要があります。
Remarks
From Victor Morales:
私はSetEncounterActive関数を一日の異なる時間ごとにクリーチャーを出現するために、使っています。例えば、夜の時間に墓でアンデッドだけ出現させたかったのです。
もし、エンカウンターのアクティブフラグが(ツールセットのエンカウンターGUIで作成された時に)FALSEに設定されていれば、SetEncounterActiveは最初、正確にクリーチャーを出現させるでしょう。クリーチャーはOnEnterイベントが有効チェックされる前に出現するように設定されているようです。加えて、一度アクティブフラグが設定されるとエンカウンターがトリガされる次の時まで元の状態へ戻ることはないでしょう。
私は夜に正確に出現するアンデッドを得ましたが、しかしそれは彼らが一度出現した場合だけでした - つまり日が変わって、日中の時間に少なくとも一回以上出現した場合です。そのときにトリガは再び正確に動作しました。
私はOnEnterでフラグをアクティブに設定し、クリーチャーが出現し、OnExitで非アクティブに再設定するようにしました。しかし、それも前の動作と同じでした。
Version
1.28
See Also
functions: | GetEncounterActive | GetEncounterSpawnsCurrent |
categories: | Encounter Functions |
author: Tom Cassiotis, editor: Charles Feduke, additional contributor(s): Victor Morales, Paul Haynes, JP team: Redondo
Send comments on this topic.