返信先: ARMA3 ミッションエディットスレ

ホーム フォーラム TRI Gaming フォーラム ARMA3 ミッションエディットスレ 返信先: ARMA3 ミッションエディットスレ

#286425
アバター画像michy_REV19
キーマスター

TSP Breach アドオン環境下におけるドア施錠の挙動について

今年7月のプリセット更新にて、ドアブリーチ関連のシステムを追加するBreachアドオンが導入されました。
とても面白い機能なのですが、サーバー上でのよくわからん挙動がエディターの皆様の悩みの種かと思います。
この挙動に関していろいろ検証してきたので、とりあえず明らかになったことを情報共有します。
なお、検証環境は2023/09/17更新のプリセットで、使用アセットにはバニラのもののみを使用しました。

Breachアドオンが導入される前後のミッションで挙動が違う?
これは嘘です。
「アセットブラウザから配置した建物の施錠」と「MAP上に初期配置された建物の施錠」のどちらの方法でも、ミッションのsqmファイルにはBreach関連のコードが挿入されることはないため、アドオンを読み込んでいるかどうかで挙動が変わることは無いと思われます。

アセットブラウザから配置した建物の施錠
・ローカル環境:機能する
・サーバー環境:機能しない
アセットブラウザから配置して[Attributes ⇒ Special States]から施錠をした建物については、マルチプレイ環境では施錠が有効になりません。
おそらく、これはBreachアドオンの有無に関係なく発生する問題で、内部スクリプトのバグによるものかと思われます。

MAP上に初期配置された建物の施錠
・ローカル環境:機能する
・サーバー環境:機能しないことがある
Edit Terrain Objectモジュールを使用して施錠した建物については、施錠が機能しないことがあります。
こちらについてはまだ検証しきれていないのですが、おそらく「MAP上に初期配置された建物を確率で施錠する機能」のコードと処理が被ってしまっているのかと予想しています。
Addon OptionのBlacklistを使えばいい感じになるかも?

エディター側での対応策
denbo72さんがスクリプト公開スレにていいかんじのを公開してくださってるのでこれ使いましょう。

MAPに初期配置された建物に適用したいときは、以下の手順で名前をつけましょう。
①3DENで該当MAPを開き適当なユニットを配置してプレビューを開始する
②施錠したい建物の前に立つ
③デバッグコンソールのWatchフィールドでgetObjectID cursorObjectを入力し戻り値の数値(“”はいらない)をメモする
④3DENの編集画面に戻りGame Logicを配置する
⑤Game LogicのInitフィールドにbldg1= [0,0,0] nearestObject 【③の戻り値】;を入力する
bldg1がthisの代わりに使えます