📦 capture_area_device とは?
プレイヤーがエリアに入ることで効果を発動できるトリガーゾーンを作成するデバイスです。
チームによる制圧、スコア加算、アイテム納品、占有状態の監視など、さまざまな使い方が可能です。
🧠 イベント一覧(プレイヤーの出入り・状態変化)
| イベント名 | 発火条件 | 用途例 |
|---|---|---|
AgentEntersEvent | 誰かが入った | 入場時に転送・効果発動 |
AgentExitsEvent | 誰かが出た | 退出ログやリセット処理 |
FirstAgentEntersEvent | 最初の1人が入った | 初動イベントのトリガー |
LastAgentExitsEvent | 最後の1人が出た | 無人状態の検出 |
AreaIsContestedEvent | 複数チームで争っている | 警告エフェクト |
AreaIsScoredEvent | スコア加算された | 得点時の通知 |
ControlChangeStartsEvent | 制圧開始 | 制圧エフェクト表示 |
ControlChangeEvent | 制圧完了 | 勝利エリア判定など |
ItemIsDeliveredEvent | アイテムが届けられた | 納品チェック |
ItemIsConsumedEvent | アイテムが消費された | リソース処理など |
💻 サンプルコード
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
sample_manager := class(creative_device):
#キャプチャーエリアをUEFNで登録
@editable
var MyCaptureArea: capture_area_device = capture_area_device{}
# ゲーム開始時に実行される
OnBegin<override>()<suspends>: void =
# キャプチャーエリアに誰かが入ったときに呼び出されるイベントに登録
MyCaptureArea.AgentEntersEvent.Subscribe(OnAgentEntered)
# キャプチャーエリアにプレイヤーが入ったときに呼び出される
OnAgentEntered(Agent: agent): void =
Print("中にはいったよ")
🛠 操作関数(エリア状態の制御)
Enable()/Disable():エリアの有効・無効切り替えAllowCapture()/DisallowCapture():制圧の可否切り替えGiveControl(Agent):指定プレイヤーのチームに制圧権を与えるNeutralize():制圧状態を中立に戻すReset():制圧状態を全チームでリセットActivateObjectivePulse()/DeactivateObjectivePulse():目標パルス(UIや視覚演出)を切り替える
📏 範囲設定と状態取得
SetHeight(Height: float):キャプチャー範囲の高さ(縦方向)を設定SetRadius(Radius: float):キャプチャー範囲の半径(横方向)を設定GetHeight()/GetRadius():現在の範囲サイズを取得IsInArea(Agent):指定プレイヤーが範囲内にいるかチェックGetAgentsInVolume():範囲内にいるすべてのプレイヤーを取得
💡 活用イメージ
- 誰かがエリアに入った瞬間に転送 →
AgentEntersEvent+Teleport() - 制圧完了時に報酬付与 →
ControlChangeEvent - 納品系クエスト →
ItemIsDeliveredEvent - 誰もいなくなったときにアラート →
LastAgentExitsEvent
🔚 まとめ
capture_area_device は、プレイヤーの出入り、制圧、納品をトリガーにした多彩なインタラクションを実現できるデバイスです。
イベントと関数の理解によって、クリエイティブな演出やバトルシステムを自在に構築できます。

コメント