キャプチャーエリア

デバイス

📦 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 は、プレイヤーの出入り、制圧、納品をトリガーにした多彩なインタラクションを実現できるデバイスです。
イベントと関数の理解によって、クリエイティブな演出やバトルシステムを自在に構築できます。

コメント

タイトルとURLをコピーしました